Skip to main content
QUICK REVIEW

[論文レビュー] An implementation of the relational k-means algorithm

Balázs Szalkai|arXiv (Cornell University)|Apr 25, 2013
Advanced Clustering Algorithms Research参考文献 3被引用数 6
ひとこと要約

この論文では、ベクトル表現を必要とせず、任意の距離行列で動作するように一般化されたk-meansのC#実装を提示している。二乗距離行列に対する二次形式を用いて重心距離を再定式化することで、非ユークリッド空間におけるクラスタリングが可能となり、たとえばタンパク質配列のような実世界のデータセットについても、デュアルコアラップトップ上で1分未塔で実用的な性能を達成した。

ABSTRACT

A C# implementation of a generalized k-means variant called relational k-means is described here. Relational k-means is a generalization of the well-known k-means clustering method which works for non-Euclidean scenarios as well. The input is an arbitrary distance matrix, as opposed to the traditional k-means method, where the clustered objects need to be identified with vectors.

研究の動機と目的

  • データポイントがベクトルとして表現できない非ユークリッド空間においてもk-meansクラスタリングを可能にすること。
  • 三角不等式を満たす必要のない任意の対称距離関数を用いても動作するように、古典的なk-meansの目的関数を一般化すること。
  • 実世界のデータセットを処理できる、効率的で並列化された関係的k-meansの実装を提供すること。
  • リーマン距離に類似した距離関数を用いて、大規模な生物学的データに対してアルゴリズムの実行可能性と性能を示すこと。

提案手法

  • アルゴリズムは、$ f(p_i, p_j) $ を任意の対称距離関数とし、$ f(p_i, p_i) = 0 $ を満たす二乗距離行列 $ A_{ij} = f(p_i, p_j)^2 $ を入力として使用する。
  • 一般化された二乗重心距離 $ q_{ij} = -\frac{1}{2} v_{ij}^\top A v_{ij} $ を定義し、ここで $ v_{ij} = \frac{1}{|S_j|} \textstyle\bigsum_{k \notin S_j} e_k - e_i $ であり、これは古典的なユークリッドの概念を拡張したものである。
  • クラスタリングの値は $ \textstyle\bigsum_{i=1}^n q_{i\tau(i)} $ で定義され、$ \tau(i) $ は点 $ p_i $ のクラスタ割り当てを表し、この値を最小化するようにアルゴリズムが動作する。
  • 各イテレーションで、各点が $ q_{ij} $ を最小にするクラスタに再割り当てされ、改善が見られなければ停止する。
  • 非ユークリッドの場合の収束を保証するため、$ \beta $-スプレッド変換 $ A + \beta(J - I) $ を適用して行列をユークリッドに変換する。
  • 各点間で再利用可能なクラスタ固有の和を事前に計算することで、1イテレーションあたり $ O(n^2) $ に最適化されている。

実験結果

リサーチクエスチョン

  • RQ1ベクトル表現を必要とせず、任意の距離行列で動作するようにk-meansを効果的に一般化できるか?
  • RQ2幾何的直感を保ちつつ、重心距離の概念を距離行列のみで動作するように古典的なk-means目的関数を再定式化できるか?
  • RQ3非ユークリッド距離を伴う実世界のデータセットに対して実用的とするために、どのような計算最適化が必要か?
  • RQ4並列化により、大規模データに対する関係的k-meansの実行時間性能を顕著に向上させられるか?

主な発見

  • 関係的k-meansアルゴリズムは、距離行列に対する二次形式を用いて一般化された重心距離を計算することで、非ユークリッド空間へのk-meansの一般化に成功した。
  • クラスタ固有の和を事前に計算し、$ q_{ij} $ の計算を最適化することで、1イテレーションあたり $ O(n^2) $ の時間計算量を達成した。
  • リーマン距離に類似した距離関数を用いた1,000個を超えるタンパク質のデータセットにおいて、デュアルコアラップトップ上で30〜60秒の実行時間でクラスタリングが完了した。
  • 改善が連続して20回得られなかった場合に停止するという基準を採用したが、アルゴリズムは信頼性高く、さらなる改善が得られない高品質なクラスタリングに収束した。
  • 実装は並列化に強く、複数のスレッドを用いてCPU使用率がほぼ100%に達し、16コアマシンでは8秒未塔で実行可能と予想された。
  • C++への移植により実行時間を約50%短縮できる可能性があることから、低レベルの最適化によりさらなる性能向上が見込まれる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。