5

クラスタリング アルゴリズムの出力を検証する客観的な方法はありますか?

多くの属性を持つオブジェクトで構成されるデータセットに対して、scikit-learn のアフィニティ伝播クラスタリングを使用しています。クラスタリング アルゴリズムに提供される差分マトリックスは、これらの属性の重み付けされた差分で構成されます。結果のクラスターに反映されるように、距離の重み付けの微調整を客観的に検証する方法を探しています。データセットは大規模であり、生成されたクラスターを検証するために小さな例を手動で調べることは合理的な方法ではないという十分な属性があります。

4

2 に答える 2

9

はい:

クラスターをドメインの専門家に渡して、アルゴリズムが見つけた構造が適切かどうかを分析してもらいます。それが新しいかどうかはそれほどではありませんが、それが賢明であれば。

...そして いいえ

公正な自動評価はありません。教師なしクラスタリングの目的を考慮しているという意味で:知識の発見、別名: データについて何か新しいことを学びます。

クラスタリングを自動的に評価するには、次の 2 つの一般的な方法があります。

  • 内部結束。つまり、最小化するクラスター間分散と比較したクラスター内分散などの特定のプロパティがあります。問題は、チートをするのはたいてい簡単なことだということです。つまり、スコアが非常に高い簡単なソリューションを構築することです。したがって、この方法を、異なる仮定に基づく方法の比較に使用してはなりません。階層クラスタリングのさまざまなタイプのリンケージを公平に比較​​することさえできません。

  • 外部評価。ラベル付けされたデータ セットを使用し、アルゴリズムが既存の知識をどの程度再発見したかによってスコアを付けます。これは非常にうまく機能する場合もあるため、評価のための最先端技術として受け入れられています。それでも、もちろん、教師ありまたは半教師ありの方法は、これではるかに優れたスコアを獲得します. そのため、A)監視された方法に偏っており、B) まだ知らなかったものを見つけるという知識発見のアイデアに実際には完全に反しいます

クラスタリングを実際に使用する場合 (つまり、データについて何かを学ぶ場合) は、できればドメイン エキスパートなどの完全に独立した方法で、ある時点でクラスタを検査する必要があります。たとえば、クラスタリングによって識別されたユーザー グループは、まだ詳細に調査されていない重要なグループであると彼が言うことができれば、あなたは勝者です。

ただし、残念ながら、ほとんどの人は「ワンクリック」 (および 1 点) の評価を望んでいます。

ああ、「クラスタリング」は実際には機械学習のタスクではありません。実際には学習は含まれていません。機械学習コミュニティにとって、誰も気にかけない醜いアヒルの子です。

于 2012-10-01T22:34:11.330 に答える
4

サブフォールドの安定性メトリックを計算することで、クラスタリングの品質を評価する別の方法があります。これは、教師ありモデルの相互検証に少し似ています。

  • データセットを A、B、C の 3 つのフォールドに分割します。A+B と A+C のアルゴリズムで 2 つのクラスタリングを計算します。交点 A の 2 つのラベリングの調整済みランド インデックスまたは調整済み相互情報を計算し、この値をアルゴリズムの安定性スコアの推定値と見なします。

  • データをシャッフルし、それを他の 3 つの折り畳み A'、B'、C' に分割することでリンスを繰り返し、安定性スコアを再計算します。

  • 5 回または 10 回の実行で安定性スコアを平均して、安定性スコアの標準誤差を概算します。

ご想像のとおり、これは非常にコンピューター集約的な評価方法です。

クラスタリング アルゴリズムのこの安定性に基づく評価が実際に実際に役立つかどうかを知り、モデル選択の有効な基準を生成できない場合を特定することは、まだ開かれた研究領域です。これらの問題に関する最先端の概要については、Ulrike von Luxburg によるClustering Stability: An Overviewとその中の参考文献を参照してください。

注: たとえば、k-means で k の最適な値を選択するためにこの戦略を使用する場合は、ARI や AMI などの調整済み確率メトリックを使用することが重要です。NMI や V メジャーなどの調整されていないメトリックは、より高い k を持つモデルを恣意的に好む傾向があります。

于 2012-10-03T10:15:40.393 に答える