ライブラリ解析

K-Means Cluster


作成日: 2006年1月26日

最終更新日: 2021年3月25日

作成者: モルシス

概要: 

K-Meansアルゴリズムによりクラスタリングを行うプログラムです。
計算結果としてクラスタ番号とクラスタ中心を出力します。また、クラスタ中心となったエントリを選択します。

設定方法: 

  1. MOEを終了します。

  2. kmeans3dplot.svlを $MOE/custom/svl/run/ に保存します。
    $MOE/custom/svl/run/kmeans3dplot.svl

  3. 以下のディレクトリを作成します。
    $MOE/custom/svl/molsis.svl/

  4. 作成したディレクトリに kmeans.svl を保存します。
    $MOE/custom/svl/molsis.svl/kmeans.svl

  5. MOEを再起動します。

使用方法: 

解析の対象であるMDBファイルのCLI (Command Line Interface) から以下のコマンドを実行してパネルを起動してください。

  KMeans[]



オプションパラメーターを設定して Plot Seeds in 3D Space, Cluster あるいは Plot ボタンをクリックして計算を実行します。

■オプション

Cluster Field: クラスタ番号を書き出すフィールド名を設定します。 計算結果として同じ番号を持つエントリが同じクラスタであることを意味します。
Center Field: クラスタ中心を書き出すフィールド名を指定します。クラスタ中心となったエントリには1が入り、それ以外には0が入ります。
No. of Clusters: クラスタの数を指定します。
PCA Prefix: プロット用の主成分のフィールド名3つの語頭語を指定します。
Seed Entries: K-Meansアルゴリズムにおける初めの中心点の選択方法です。
  • First: 先頭から k 個の化合物群 (kはNo. of Clusterで指定された値)
  • Selected: Database Viewer上で選択中の化合物群
  • Diverse: 次の First Seedオプションを起点として多様性に富むように選択された化合物群
  • Random: 無作為に化合物群を選択する
  • k-means++: 無作為に化合物群を選択した後、順次既に選ばれた化合物群からの平方距離の和に比例する確率に応じてランダムに化合物を選んでゆく
  • kk-means#: k-means++ と殆ど同じアルゴリズムであるが、一度に 3 * log k 個の化合物群を選ぶ
First Seed: Diverseオプション用の最初の起点化合物の選択方法です。
  • First Entry: データベース中で最初の化合物
  • Global Center: データベース中の全化合物の二乗距離の中心に最も近い化合物
  • Farthest Traversal: 上記 Global Center の化合物からの二乗距離が最も遠い化合物
□ Keep selected entries to center: Seed Entries が First, Selected, Diverse あるいは Random の場合、このオプションをオン (■)にすると、データベース中で選択してある化合物群を k 個の起点化合物群に含める
Plot Seeds in 3D Space: のボタンをクリックすると、起点化合物群を MOE ウィンドウ内で三次元の PCA 空間内で表示する。化合物は小球で、クラスター中心は球で表示され、クラスター毎に色分けされる。
■ Normalize Descriptors to Unit Variance: このオプションをオンにすると、各分子記述子の値を標準偏差で規格化する
□Print Cluster Center Numbers: このオプションをオンにすると、SVL Commands ウィンドウのログにクラスター中心のエントリー番号が出力されます。(Centers: XXX…)
Iteration Limit: この回数でクラスター中心の割り当ての計算が収束しなければ計算を終了する。
Failure Limit: 連続してこの回数、Costの減少(最小値の更新)がなければ計算を終了する。

改訂履歴: 

2006/07/03

 ・プログラム名をkmean.svlからkmeans.svlに変更しました。
 ・起動コマンドをKMean[]からKMeans[]に変更しました。
 ・データベースの読み込み速度が早くなりました。

2006/12/01

 ・Keep selected entries to centerオプションを加えました。

2010/12/24

 ・各種起点化合物群の選択方法(Seed Entries)を加えました。
k-means++: D. Arthur, and S. Vassilvitskii, k-means++: the Advantages of Careful Seeding, http://www.stanford.edu/~darthur/kMeansPlusPlus.pdf.
k-means#: N. Ailon, R. Jaiswal, and C. Monteleoni, Streaming k-means approximation, http://books.nips.cc/papers/files/nips22/NIPS2009_1085.pdf.


    SVLソースコードはこちら

    kmeans.svl kmeans3dplot.svl




    Copyright(C) 2021 MOLSIS Inc. All Rights Reserved.
    (株)モルシス