階層的クラスタリングの欠点を理解する方法は?


19

誰かが階層的クラスタリングの長所と短所を説明できますか?

  1. 階層的クラスタリングには、Kの意味と同じ欠点がありますか?
  2. 階層的クラスタリングのKを超える利点は何ですか?
  3. 階層的クラスタリングに対してKを使用する場合、およびその逆の場合はいつですか?

この投稿への回答では、kの欠点が非常によく説明されています。 K-meansの欠点を理解する方法


2
ではこの回答私は、階層的凝集クラスター分析の潜在的な問題ファセットの一部に触れました。主な「欠点」は、それが非反復のシングルパス貪欲アルゴリズムであることです。貪欲なアルゴリズムを使用すると、現在のステップのタスクを最適化できます。ほとんどのHCメソッドでは、将来のステップで必ずしも最適なパーティションが保証されるとは限りません。HCの主な利点は、使用する近接度の選択に関して柔軟性があることです。@Micはすでに以下の良い答えを与えているので、私はただ反響しています。
ttnphns

回答:


13

k

k

クラスタリングのより詳細なプロパティを掘り下げたい場合、 -means などのフラットクラスタリングを、Single、Average、Complete Linkagesなどの階層的クラスタリングに反対したくない場合があります。たとえば、これらすべてのクラスタリングはスペースを節約します。つまり、クラスターを構築するときにスペースを歪めません。一方、ウォードなどの階層的なクラスタリングはスペースを節約しません。つまり、各マージステップでメトリックスペースを歪めます。k

結論として、階層的クラスタリングアルゴリズムの欠点は、非常に異なる可能性があります。 -means と同様のプロパティを共有するものもあります:Wardは分散の最適化を目指していますが、Single Linkageはそうではありません。しかし、それらは異なる特性を持つこともできます:Wardは空間拡張であるのに対して、Single Linkageはk -meansのように空間を節約します。kk

-スペース節約およびスペース拡張プロパティを正確に編集

Dij[minxCi,yCjd(x,y),maxxCi,yCjd(x,y)]
DijCiCjd

空間拡張: すなわち、マージしとアルゴリズムが遠くクラスタプッシュする。

D(CiCj,Ck)max(Dik,Djk),
CiCjCk

階層構造を持つデータの例はもう少しありますか?金融市場の例に従わなかった。
GeorgeOfTheRF

承知しました。cf. arxiv.org/pdf/cond-mat/9802256.pdfまたは単純にarxiv.org/pdf/1506.00976.pdfの図7 は、(ノイズのある)階層相関ブロック構造を持つ相関行列を示しています。メインのブロックに気付くことができます。対角線は、より多くのブロックに分割され、各ブロックはさらに多くのブロックに分割されます。地域(ヨーロッパ、米国、アジア、日本、日本)の下位区分にほぼ対応し、各地域を資産の質(高品質とジャンクなど)で割った後、大きな産業セクター(小売、産業、メディア)、さらにサブディビジョン(航空宇宙、自動...)
マイク

3
+1。ただし、should use hierarchical clustering when underlying data has a hierarchical structure... and you want to recover the hierarchy必ずしもそうではありません。ほとんどの場合、むしろ反対です。HCの階層は、データの構造ではなくむしろアルゴリズムの物語です。それでも、この質問は最終的に哲学的/論理的であり、それほど統計的ではありません。
ttnphns

Ward is not space-conserving, i.e. at each merging step it will distort the metric space。それについてもっと書いていただけますか?これはあまり明確ではありません。
ttnphns

Ward is space-dilating, whereas Single Linkage is space-conserving like k-means。単一リンケージのスペース縮小を言いたいですか?
ttnphns

13

拡張性

kはここで明確な勝者であることを意味します。はるかに優れより(いくつかのケースで階層的クラスタリングのスケーラビリティ)は、通常、両方のためとと小さい(残念なことに、はとともに成長する傾向があるため、は通常成り立ちませ)。また、メモリ消費は2次ではなく線形です(通常、線形の特殊なケースが存在します)。O(nkdi)O(n3d)O(n2d)kidinO(n)

柔軟性

k -meansの適用性は非常に限られています。ユークリッド距離に本質的に制限されます(カーネル空間のユークリッド、およびブレグマン発散を含みますが、これらは非常にエキゾチックであり、実際に平均でそれらを使用する人はいません)。さらに悪いことに、 -meansは数値データでのみ機能します( -meansに適しているためには、実際には連続的で密である必要があります)。kkk

