データ セット内のクラスターの数( k平均法アルゴリズムではkと表示されることが多い量)を決定することは、データ クラスタリングで頻繁に発生する問題であり、クラスタリング問題を実際に解決するプロセスとは別の問題です。
特定のクラスのクラスタリング アルゴリズム(特にk平均法、kメドイド法、期待値最大化アルゴリズム) には、検出するクラスターの数を指定する、一般にkと呼ばれるパラメーターがあります。 DBSCANやOPTICS アルゴリズムなどの他のアルゴリズムでは、このパラメーターを指定する必要はなく、階層的クラスタリングではこの問題は完全に回避されます。
kの正しい選択は曖昧な場合が多く、その解釈はデータ セット内のポイントの分布の形状とスケール、およびユーザーが希望するクラスタリング解像度によって異なります。さらに、ペナルティなしでk を増やすと、結果のクラスタリングにおけるエラーの量が常に減少し、各データ ポイントが独自のクラスターと見なされる場合は (つまり、 k がデータ ポイントの数nに等しい場合)、極端な場合はエラーがゼロになります。直感的には、kの最適な選択は、単一のクラスターを使用したデータの最大圧縮と、各データ ポイントを独自のクラスターに割り当てることによる最大精度との間でバランスが取れたものになります。データ セットの特性に関する事前の知識からkの適切な値が明らかでない場合は、何らかの方法でそれを選択する必要があります。この決定を行う方法にはいくつかのカテゴリがあります。
エルボー法
エルボー法は、説明される分散のパーセンテージをクラスター数の関数として調べます。クラスター数を選択する際には、クラスターをもう 1 つ追加してもデータのモデリングがあまり良くならないような数を選択する必要があります。より正確には、クラスター数に対してクラスターによって説明される分散のパーセンテージをプロットすると、最初のクラスターは多くの情報を追加します (多くの分散を説明します) が、ある時点で限界ゲインが低下し、グラフに角度が生じます。この時点でクラスター数が選択されるため、「エルボー基準」と呼ばれます。ほとんどのデータセットでは、この「エルボー」はあいまいであるため、[1]この方法は主観的で信頼性が低くなります。軸のスケールは任意であるため、角度の概念は明確に定義されておらず、均一なランダム データであっても曲線は「エルボー」を生成するため、この方法は信頼性が低くなります。[2] 説明された分散の割合は、グループ間の分散と全体の分散の比率であり、F検定とも呼ばれます。この方法のわずかなバリエーションは、グループ内の分散の曲率をプロットします。[3]
この方法は、1953年にロバート・L・ソーンダイクが考案した推測にまで遡ることができます。 [4] エルボー法の考え方は単純明快に聞こえますが、他の方法(以下に詳述)の方がより良い結果が得られます。
X平均クラスタリング
統計学とデータマイニングにおいて、X平均法クラスタリングはk平均法クラスタリングの一種で、赤池情報量基準(AIC)やベイズ情報量基準(BIC)などの基準に達するまで、繰り返し細分化を試行し、最良の結果の分割を維持することでクラスターの割り当てを改良します。[5]
情報基準アプローチ
クラスターの数を決定するための別の方法セットは、赤池情報量基準(AIC)、ベイズ情報量基準(BIC)、または逸脱情報量基準(DIC) などの情報量基準です (クラスタリング モデルの尤度関数を作成できる場合)。たとえば、k平均モデルは「ほぼ」ガウス混合モデルであり、ガウス混合モデルの尤度を構築して情報量基準値を決定することもできます。[6]
情報理論的アプローチ
速度歪み理論は、情報理論的基準によりエラーを最小化しながら効率を最大化するクラスターの数を決定する「ジャンプ」法と呼ばれるk の選択に適用されています。[7]このアルゴリズムの戦略は、 1 からnまでのすべてのkの値に対してk-meansなどの標準的なクラスタリング アルゴリズムを実行し、結果として得られるクラスタリングの歪み (後述) を計算することにより、入力データの歪み曲線を生成することです。次に、歪み曲線は、データの次元に基づいて選択された負の累乗によって変換されます。結果の値のジャンプは、kの妥当な選択を意味し、最大のジャンプは最良の選択を表します。
入力データのクラスタリングによる歪みは、正式には次のように定義されます。データ セットを、共通の共分散 Γ を持つ G 個のコンポーネントの混合分布で構成されるp次元のランダム変数Xとしてモデル化します。 を、 Xの特定のサンプルに最も近い中心を持つK 個のクラスター中心のセットとすると、 K個の中心をデータに 適合させるときの次元あたりの最小平均歪みは次のようになります。
これは、 Xと最も近いクラスター中心との間の次元あたりの平均マハラノビス距離でもあります。クラスター中心のすべての可能なセットを最小化するのは非常に複雑なため、実際には、標準的なクラスタリング アルゴリズムを使用してクラスター中心のセットを生成し、その結果を使用して歪みを計算することによって歪みを計算します。p 次元のデータ ポイント X の入力セットを使用したジャンプ メソッドの疑似コードは次のとおりです。
JumpMethod(X):
Y = (p/2)
とし、サイズn+1のリストDを
初期化します。 D[0] = 0
とし、k = 1 ... nの場合:
k 個のクラスターを持つクラスター X (例: k 平均法)
d = 結果として得られるクラスタリングの歪みとする
D[k] = d^(-Y)
J(i) = D[i] - D[i-1]
と定義し、 J(k)を最大化する1からnまでのkを
返します。
変換のべき乗の選択は、速度歪み理論からの結果を使用した漸近的推論によって動機付けられます。データX が単一の任意のp次元ガウス分布を持ち、 を0 より大きいあるαに対して固定するとします。すると、 p が無限大に近づくにつれて、極限におけるK個のクラスターのクラスタリングの歪みは になります。漸近的に、べき乗に対するクラスタリングの歪みはに比例し、これは定義によりクラスターの数Kにほぼ比例することがわかります。言い換えると、単一のガウス分布の場合、クラスターの実際の数 (1 であるはず) を超えてK を増やすと、歪みが線形に増加します。この動作は、複数の分布成分が混在する一般的なケースで重要です。
X を、共通の共分散を持つG 個の p次元ガウス分布の混合とします。この場合、 G未満の任意の固定Kに対して、 p が無限大に近づくにつれてクラスタリングの歪みは無限大になります。直感的には、これは、正しいクラスター数未満のクラスタリングでは、漸近的に高次元のデータを記述できず、歪みが際限なく増加することを意味します。上記のように、Kをpの増加関数、つまり にすると、上記と同じ結果が得られ、 p が無限大に近づくにつれて極限での歪みの値は に等しくなります。同様に、変換された歪みとクラスター数Kの間にも同じ比例関係があります。
上記の結果をまとめると、 pの値が十分に高い場合、変換された歪みはK < Gではほぼゼロですが、その後突然ジャンプし、K ≥ Gでは線形に増加し始めることがわかります。 K を選択するためのジャンプ アルゴリズムは、これらの動作を利用して、クラスターの実際の数に最も適した値を特定します。
この方法の数学的裏付けは漸近的な結果によって与えられていますが、このアルゴリズムは妥当な次元を持つさまざまなデータ セットでうまく機能することが経験的に検証されています。上記の局所的なジャンプ法に加えて、同じ変換された歪み値を使用してK を選択するための、破線法と呼ばれる 2 番目のアルゴリズムが存在します。破線法では、2 つの線分の単純な最小二乗誤差近似を行うことで、変換された歪みのグラフ内のジャンプ ポイントが特定されます。理論的には、 K < Gの場合はx軸に沿い、 K ≥ Gの場合は変換された歪みプロットの線形増加位相に沿います。破線法は、決定が局所的ではなくグローバルであるという点でジャンプ法よりも堅牢ですが、ガウス混合成分の仮定にも依存します。一方、ジャンプ法は完全にノンパラメトリックであり、一般的な混合分布で実行可能であることが示されています。
シルエット法
データの平均シルエットは、クラスターの自然数を評価するためのもう 1 つの有用な基準です。データ インスタンスのシルエットは、そのクラスター内のデータとどれだけ密接に一致しているか、および隣接クラスター (データからの平均距離が最も短いクラスター) のデータとどれだけ緩く一致しているかを示す尺度です。[8]シルエットが 1 に近い場合、データは適切なクラスター内にあることを意味し、シルエットが -1 に近い場合、データは間違ったクラスター内にあることを意味します。遺伝的アルゴリズムなどの最適化手法は、最大のシルエットを生み出すクラスターの数を決定するのに役立ちます。[9] また、正しいクラスターの数でシルエットが最大化される可能性が高くなるように、データを再スケーリングすることもできます。[10]
クロス検証
クロスバリデーションのプロセスを使用して、クラスターの数を分析することもできます。このプロセスでは、データがv個の部分に分割されます。各部分は順番にテスト セットとして取り分けられ、他のv − 1 個のトレーニング セットでクラスタリング モデルが計算され、テスト セットの目的関数の値 (たとえば、k平均法の重心までの二乗距離の合計) が計算されます。これらのv値は、クラスターの数ごとに計算され、平均化されます。クラスター数は、クラスターの数が増えても目的関数がわずかに減少するだけになるように選択されます。[引用が必要]
テキストデータベース内のクラスターの数を見つける
文書-用語行列D (サイズm×n、mは文書数、nは用語数)で定義される文書コレクションのカバー係数を使用してテキストデータベースをクラスタリングする場合、クラスタの数は、 tがD内のゼロ以外のエントリの数である式で大まかに推定できます。Dでは、各行と各列に少なくとも1つのゼロ以外の要素が含まれている必要があることに注意してください。[11]
カーネル行列の分析
カーネル行列は、入力情報の近接性を定義します。たとえば、ガウス放射基底関数では、特徴空間と呼ばれる高次元空間での入力のドット積を決定します。特徴空間ではデータがより線形に分離可能になると考えられており、そのため、線形アルゴリズムをデータに適用すると、より高い成功率が得られます。
カーネル行列を解析することで、最適なクラスター数を見つけることができる。[12]この方法は、カーネル行列の固有値分解によって進められる。次に、固有値と固有ベクトルを解析して、入力分布のコンパクトさの尺度を取得する。最後に、プロットが描かれ、そのプロットの曲線がデータセット内の最適なクラスター数を示す。これまでの方法とは異なり、この手法では事前にクラスタリングを実行する必要はなく、データから直接クラスター数を見つける。
ギャップ統計
Robert Tibshirani、Guenther Walther、およびTrevor Hastieは、ギャップ統計量を使用してデータセット内のクラスターの数を推定することを提案しました。[13] ギャップ統計量は、理論的根拠に基づいて、クラスター中心の周りのクラスター内平方和が、データのヌル参照分布の下で期待される平方和からどれだけ離れているかを測定します。期待値は、元のデータの特性を持つがクラスターが存在しないヌル参照データをシミュレートすることによって推定されます。次に、クラスターの最適数は、観測された平方和がヌル参照を最も下回る kの値として推定されます。
これまでの多くの方法とは異なり、ギャップ統計は、クラスタリングが良好なkの値が存在しないことを教えてくれますが、信頼性は、与えられたデータに対して想定されるヌル分布(例えば、一様分布)がどれだけ妥当であるかに依存します。これは合成設定ではうまく機能する傾向がありますが、すべての属性が同等に重要であると想定しているため、例えば情報価値のない属性を持つ難しいデータセットをうまく処理することはできません。[14]
ギャップ統計はRのクラスターパッケージ[15]のclusGap関数として実装されています。
参考文献
- ^ 例えば、David J. Ketchen Jr、Christopher L. Shook (1996) を参照。「戦略経営研究におけるクラスター分析の応用: 分析と批評」。Strategic Management Journal . 17 (6): 441– 458. doi :10.1002/(SICI)1097-0266(199606)17:6<441::AID-SMJ819>3.0.CO;2-G。[リンク切れ ]
- ^ Schubert, Erich (2023-06-22). 「k-means のエルボー基準の使用をやめ、代わりにクラスターの数を選択する方法」ACM SIGKDD Explorations Newsletter . 25 (1): 36– 42. arXiv : 2212.12189 . doi :10.1145/3606274.3606278. ISSN 1931-0145.
- ^ 例えば、図6を参照
- ^ Robert L. Thorndike (1953年12月). 「家族の一員は誰か?」Psychometrika . 18 (4): 267– 276. doi :10.1007/BF02289263. S2CID 120467216.
- ^ D. Pelleg; AW Moore. X-means: クラスター数の効率的な推定による K-means の拡張(PDF)。第 17 回国際機械学習会議 (ICML 2000) の議事録。2016年 8 月 16 日閲覧。
- ^ Cyril Goutte、Lars Kai Hansen、Matthew G. Liptrot 、 Egill Rostrup (2001)。「fMRIメタ分析のための特徴空間クラスタリング」。ヒューマン・ブレイン・マッピング。13 ( 3): 165– 183。doi : 10.1002/hbm.1031。PMC 6871985。PMID 11376501。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク)特に図14と付録を参照してください。 - ^ Catherine A. Sugar ; Gareth M. James (2003). 「データセット内のクラスターの数を見つける: 情報理論的アプローチ」. Journal of the American Statistical Association . 98 (1 月): 750– 763. doi :10.1198/016214503000000666. S2CID 120113332.
- ^ Peter J. Rousseuw (1987). 「シルエット: クラスター分析の解釈と検証のためのグラフィカルな補助」.計算および応用数学. 20 : 53–65 . doi : 10.1016/0377-0427(87)90125-7 .
- ^ R. Lleti; MC Ortiz; LA Sarabia; MS Sánchez (2004). 「シルエットを最適化する遺伝的アルゴリズムを使用したk平均クラスター分析の変数の選択」Analytica Chimica Acta . 515 : 87–100 . doi :10.1016/j.aca.2003.12.020.
- ^ RC de Amorim & C. Hennig (2015). 「特徴再スケーリング係数を使用したノイズ特徴を含むデータセット内のクラスター数の回復」. Information Sciences . 324 : 126–145 . arXiv : 1602.06989 . doi :10.1016/j.ins.2015.06.039. S2CID 315803.
- ^ Can, F.; Ozkarahan, EA (1990). 「テキストデータベースにおけるカバー係数ベースのクラスタリング手法の概念と有効性」. ACM Transactions on Database Systems . 15 (4): 483. doi :10.1145/99935.99938. hdl : 2374.MIA/246 . S2CID 14309214.特にセクション2.7を参照してください。
- ^ Honarkhah, M; Caers, J (2010). 「距離ベースのパターンモデリングを使用したパターンの確率的シミュレーション」.数学地球科学. 42 (5): 487– 517. doi :10.1007/s11004-010-9276-7. S2CID 73657847.
- ^ Robert Tibshirani、Guenther Walther、Trevor Hastie (2001)。「ギャップ統計によるデータセット内のクラスター数の推定」。Journal of the Royal Statistical Society、シリーズ B。63 ( 2 ): 411– 423。doi : 10.1111 /1467-9868.00293。S2CID 59738652。
- ^ Brodinová, Šárka; Filzmoser, Peter; Ortner, Thomas; Breiteneder, Christian; Rohm, Maia (2019-03-19). 「高次元データに対する堅牢でスパースなk平均法クラスタリング」。データ 分析と分類の進歩。arXiv : 1709.10012。doi : 10.1007 /s11634-019-00356-9。ISSN 1862-5347。
- ^ 「cluster R package」. 2022年3月28日.
外部リンク
- クラスターグラム - クラスター診断プロット - ( k )個のクラスターを選択するための視覚的な診断 ( Rコード)
- k-means 分析の最適な k 値を決定する 8 つの方法 – k - means クラスター分析の k の最適値を計算するいくつかの方法のRコードを含むstackoverflowの回答
