潜在的意味解析を使用して、低次元空間でドキュメントのコーパスを表現しています。これらのドキュメントをk-meansを使用して2つのグループにクラスター化したいと思います。
数年前、私はPythonのgensimを使用してこれを行い、独自のk-meansアルゴリズムを作成しました。ユークリッド距離を使用してクラスターの重心を決定しましたが、重心とのコサイン類似性に基づいて各ドキュメントをクラスター化しました。かなりうまくいったようです。
今、私はこれをはるかに大きなドキュメントのコーパスで実行しようとしています。K-meansは収束しておらず、コードのバグかどうか疑問に思っています。最近読んだのは、コサイン類似度を使用してクラスター化しないことです。k平均はユークリッド距離でのみ機能するためです。私が述べたように、それでも私の小さなテストケースではうまく機能するように見えました。
LSA Wikipediaページでこれに遭遇しました:
ドキュメントと用語ベクトル表現は、コサインのような類似性測定を使用するk-meansのような従来のクラスタリングアルゴリズムを使用してクラスター化できます。
どっち?コサイン類似度を使用できますか?
I then assigned each document to a cluster based on cosine similarity
-ドキュメントと重心の間のコサイン?すべてのドキュメントが割り当てられた後、空間内のドキュメントの座標がわかっているため、通常の(ユークリッド)方法で図心を更新します。そうですか?