ここでは、階層的なクラスタリングが明確な勝者です。距離も必要ありません-高い値を低い値よりも優先することによる類似度関数を含む、あらゆる尺度を使用できます。カテゴリーデータ?必ずJaccardなどを使用してください。ひも?レーベンシュタイン距離をお試しください。時系列?承知しました。混合型データ?ガワー距離。数百万のデータセットがあり、階層的なクラスタリングを使用できますが、 -means は使用できません。k

モデル

ここに勝者はいません。データを大幅に削減できるため、スコアが高いことを意味します。重心は簡単に理解して使用できます。一方、階層的クラスタリングは樹状図を作成します。樹状図は、データセットを理解する上でも非常に役立ちます。k


Hierarchicalは、クラスターが1)非球面2)異なる半径3)異なる密度を持つ場合、kのように失敗しますか?
GeorgeOfTheRF

2
両方とも機能し、両方とも失敗する可能性があります。そのため、樹状図などが便利です。クラスタリングの結果が「正しい」と決して信用しないでください。
アノニムース

階層的クラスタリングは、貪欲なアプローチに基づいているため、局所的に最適化されたクラスターを提供しますが、Kはグローバルに最適化されたクラスターを提供します。また、階層的なクラスタリングの説明は、Kの平均と比較してビジネスマンにとって比較的簡単であることも経験しました。
Arpit Sisodia

7

ある意味で、特定の階層的クラスタリング手法を好む強力な理論的理由があるということについて、他の回答に少し加えたいと思いました。

クラスター分析の一般的な仮定は、アクセスできない基本的な確率密度からデータがサンプリングされることです。しかし、私たちはそれにアクセスできたとします。どのように我々は、定義したクラスタの?ff

非常に自然で直感的なアプローチは、のクラスターが高密度の領域であると言うことです。たとえば、以下の2つのピークの密度を考えます。f

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

グラフ全体に線を引くことにより、クラスターのセットを誘導します。たとえば、に線を引くと、2つのクラスターが表示されます。しかし、に線を引くと、単一のクラスターが得られます。λ1λ3

これをより正確にするために、任意のがあると仮定します。レベルのクラスターは何ですか?これらは、スーパーレベルセットの接続コンポーネントです。λ>0fλ{x:f(x)λ}

ここで、任意のを選択する代わりに、すべての考慮して、「真の」クラスターのセットがすべて、スーパーレベルセットの接続コンポーネントであるようにします。重要なのは、このクラスターのコレクションが階層構造を持っていることです。λ λff

それをもっと正確にさせてください。仮定でサポートされています。今せの連結成分である、及びの連結成分である。つまり、はレベルクラスターであり、はレベルクラスターです。その後、もし、その後のいずれか、又は。このネスト関係は、コレクション内の任意のクラスターペアに対して保持されるため、実際には、fXC1{x:f(x)λ1}C2{x:f(x)λ2}C1λ1C2λ2λ2<λ1C1C2C1C2=クラスターの階層。これをクラスターツリーと呼びます

そのため、密度からいくつかのデータをサンプリングしました。このデータをクラスターツリーを回復する方法でクラスター化できますか?特に、より多くのデータを収集するにつれて、クラスターツリーの経験的推定値が真のクラスターツリーにますます近づくという意味で、一貫性のある方法が必要です。

Hartiganはそのような質問をした最初の人物であり、そうすることで、階層的クラスタリング手法がクラスターツリーを一貫して推定することの意味を正確に定義しました。彼の定義は次のとおりですと上記で定義された真のばらばらのクラスターとします。つまり、これらはいくつかのスーパーレベルセットの連結コンポーネントです。ここで、からサンプルiidのセットを描画し、このセットを呼び出します。階層的クラスタリング手法をデータに適用し、経験的クラスターのコレクションを取得します。してみましょう可能最小ABfnfXnXnAnすべてを含む経験的クラスター、およびすべてを含む最小のとします。それから、 as for disjoint cluster and場合、クラスタリング方法はHartigan一貫性があると言われます。AXnBnBXnPr(AnBn)=1nAB

