0

クラスタリングの適切な類似度を見つけるのに問題があります。約 3000 個のセットの配列があり、各セットには特定のドメインの機能 (数字、色、日、アルファベットなど) が含まれています。私の問題を例で説明します。

2 つの配列 (a1 と a2) しかなく、それらの間の類似性を見つけたいとします。各配列には 4 つのセットが含まれ (実際の問題では、配列ごとに 250 セット (ドメイン) あります)、セットは空にすることができます。

a1: {a,b}, {1,4,6}, {mon, tue, wed}, {red, blue,green}
a2: {b,c}, {2,4,6}, {}, {blue, black}

Jaccardインデックス (J として示される)を使用した類似度測定が付属しています。

sim(a1,a2) = [J(a1[0], a2[0]) + J(a1[1], a2[1]) + ... + J(a1[3], a2[3])]/4

注: 0 と 1 の間の類似性を維持するために、セットの総数 (上の例では 4) で割ります。

Is this a proper similarity measure and are there any flaws in this approach. 関連するドメイン間の類似性(つまり、色と色など)を比較したいので、各セットに個別に Jaccard インデックスを適用しています。

私の問題に対する他の適切な類似性尺度を認識していません。さらに遠く、can I use this similarity measure for clustering purpose?

4

1 に答える 1

1

これは、ほとんどのクラスタリング アルゴリズムで機能するはずです。k-means を使用しないでください。数値ベクトル空間のみを処理できます。しかし、セットのベクトル型のデータがあります。

4 つの Jaccard 測定値を組み合わせるために、算術平均とは異なる平均を使用することができます。調和的または幾何学的手段を試してください。250 を超える値の平均は、常に 0.5 に近い可能性が高いため、より「積極的」な平均が必要です。

だから計画は良さそうだ。試してみて、この類似性を実装し、さまざまなクラスタリング アルゴリズムにプラグインして、何かが見つかるかどうかを確認してください。OPTICS プロットは、距離関数に基づいて何かが見つかるかどうか (またはない!) を非常に示すことができるため、データと距離関数を探索するのに OPTICS が好きです。プロットが平坦すぎる場合は、データ セット内の距離の代表的なサンプルのようなものです...

私はELKIを使用していますが、カスタム距離関数を追加するためのチュートリアルもあります: http ://elki.dbs.ifi.lmu.de/wiki/Tutorial/DistanceFunctionsですが、好きなツールを使って距離を計算して書くことができますそれらを類似度マトリックスに変換します。3000 個のオブジェクトでは、これは非常に扱いやすいままです。4200000 個の double は、ほんの数 MB です。

于 2012-10-10T06:46:02.047 に答える