誰かが階層的クラスタリングの長所と短所を説明できますか?
- 階層的クラスタリングには、Kの意味と同じ欠点がありますか?
- 階層的クラスタリングのKを超える利点は何ですか?
- 階層的クラスタリングに対してKを使用する場合、およびその逆の場合はいつですか?
この投稿への回答では、kの欠点が非常によく説明されています。 K-meansの欠点を理解する方法
誰かが階層的クラスタリングの長所と短所を説明できますか?
この投稿への回答では、kの欠点が非常によく説明されています。 K-meansの欠点を理解する方法
回答:
クラスタリングのより詳細なプロパティを掘り下げたい場合、 -means などのフラットクラスタリングを、Single、Average、Complete Linkagesなどの階層的クラスタリングに反対したくない場合があります。たとえば、これらすべてのクラスタリングはスペースを節約します。つまり、クラスターを構築するときにスペースを歪めません。一方、ウォードなどの階層的なクラスタリングはスペースを節約しません。つまり、各マージステップでメトリックスペースを歪めます。
結論として、階層的クラスタリングアルゴリズムの欠点は、非常に異なる可能性があります。 -means と同様のプロパティを共有するものもあります:Wardは分散の最適化を目指していますが、Single Linkageはそうではありません。しかし、それらは異なる特性を持つこともできます:Wardは空間拡張であるのに対して、Single Linkageはk -meansのように空間を節約します。
-スペース節約およびスペース拡張プロパティを正確に編集
空間拡張: すなわち、マージしとアルゴリズムが遠くクラスタプッシュする。
should use hierarchical clustering when underlying data has a hierarchical structure... and you want to recover the hierarchy
必ずしもそうではありません。ほとんどの場合、むしろ反対です。HCの階層は、データの構造ではなく、むしろアルゴリズムの物語です。それでも、この質問は最終的に哲学的/論理的であり、それほど統計的ではありません。
Ward is not space-conserving, i.e. at each merging step it will distort the metric space
。それについてもっと書いていただけますか?これはあまり明確ではありません。
Ward is space-dilating, whereas Single Linkage is space-conserving like k-means
。単一リンケージのスペース縮小を言いたいですか?
はここで明確な勝者であることを意味します。はるかに優れより(いくつかのケースで階層的クラスタリングのスケーラビリティ)は、通常、両方のためとと小さい(残念なことに、はとともに成長する傾向があるため、は通常成り立ちません)。また、メモリ消費は2次ではなく線形です(通常、線形の特殊なケースが存在します)。
-meansの適用性は非常に限られています。ユークリッド距離に本質的に制限されます(カーネル空間のユークリッド、およびブレグマン発散を含みますが、これらは非常にエキゾチックであり、実際に平均でそれらを使用する人はいません)。さらに悪いことに、 -meansは数値データでのみ機能します( -meansに適しているためには、実際には連続的で密である必要があります)。
ここでは、階層的なクラスタリングが明確な勝者です。距離も必要ありません-高い値を低い値よりも優先することによる類似度関数を含む、あらゆる尺度を使用できます。カテゴリーデータ?必ずJaccardなどを使用してください。ひも?レーベンシュタイン距離をお試しください。時系列?承知しました。混合型データ?ガワー距離。数百万のデータセットがあり、階層的なクラスタリングを使用できますが、 -means は使用できません。
ここに勝者はいません。データを大幅に削減できるため、スコアが高いことを意味します。重心は簡単に理解して使用できます。一方、階層的クラスタリングは樹状図を作成します。樹状図は、データセットを理解する上でも非常に役立ちます。
ある意味で、特定の階層的クラスタリング手法を好む強力な理論的理由があるということについて、他の回答に少し加えたいと思いました。
クラスター分析の一般的な仮定は、アクセスできない基本的な確率密度からデータがサンプリングされることです。しかし、私たちはそれにアクセスできたとします。どのように我々は、定義したクラスタの?
非常に自然で直感的なアプローチは、のクラスターが高密度の領域であると言うことです。たとえば、以下の2つのピークの密度を考えます。
グラフ全体に線を引くことにより、クラスターのセットを誘導します。たとえば、に線を引くと、2つのクラスターが表示されます。しかし、に線を引くと、単一のクラスターが得られます。
これをより正確にするために、任意のがあると仮定します。レベルのクラスターは何ですか?これらは、スーパーレベルセットの接続コンポーネントです。
ここで、任意のを選択する代わりに、すべての考慮して、「真の」クラスターのセットがすべて、スーパーレベルセットの接続コンポーネントであるようにします。重要なのは、このクラスターのコレクションが階層構造を持っていることです。
それをもっと正確にさせてください。仮定でサポートされています。今せの連結成分である、及びの連結成分である。つまり、はレベルクラスターであり、はレベルクラスターです。その後、もし、その後のいずれか、又は。このネスト関係は、コレクション内の任意のクラスターペアに対して保持されるため、実際には、クラスターの階層。これをクラスターツリーと呼びます。
そのため、密度からいくつかのデータをサンプリングしました。このデータをクラスターツリーを回復する方法でクラスター化できますか?特に、より多くのデータを収集するにつれて、クラスターツリーの経験的推定値が真のクラスターツリーにますます近づくという意味で、一貫性のある方法が必要です。
Hartiganはそのような質問をした最初の人物であり、そうすることで、階層的クラスタリング手法がクラスターツリーを一貫して推定することの意味を正確に定義しました。彼の定義は次のとおりですと上記で定義された真のばらばらのクラスターとします。つまり、これらはいくつかのスーパーレベルセットの連結コンポーネントです。ここで、からサンプルiidのセットを描画し、このセットを呼び出します。階層的クラスタリング手法をデータに適用し、経験的クラスターのコレクションを取得します。してみましょう可能最小すべてを含む経験的クラスター、およびすべてを含む最小のとします。それから、 as for disjoint cluster and場合、クラスタリング方法はHartigan一貫性があると言われます。
本質的に、Hartiganの一貫性は、クラスタリング方法が高密度の領域を適切に分離する必要があることを示しています。Hartigan氏は、単一の結合クラスタリングは一貫性があるかどうかを調べ、それがあることがわかっていない次元での一貫> 1. ChaudhuriのとDasguptaさんが導入されたときに、ほんの数年前まで営業クラスタツリーをして推定するための一般的な、一貫性のある方法を見つける問題一貫性のある堅牢な単一リンケージ。私の意見では、非常にエレガントなので、彼らの方法について読むことをお勧めします。
したがって、あなたの質問に対処するために、密度の構造を回復しようとするとき、階層クラスターが「正しい」ことであるという感覚があります。しかし、「正しい」周りのスケアクォートに注意してください...最終的に密度ベースのクラスタリング手法は、次元の呪いのために高次元でパフォーマンスが低下する傾向があります。は非常にクリーンで直感的であり、実際にはパフォーマンスが向上するメソッドを支持して無視されることがよくあります。つまり、堅牢な単一リンケージが実用的ではないということではありません。実際には、低次元の問題に対して非常にうまく機能します。
最後に、Hartiganの一貫性は、ある意味では収束の直観に従わないと言います。問題は、Hartiganの一貫性により、クラスタリング手法がクラスターを大幅にオーバーセグメント化できるため、アルゴリズムがHartiganの一貫性を保ちながら、真のクラスターツリーとは非常に異なるクラスタリングを生成できることです。今年、これらの問題に対処する収束の代替概念に関する作業を行いました。この作業は、COLT 2015の「Beyond Hartigan Consistency:Merge distortion metric for hierarchy clustering」に登場しました。
R
階層的クラスタリングの追加の実用的な利点は、樹状図を使用して結果を視覚化できることです。探しているクラスターの数が事前にわからない場合(よくあることですが...)、樹形図プロットを使用すると、別個のクラスターを作成する必要なくを選択できます。デドログラムは、データ構造に対する優れた洞察を提供し、外れ値などの識別に役立ちます。階層的クラスタリングも決定論的です。一方、ランダム初期化のk-meansは、同じデータに対して複数回実行すると異なる結果を与えることがあります。k-meansでは、クラスター平均を更新するためのさまざまな方法を選択することもできます(ただし、Hartigan-Wongアプローチが最も一般的ですが)。これは階層的方法では問題ありません。
ttnphnsによる編集:階層クラスタリングが他の多くのアルゴリズムと共有する機能の1つは、距離測定を選択する必要があることです。多くの場合、これは特定のアプリケーションと目標に大きく依存しています。これは、追加の複雑さ(選択する別のパラメータ...)として見られるかもしれませんが、資産としても見られます-より多くの可能性。それどころか、古典的なK-meansアルゴリズムは、ユークリッド距離を特に使用します。