2010-12-02 4 views
4

大きな寸法と巨大なデータセットを扱うと高速で最も人気のあるテキストのクラスタリングアルゴリズムは何ですか?私は非常に多くの論文や非常に多くのapproaches..nowを読んだ後に混乱しています はちょうど文書のためのクラスタリングアプリケーションを書くための良い出発点を持っている、最も使用されている1知りたいです。データクラスタリングアルゴリズム

答えて

2

Principal Component AnalysisまたはFactor Analysisを使用して、フィーチャセットの次元を減らしたり、有用なインデックスを計算したりすることができます。

SVDがPCAであることを証明することができるので、PCAは、Latent Semantic Indexingで使用されているものです。)

あなたは多分たい行くので、あなたのデータセットまたはその要因の主要な構成要素を取得するときに解釈を失うことができることを覚えておいてくださいNon-Negative Matrix Factorizationルート。 K-Meansは特定のNNMFです!)NNMFでは、データセットは、その付加的で非負のコンポーネントだけで説明できます。

1

誰サイズはありませんが、すべてのアプローチに適合します。階層的クラスタリングは常にオプションです。別のグループをデータから形成したい場合は、K平均クラスタリング(これはおそらく計算的に集中度の低いものです)を行うことができます。

+0

しかし、どのように次元の呪いに対処するには? – user352951

-1

アルゴリズムの開始時に任意のポイントからあるポイントまでの距離を計算できるので、kmedoidsに固執します。これは一度だけ行う必要があり、時間が節約できます。このアルゴリズムは、クラスタの中心として、それに近い点を選択し、そのクラスタに属する点の平均を基にして計算された重心ではありません。したがって、このアルゴリズムでは、すでにすべての距離計算が可能です。あなたのデータセットを生成しblind sources(すなわちトピック)を決定しようとすることができる次元の呪いに対処するために

-1

意味論的テキストクラスタリング(これが要件であるかどうかわからない、オリジナルの質問からはわかりません)を探している場合は、Levenshtein距離を使って類似点行列を構築してみてください。これから、k-メイドイドを使用してクラスタリングし、シルエット係数を使用してクラスタリングを検証することができます。残念ながら、Levenstheinは非常に遅くなる可能性がありますが、しきい値やその他の方法の使用によってスピードアップする方法があります。次元の呪いに対処するための

もう一つの方法は、「対照的なセット、」、残りの部分に比べて1つの群でより顕著である属性と値のペアの接続詞を見つけることであろう。これらの対比集合を元の属性の代わりに、または制限された数の属性で次元として使用することができます。

1

二つの最も人気のある文書クラスタリング手法は、階層的クラスタリングとk-meansです。 k-meansは階層的ではなく2次的であるが、文書の数が線形であるため高速であるが、一般的にはよりよい結果が得られると考えられている。データセット内の各文書は、通常、n次元ベクトル(nは単語の数)として表され、各単語に対応する次元の大きさは、term frequency-inverse document frequencyスコアに等しい。 tf-idfスコアは、類似度計算における高頻度単語の重要性を減少させる。 cosine similarityは、しばしば類似度として使用されます。

階層的アルゴリズムとバイセクションk-meansの間の実験結果を比較する論文、k-meansへのいとこアルゴリズムはhereです。

文書のクラスタリングにおける次元削減の最も簡単なアプローチは次のとおりです。a)すべてのまれな単語と頻繁に出現する単語をスローアウトします(例:1%未満と60%以上の文書で発生します。 b)stopping:共通の英単語の停止リストにすべての単語をスローする:オンラインでリストを見つけることができます。c)stemming、または接尾辞を削除して単語の根だけを残します。最も一般的なステマーは、Martin Porterによって設計されたstemmerです。多くの言語での実装はhereです。通常、これにより、データセット内のユニークワードの数が数百または数千に減り、さらなる次元削減が必要とされないことがあります。それ以外の場合は、PCAのような技術を使用することができます。