本質的に、Hartiganの一貫性は、クラスタリング方法が高密度の領域を適切に分離する必要があることを示しています。Hartigan氏は、単一の結合クラスタリングは一貫性があるかどうかを調べ、それがあることがわかっていない次元での一貫> 1. ChaudhuriのとDasguptaさんが導入されたときに、ほんの数年前まで営業クラスタツリーをして推定するための一般的な、一貫性のある方法を見つける問題一貫性のある堅牢な単一リンケージ。私の意見では、非常にエレガントなので、彼らの方法について読むことをお勧めします。

したがって、あなたの質問に対処するために、密度の構造を回復しようとするとき、階層クラスターが「正しい」ことであるという感覚があります。しかし、「正しい」周りのスケアクォートに注意してください...最終的に密度ベースのクラスタリング手法は、次元の呪いのために高次元でパフォーマンスが低下する傾向があります。は非常にクリーンで直感的であり、実際にはパフォーマンスが向上するメソッドを支持して無視されることがよくあります。つまり、堅牢な単一リンケージが実用的ではないということではありません。実際には、低次元の問題に対して非常にうまく機能します。

最後に、Hartiganの一貫性は、ある意味では収束の直観に従わないと言います。問題は、Hartiganの一貫性により、クラスタリング手法がクラスターを大幅にオーバーセグメント化できるため、アルゴリズムがHartiganの一貫性を保ちながら、真のクラスターツリーとは非常に異なるクラスタリングを生成できることです。今年、これらの問題に対処する収束の代替概念に関する作業を行いました。この作業は、COLT 2015の「Beyond Hartigan Consistency:Merge distortion metric for hierarchy clustering」に登場しました。


これは、階層的クラスタリングについて考える興味深い方法です。pdfClusterパッケージに実装されているノンパラメトリック密度推定(pdf)によるクラスタリングを強く連想させます。(ここで説明します。)R
グング-モニカの復職

HDBSCAN *は同様のアプローチを使用します。
アノニムース-復元モニカ

3

階層的クラスタリングの追加の実用的な利点は、樹状図を使用して結果を視覚化できることです。探しているクラスターの数が事前にわからない場合(よくあることですが...)、樹形図プロットを使用すると、別個のクラスターを作成する必要なくを選択できます。デドログラムは、データ構造に対する優れた洞察を提供し、外れ値などの識別に役立ちます。階層的クラスタリングも決定論的です。一方、ランダム初期化のk-meansは、同じデータに対して複数回実行すると異なる結果を与えることがあります。k-meansでは、クラスター平均を更新するためのさまざまな方法を選択することもできます(ただし、Hartigan-Wongアプローチが最も一般的ですが)。これは階層的方法では問題ありません。k

ttnphnsによる編集:階層クラスタリングが他の多くのアルゴリズムと共有する機能の1つは、距離測定を選択する必要があることです。多くの場合、これは特定のアプリケーションと目標に大きく依存しています。これは、追加の複雑さ(選択する別のパラメータ...)として見られるかもしれませんが、資産としても見られます-より多くの可能性。それどころか、古典的なK-meansアルゴリズムは、ユークリッド距離を特に使用します。


3
あなたの最後の段落の「問題」は資産として積極的に見られると思います。ただし、K-meansは暗黙的ユークリッド距離のみに基づいています。
ttnphns

多くの可能な選択肢は問題であり、資産でもあります。実際、k-meansについてのコメントのおかげで、その段落を改善します。
ヤチェクポドレフスキ

@ttnphns実際、「 -means」は、Bregmanダイバージェンスjmlr.org/papers/volume6/banerjee05b/banerjee05b.pdfで使用できます。これは、ガウス混合モデルの制限ケース(ソフトからハード)を考慮するときに -meansが結果となることを考慮した場合です。次に、ガウスを指数ファミリの別のメンバーに置き換えることにより、ユークリッド距離を別の距離に置き換えますあなたが選んだ家族のメンバーに関連するブレグマンの発散。期待値の最大化で最尤を見つけることを目的とする同様のアルゴリズムスキームになります。kk
マイク

私は元の質問は、「古典的な」K-手段ではなくブレグマンの相違を詳細に調べるにわずかな意図に関して行われたと考えているニースの発言が、私は確かにもっと徹底的にこの論文をチェックしましょう。。
ヤツェクPodlewski

@mic nobodyは、ユークリッド距離の変化を超えてBregmanの発散を使用します。これは、ごく小さなクラスのみです。しかし、人々は私が知っているすべてのためにブレグマン分岐ではない、例えばマンハッタン距離、ガワーなどを使用したいと思います。
アノニムース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.