交差検証により、グラウンドトゥルースのないデータセット上のさまざまなクラスタリング手法を比較できますか?


12

現在、根拠のないテキストドキュメントデータセットを分析しようとしています。k分割交差検証を使用して、さまざまなクラスタリング手法を比較できると言われました。ただし、私が過去に見た例では、グラウンドトゥルースを使用しています。このデータセットでk-fold平均を使用して結果を検証する方法はありますか?

回答:


12

私が知っているクラスタリングへの相互検証の唯一のアプリケーションはこれです:

  1. サンプルを4部構成のトレーニングセットと1部構成のテストセットに分割します。

  2. クラスタリング手法をトレーニングセットに適用します。

  3. テストセットにも適用します。

  4. ステップ2の結果を使用して、テストセット内の各観測値をトレーニングセットクラスター(k-meansの最も近い重心など)に割り当てます。

  5. テストセットでは、ステップ3の各クラスターについて、そのクラスター内の観測値のペアの数をカウントします。各ペアは、ステップ4に従って同じクラスター内にあります(したがって、@ cbeleitesによって指摘されたクラスター識別問題を回避します)。各クラスターのペアの数で除算して、比率を求めます。すべてのクラスターで最も低い割合は、新しいサンプルのクラスターメンバーシップを予測する方法がどれだけ優れているかの尺度です。

  6. トレーニングセットとテストセットのさまざまな部分でステップ1から繰り返し、5倍にします。

Tibshirani&ヴァルター(2005)、「予測強度によってクラスタの検証」、計算やグラフ統計学会誌14、3。


観測のペアが何であるかをさらに説明できますか(そして、なぜ最初に観測のペアを使用するのですか)?さらに、テストセットと比較して、トレーニングセットの「同じクラスター」を定義するにはどうすればよいですか。私は記事を見ていたが、そのアイデアは得られなかった。
タンガイ

1
@Tanguy:すべてのペアを検討します-観測値がA、B、およびCの場合、ペアは{A、B}、{A、C}、および{B、C}であり、「定義しようとしない」異なる観測値を含むトレイン&テストセット全体の同じクラスター。むしろ、各ペアのメンバーを結合または分離するのにどれだけの頻度で一致するかを調べて、テストセット(トレーニングセットから生成されたものとテストセット自体から生成されたもの)に適用される2つのクラスタリングソリューションを比較します。
Scortchi-モニカの復職

わかりました。次に、観測セットの2つの行列、1つはトレインセット、もう1つはテストセットで、類似度と比較しますか?
タンガイ

@Tanguy:いいえ、テストセットでは観測値のペアのみを考慮します。
Scortchi-モニカの復職

申し訳ありませんが、十分に明確ではありませんでした。テストセットの観測値のすべてのペアを取得する必要があり、そこから0と1で満たされたマトリックスを作成できます(観測値のペアが同じクラスターにない場合は0、同じクラスターにある場合は1)。トレーニングセットとテストセットから取得したクラスターの観測値のペアを調べるため、2つの行列が計算されます。これらの2つのマトリックスの類似性は、何らかのメトリックで測定されます。私は正しいですか?
タンガイ

7

新しいデータによって重心が変更され、既存のクラスタリング分布も変更されるため、k-meansなどのクラスタリング手法にクロス検証をどのように適用するかを理解しようとしています。

クラスタリングの教師なし検証に関しては、再サンプリングされたデータの異なるクラスター番号でアルゴリズムの安定性を定量化する必要がある場合があります。

クラスタリングの安定性の基本的な考え方は、次の図に示すことができます。

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

クラスタリング数が2または5の場合、少なくとも2つの異なるクラスタリング結果がありますが(図の破線を参照)、クラスタリング数が4の場合、結果は比較的安定しています。

クラスタリングの安定性:Ulrike von Luxburgによる概要が役立つ場合があります。


7

(繰り返し)中に行われるようなリサンプリングk倍交差検証、いくつかのケースを削除することにより、元のデータセットとは異なる「新しい」データセットを生成します。

説明とわかりやすさのために、クラスタリングをブートストラップします。

一般に、このようなリサンプリングされたクラスタリングを使用して、ソリューションの安定性を測定できます。ほとんど変化しないか、完全に変化しますか?

グラウンドトゥルースはありませんが、もちろん、同じメソッド(リサンプリング)の異なる実行から生じるクラスタリングまたは異なるクラスタリングアルゴリズムの結果を比較することはできます。

km1 <- kmeans (iris [, 1:4], 3)
km2 <- kmeans (iris [, 1:4], 3)
table (km1$cluster, km2$cluster)

#      1  2  3
#   1 96  0  0
#   2  0  0 33
#   3  0 21  0

クラスターはノミナルであるため、クラスターの順序は任意に変更できます。しかし、これは、クラスターが対応するように順序を変更できることを意味します。次に、対角要素*は同じクラスターに割り当てられたケースをカウントし、非対角要素は割り当てがどのように変更されたかを示します。

table (km1$cluster, km2$cluster)[c (1, 3, 2), ]

#      1  2  3
#   1 96  0  0
#   3  0 21  0
#   2  0  0 33

各メソッド内でクラスタリングがどれだけ安定しているかを確認するために、リサンプリングは良いと思います。それなしでは、結果を他の方法と比較することはあまり意味がありません。

i,


k-fold cross validationとk-means clusteringを混合していませんか?


0

ここで、クラスターの数を決定するためのバイクロス検証方法に関する最近の出版物があります

誰かがsci-kitで実装しようとしています

それらの成功はやや限られていますが。刊行物が示すように、この方法は、クラスターの中心が高度に相関している場合はうまく機能しません。これは、低次元システムのクラスターサイズが大きい場合に発生する可能性があります。(例えば7 のクラスター 2D うまくいきません。)

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