クラスターの数を事前に指定する必要のないクラスタリング方法


17

クラスタ数を指定する必要のない「ノンパラメトリック」クラスタリング方法はありますか?また、クラスターごとのポイント数などのその他のパラメーター

回答:


22

クラスターの数を事前に指定する必要があるクラスタリングアルゴリズムは少数です。膨大な数のアルゴリズムがあります。要約するのは難しいです。猫ではない生物の説明を求めるようなものです。

クラスタリングアルゴリズムは、多くの場合、広範な王国に分類されます。

  1. 分割アルゴリズム(k-meansやその子孫など)
  2. 階層的クラスタリング(@Timが説明するように
  3. 密度ベースのクラスタリング(DBSCANなど)
  4. モデルベースのクラスタリング(例えば、有限ガウス混合モデル、または潜在クラス分析

追加のカテゴリが存在する可能性があり、これらのカテゴリおよびどのアルゴリズムがどのカテゴリに入るのかは、ヒューリスティックであるため、人々は反対することができます。それにもかかわらず、このスキームのようなものが一般的です。このことから、主にパーティション分割方法(1)のみが、検索するクラスター数の事前指定を必要とします。他の情報を事前に指定する必要があるもの(クラスターごとのポイント数など)、およびさまざまなアルゴリズムを「ノンパラメトリック」と呼ぶのが妥当と思われるかどうかは、同様に非常に可変で要約が困難です。

階層的クラスタリングでは、k-meansのようにクラスターの数を事前に指定する必要はありませんが、出力からいくつかのクラスターを選択します。一方、DBSCANはどちらも必要としません(ただし、「近隣」の最小数のポイントを指定する必要があります-デフォルトがありますが、ある意味では指定を省略できます)。クラスター内のパターンの数)。GMMでは、これら3つのいずれも必要としませんが、データ生成プロセスに関するパラメトリックな仮定が必要です。私の知る限り、クラスターの数、クラスターごとの最小データ数、またはクラスター内のデータのパターン/配置を指定する必要のないクラスタリングアルゴリズムはありません。どうなるかわかりません。

さまざまなタイプのクラスタリングアルゴリズムの概要を読むのに役立つ場合があります。開始する場所は次のとおりです。

  • Berkhin、P.「クラスタリングデータマイニングテクニックの調査」(pdf

私はあなたの#4に混乱しています。ガウス混合モデルをデータに適合させる場合、適合させるガウスの数を選択する必要があります。つまり、クラスターの数を事前に指定する必要があります。もしそうなら、なぜ「主にのみ」#1がこれを必要とするのですか?
アメーバは、モニカの復活を

@amoeba、モデルベースの方法と実装方法によって異なります。GMMは、いくつかの基準を最小化するためにしばしば適合します(たとえば、OLS回帰は、こちらを参照)。その場合、クラスターの数を事前に指定しないでください。他の実装に従って行ったとしても、モデルベースのメソッドの典型的な機能ではありません。
GUNG -復活モニカ

k=3k

@amoeba、ここでのあなたの議論には本当に従いません。OLSアルゴリズムを使用した単純な回帰モデルを近似する場合、勾配と切片を事前に指定していると言いますか、それともアルゴリズムが基準を最適化することによって勾配と切片を指定していると言いますか?後者の場合、ここで何が違うのかわかりません。確かに、事前にkを指定しないパーティションを見つけるためのステップの1つとしてk-meansを使用する新しいメタアルゴリズムを作成できますが、そのメタアルゴリズムはk-meansではありません。
GUNG -復活モニカ

1
@amoeba、これはセマンティックの問題のようですが、GMMの適合に使用される標準アルゴリズムは通常、基準を最適化します。たとえば、Mclust使用するのはBICを最適化するように設計されていますが、AICを使用することも、一連の尤度比テストを使用することもできます。私はそれをメタアルゴリズムと呼ぶことができると思います、b / cは構成ステップ(例えば、EM)を持っていますが、それはあなたが使用するアルゴリズムです、とにかくkを事前に指定する必要はありません リンクされた例では、そこでkを事前に指定しなかったことがはっきりとわかります。
GUNG -復活モニカ

13

最も単純な例は階層クラスタリングです。ここでは、距離測定を使用して各ポイントを他のポイントと比較し、最小距離を持つペアを結合して結合疑似ポイントを作成します(たとえば、bcは画像のようにbcになります)未満)。次に、各ポイントがグラフに結合されるまで、ペアワイズ距離に基づいてポイントと疑似ポイントを結合することにより、手順を繰り返します。

ウィキペディアの図

(ソース:https : //en.wikipedia.org/wiki/Hierarchical_clustering

手順はノンパラメトリックであり、必要なのは距離の測定だけです。最後に、この手順を使用して作成されたツリーグラフをプルーニングする方法を決定する必要があります。そのため、予想されるクラスター数について決定する必要があります。


プルーニングとは、クラスター番号を決定しているという意味ではありませんか?
Learn_and_Share

1
@MedNaitそれは私が言ったことです。クラスター分析では、あなたが常にそのような決定を行う必要があり、唯一の問題は、どのようにそれは、任意の可能性など、またはそれは、など可能性ベースのモデルフィットのようないくつかの合理的な基準に基づくことができる-それが作られて
ティム

1
@MedNaitが何を求めているかによって異なります。階層クラスタリングでは、k-meansのようにクラスターの数を事前に指定する必要はありませんが、出力からいくつかのクラスターを選択しています。一方、DBSCANはどちらも必要としません(ただし、デフォルトがありますが、クラスター内のパターンの数に下限を設定する「近隣」の最小数のポイントを指定する必要があります) 。GMMはそれも必要としませんが、データ生成プロセスに関するパラメトリックな仮定を必要とします。等
グン-モニカの復職

10

パラメータは良好です!

「パラメータなし」の方法とは、カスタマイズの可能性がなく、シングルショット(ランダム性を除く)のみを取得することを意味します。

現在、クラスタリングは探索的な手法です。単一の「真の」クラスタリングがあると想定してはなりません。むしろ、同じデータの異なるクラスタリングを調べて、それについてさらに学習することに興味があるはずです。クラスタリングをブラックボックスとして扱うことは、決してうまくいきません。

たとえば、データに応じて使用する距離関数をカスタマイズできるようにしたい(これもパラメーターです!)結果が粗すぎる場合、より細かい結果を取得できるようにするか、細かすぎる場合、より粗いバージョンを入手してください。

多くの場合、最良の方法は、階層クラスタリングの樹状図など、結果をうまくナビゲートできる方法です。これで、下部構造を簡単に探索できます。


0

ディリクレ混合モデルをご覧ください。クラスターの数が事前にわからない場合は、データの意味を理解する良い方法を提供します。ただし、データが違反する可能性のあるクラスターの形状については想定しています。

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