回答:
さて、という本があります
デザ、ミシェルマリー、エレナデザ。
距離百科事典。
スプリンガーベルリンハイデルベルク、2009年。ISBN978-3-642-00233-5
この本は私があなたの質問に私よりもうまく答えると思います...
データに最も適した距離関数を選択します。
たとえば、緯度と経度では、Haversineのような距離を使用します。CPUが十分にある場合は、Vincentyのようなより良い近似を使用できます。
ヒストグラムでは、分布基準距離を使用します。アースムーバー(EMD)、発散、ヒストグラムの交差、二次形式距離など
バイナリデータでは、たとえば、Jaccard、Dice、またはHammingは非常に理にかなっています。
テキストなどの非バイナリスパースデータでは、tf-idfの重みとコサインのさまざまなバリアントが一般的です。
おそらく、さまざまな距離関数とクラスタリングを試すのに最適なツールはELKIです。これには多くの距離があり、これらすべての距離で使用できる多くのクラスタリングアルゴリズムがあります(例:OPTICS)。たとえば、キャンベラ距離は私にとって非常にうまくいきました。それはおそらく私が「デフォルト」として選択するものです。
使用する距離関数は、データジオメトリ自体によって異なります。場合によっては、データをプロットして視覚化してから決定を下すことができますが、実際の問題ではほとんど不可能です。
Kmeansのようなほとんどのクラスタリングアルゴリズムでは、距離関数がメトリックである限り、それを使用できます。データのクラスタリングに使用できるデータジオメトリに従ってメトリックを学習する方法が存在します。
メトリック学習は、次元削減と密接に関連しています。
MATLABを使用している場合は、このツールキットを確認してください。