web-dev-qa-db-ja.com

k-medoidの距離測定がk-meansよりも「優れている」のはなぜですか?

K-meansクラスタリングとk-medoidクラスタリングの違いについて読んでいます。

おそらく、k-meansで見つけた分散を評価するために、より馴染みのある2乗ユークリッド距離タイプメトリックの合計の代わりに、k-medoidアルゴリズムでペアワイズ距離測定を使用することには利点があります。そして、明らかに、この異なる距離メトリックは、何らかの方法でノイズと外れ値を減らします。

私はこの主張を見たことがありますが、この主張の背後にある数学についての正当な理由はまだわかりません。

K-medoidで一般的に使用されるペアワイズ距離測定の改善点は何ですか?より正確には、二乗項の欠如により、k-medoidが中央値を取るという概念に関連する望ましい特性を持つことができますか?

26
Matt O'Brien

1. K-medoidはより柔軟です

まず第一に、any類似性尺度でk-medoidを使用できます。ただし、K-meansは収束に失敗する可能性があります。実際には、meanと一致する距離でのみ使用する必要があります。例えばAbsolute Pearson Correlationはk-meansでは使用できませんが、k-medoidではうまく機能します。

2.メドイドの堅牢性

第二に、k-medoidで使用されるmedoidはmedianにほぼ匹敵します(実際、k-mediansもあり、これはK-マンハッタンの距離を意味します)。中央値に関する文献を調べると、多くの説明と例が表示されます中央値は算術平均よりも外れ値に対してより堅牢です。基本的に、これらの説明と例はmedoidにも当てはまります。これは、k-meansで使用される平均よりも代表的なポイントのrobust推定値です。

この1次元の例を考えてみましょう。

_[1, 2, 3, 4, 100000]
_

このセットの中央値とmedoidは両方とも3です。平均は20002です。

データセットのより代表的なものはどれだと思いますか?平均の誤差はより低い二乗ですが、このデータセットに測定誤差があるかもしれないと仮定すると...

技術的には、統計ではbreakdown pointの概念が使用されます。中央値の内訳点は50%です(つまり、データ点の半分は正しくない可能性があり、結果はまだ影響を受けません)が、平均値の内訳点は0です(つまり、1つの大きな観測値が悪い推定値をもたらす可能性があります)。

証拠はありませんが、medoidには中央値と同様のブレークダウンポイントがあると思います。

3. k-medoidsははるかに高価です

それが主な欠点です。通常、PAMはk-meansよりも実行に時間がかかります。すべてのペアワイズ距離の計算を伴うため、O(n^2*k*i);一方、k-meansはO(n*k*i)で実行されます。通常、k倍の反復回数は_k*i << n_です。

30
Anony-Mousse

これはクラスターの中心の選択に関係していると思います。 k-meansはクラスターの「中心」を選択し、k-medoidはクラスターの「最も中央にある」メンバーを選択します。外れ値(クラスターの他のメンバーから遠く離れたポイント)を持つクラスターでは、k-meansはクラスターの中心を外れ値に向けて配置しますが、k-medoidはよりクラスター化されたメンバー(medoid)の1つをセンター。

現在、クラスタリングの使用目的によって異なります。オブジェクトの束を分類したいだけなら、中心がどこにあるかはあまり気にしません。しかし、クラスタリングを使用して、それらの中心点に基づいて新しいオブジェクトを分類するディサイダーをトレーニングする場合、k-medoidは、人間が中心を配置する場所により近い中心を提供します。

ウィキペディアの言葉で:

「[k-medoid]は、ユークリッド距離の2乗の合計ではなくペアワイズ非類似度の合計を最小化するため、k-meansと比較してノイズや外れ値に対してより堅牢です。」

以下に例を示します。

K = 2の1つの次元でクラスタリングしたいとします。 1つのクラスターのメンバーのほとんどは1000前後で、もう1つのクラスターは-1000前後です。しかし、100000に異常値(またはノイズ)があります。明らかに1000付近のクラスターに属しますが、k-meansは中心点を1000から100000の方へ移動させます。これにより、1000クラスターのメンバーの一部が値が500のメンバー)を-1000クラスターに割り当てます。 k-medoidは、1000前後のメンバーの1つをmedoidとして選択します。おそらく1000より大きいメンバーを選択しますが、外れ値は選択しません。

6
Eli Algranti

@Eliの答えに追加されたほんの小さなメモ、K-medoidはk-meansよりもノイズと外れ値に対してより堅牢です。後者はクラスター中心を選択するためです。クラスター中心はほとんどが「仮想ポイント」であり、前者はクラスタからの「実際のオブジェクト」。

(1,1)、(1,2)、(2,1)、(2,2)、および(100,100)の座標を持つ1つのクラスターに5つの2Dポイントがあるとします。クラスター間のオブジェクト交換を考慮しない場合、k-meansを使用すると、クラスターの中心(21.2,21.2)が得られますが、これはポイント(100,100)によってかなり注意散漫になります。ただし、k-medoidでは、アルゴリズムに従って(1,1)、(1,2)、(2,1)、および(2,2)の中から中心を選択します。

2D平面でデータセットをランダムに生成し、k-medoidとk-meansを比較できる楽しいアプレット( EM Mirkes、K-means and K-medoids applet。University of Leicester、2011 )学習過程。

3
lennon310