k-meansの収束の証明


20

割り当てについては、k-meansが有限のステップ数で収束するという証明を提供するように依頼されました。

これは私が書いたものです:

C

E(C)=xmini=1kxci2
E(C)

ステップ2は、最も近いクラスター中心で各データポイントにラベルを付けるステップを指します。ステップ3は、平均を取ることによってセンターが更新されるステップです。

これは、有限数のステップで収束を証明するには十分ではありません。エネルギーは小さくなり続ける可能性がありますが、エネルギーをあまり変えずに中心点が飛び回る可能性を排除しません。言い換えれば、複数のエネルギー最小値があり、アルゴリズムはそれらの間を飛び回ることができますか?


5
ヒント:中心点の可能なコレクションはいくつありますか?
whuber

回答:


34

まず、N個のデータポイントをk個のクラスターに分割する方法は、最大でます。このようなパーティションはそれぞれ「クラスタリング」と呼ばれます。これは、大きいが有限の数です。アルゴリズムの反復ごとに、古いクラスタリングのみに基づいて新しいクラスタリングを作成します。に注意してくださいkNNk

  1. 古いクラスタリングが新しいクラスタリングと同じ場合、次のクラスタリングも再び同じになります。
  2. 新しいクラスタリングが古いクラスタリングと異なる場合、新しいクラスタリングの方がコストが低くなります

アルゴリズムはドメインが有限集合である関数を反復するため、反復は最終的にサイクルに入る必要があります。サイクルの長さをより大きくすることはできません。そうしないと、(2)により、クラスタリングよりもコストが低くなり、不可能になります。したがって、サイクルの長さは正確に1でなければなりません。したがって、k-meansは有限の反復回数で収束します。11


なぜ順序が重要なのですか?つまり、なぜ個のk個のクラスタリングを選択しないのですか?Nk
rrrrr

@rrrrr正しい式はここで、{n{nk}第2種のスターリング数です最大kNと言っので、それは問題ではありません。{nk} kN
jkabrg

6

何かを追加するには:アルゴリズムが収束するかどうかは、停止基準にも依存します。クラスターの割り当てが変更されなくなった後にアルゴリズムを停止すると、アルゴリズムが必ずしも収束しないことを実際に証明できます(複数の重心の距離が同じ場合にクラスターの割り当てに決定論的なタイブレーカーがない場合)。

ここに画像の説明を入力してください

ここには、8つのデータポイント(ドット)と2つの重心(赤い十字)があります。これで、緑のデータポイントの左右の重心の距離は同じになりました。同じことが青のデータポイントにも当てはまります。この場合、割り当て関数は決定論的ではないと仮定しましょう。さらに、反復1で、緑のドットが左のクラスターに割り当てられ、青のドットが右のクラスターに割り当てられると仮定します。次に、重心を更新します。実際、彼らは同じ場所にとどまっています。(これは簡単な計算です。左の重心については、2つの左の黒い点と2つの緑の点の座標を平均します->(0、0.5)。右の重心についても同じです)。

次に、イテレーション2で状況は同じように見えますが、ここで(結び付きの場合)非決定性の割り当て関数は緑のドットを右のクラスターに、青のドットを左のクラスターに割り当てると仮定します。繰り返しますが、重心は変わりません。

反復3も反復1と同じです。したがって、クラスターの割り当てが連続的に変化し、アルゴリズム(この停止基準を使用)が収束しない場合があります。

<

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.