K平均クラスタリングを初期化する方法


10

K-meansの初期シード(クラスターセンター)を選択するための最新の技術に興味があります。

グーグルは2つの一般的な選択肢につながります。

  1. 初期シードのランダム選択、および
  2. KMeans ++選択手法の使用:Arthur&Vassilvitskii 2006 k-means ++:注意深いシードの利点

ここで誰もが知っている他の有望な方法はありますか?

回答:


11

ここまでの「クラスタリング」コレクションにある、自分の関数(SPSSのマクロ)からオプションのリストコピーして貼り付けてください!kmini

初期クラスター中心を作成または選択する方法。選択してください:

  • RGC- ランダムサブサンプルの重心データはk重複しない、メンバーシップ、グループによってランダムに分割され、これらのグループの重心が初期中心として指定されます。したがって、中心は計算され、既存のデータセットのケースから選択されません。この方法では、互いに近く、データの一般的な重心に近い中心が生成されます。
  • RP- ランダムに選択されたポイントkデータの異なるケースがランダムに選択され、初期の中心になります。
  • RUNFP- 最も遠いポイント(実行中の選択)。最初のkケースはセンターとして取得され、次に、データセットの残りのケースの実行中に、センター間で徐々に置換が行われます。置換の目的はk、変数空間で互いに最も離れた端点で取得することです。データクラウドの周辺の位置を占めるこれらのポイント(ケース)は、生成された初期中心です。(この方法は、SPSS k-meansプロシージャでデフォルトとして使用されますQUICK CLUSTER。詳細は、SPSSアルゴリズムで参照してください。ここでも説明されています)。
  • SIMFP- 最も遠いポイント(単純な選択)。最初の中心は、データセットからランダムなケースとして選択されます。2番目の中心は、その中心から最大限に離れた場合として選択されます。3番目の中心は、これらの2つから最も遠い(2つの最も近いものから)ケースとして選択されます。
  • KMPP- ランダムな最遠点、またはk-means ++。最初の中心は、データセットからランダムなケースとして選択されます。2番目の中心もランダムに選択されますが、ケースが選択される確率は、その(1番目の)中心までの距離(平方ユークリッド)に比例します。3番目の中心もランダムに選択されます。選択の確率は、2つの中心の最も近いものまでのケースの距離に比例します。(Arthur、D.、Vassilvitskii、S .. K-means ++:慎重にシードすることの利点。
  • GREP グループの代表的なポイント。メソッドのアイデア–センターとして収集するk最も代表的な「代理」事件。1番目の中心は、一般的なデータの重心に最も近いケースと見なされます。次に、残りの中心がデータポイントから選択され、各ポイントが、後者のそれぞれのポイントよりもポイントのセットに近いかどうか(および2乗のユークリッド距離でどれだけか)が考慮されます。既存のセンターのいずれかです。つまり、各ポイントは、すでに収集されたセンターではまだ十分に表現されていないいくつかのポイントグループを表す候補として試験されます。この点で最も代表的なポイントが次のセンターとして選択されます。(Kaufman、L. Rousseeuw、PJ Finding groups in data:introduction to cluster analysis。、1990.参照:Pena、JM et al。経験的な比較の4つの初期化方法のK平均アルゴリズム20(10)、1999、
  • [また、私がマクロで実装していないk、ランダムなユニフォームから「ランダムよりランダムではない」ポイントを生成する、ランダムと貪欲の間の良い方法もあります。その方法の潜在的な理論的基礎を参照してください ]
  • もう1つの方法は、Wardの方法で階層的クラスタリングを行うことです。サンプルが大きすぎる場合は、オブジェクトのサブサンプルで行うことができます。次にk、それによって生成されるクラスターの平均は、k平均法の初期シードです。Wardは、k-meansと共通の目標を共有するため、他の階層的クラスタリング手法よりも望ましいです。

メソッドRGC、RP、SIMFP、KMPPは乱数に依存し、実行ごとに結果が変わる可能性があります。

メソッドRUNFPは、データセット内の大文字と小文字の順序に影響されます。しかし、メソッドGREPはそうではありません(データに同じケース、タイ、多くのケースがある場合を除いて)。特にGREの場合、データ内のケース数()に比べて相対的に大きいと、メソッドGREPはすべてのkセンターを収集できないkことがあります。[マクロは、データがその方法でセンターを収集することを許可しない場合に通知します]。メソッドGREPは最も遅いものであり、[私の実装では]すべてのケース間の距離の行列を計算するため、数万または数百万のケースがある場合は適していません。ただし、データのランダムなサブサンプルでそれを行うことができます。nk>n/2k

これまでのところ、問題の広範なシミュレーション調査を行っていないため、現在、どの方法が「より良い」か、どのような状況であるかについては議論していません。私の非常に予備的で表面的な印象は、GREPは特に価値がある(しかしそれは高価である)こと、そして本当に安い方法がまだ十分に競争力がある場合は、ランダムなkポイント(RP)がまともな選択であることです。


psも参照してくださいstats.stackexchange.com/a/350191/3277の
ttnphns

4

私がこれについて包括的な文献レビューを最後に行ったのは、確かにほぼ20年前でしたが、2つの主な推奨事項は次のとおりです。

  1. Wardの方法(これは標準的な階層クラスター分析アルゴリズムです)を使用して初期中心を見つけるには。
  2. ランダムスタートを使用します。

ビッグデータアプリケーションでは、サブサンプルに適用することはできますが、ウォードの方法はあまりうまく機能しません。

私はいくつかのシミュレーションを行いましたが、これは出版に出回ることはありませんでした。

私がこれから取った主なポイントは、SPSSアルゴリズムは驚くほど優れているということですが、リソースがある場合、1000以上のランダムな開始点が適しています。


シミュレーションで、高次元データの動作の変化に気付きましたか?
Arin Chaudhuri

思い出せない。しかし、私のシミュレーションでは約20を超える変数を使用していなかったと思います。ただし、次元数が高いほど、必要なランダムスタートの数が多くなり、他のすべてが同じである必要があります。
Tim

注:デフォルトのSPSSアルゴリズム(リンクが壊れている)は、私の回答でRUNFPと私がacronamedしたものです。
ttnphns

3

ttnphnsの命名法を使用して、RGC、RP、およびKMPPを以下でテストしました。

  • 2D / 3Dポイント
  • テキスト文書からの単語の袋
  • 本質的に距離を持つ曲線。L2

結果の中心が互いに非常に近いため、RGCはお勧めしません。多くのポイントの平均は、グローバル平均(数値の大きい法則)に近いです。これにより、収束が大幅に遅くなる可能性があります。クラスターが個別化し始めるまでに時間がかかります。

RPは一般的に優れており、最初の簡単な選択として推奨されます。

KMPPは非常に人気があり、小さな次元で非常にうまく機能します。RPと比較すると、極小値で終わる可能性が低くなる傾向があります。

ただし、大きなデータセット(大きな次元のテキストドキュメントからの単語のバッグである100万ポイント)で作業していたとき、RPはわずかに少ない反復で終了したという意味でKMPPをわずかに上回りました。びっくりしました。大きなデータセット/高次元では、グローバルミニマムへの収束は不可能です。「ローカルミニマムの良さ」=「最終SODの小ささ」として品質を測定します。どちらの方法も同じ品質でした。

レプリケーションを使用して品質を向上させる場合は、ランダム化された方法を使用することが重要です。


ありがとう。大きなディメンションデータを処理するので、これは非常に便利です。
Arin Chaudhuri 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.