web-dev-qa-db-ja.com

オンラインk-meansクラスタリング

k-Meansクラスタリング アルゴリズムのオンラインバージョンはありますか?

オンラインとは、すべてのデータポイントがシステムに入るときに一度に1つずつシリアルに処理されるため、リアルタイムで使用すると計算時間を節約できることを意味します。

私は自分で良い結果を出しましたが、修士論文で使用するため、「標準化された」ものを参照することを強く望んでいます。

また、他のオンラインクラスタリングアルゴリズムについて誰かアドバイスがありますか? (lmgtfyが失敗しました;))

26
Theodor

はいあります。 Googleは、「シーケンシャルk-means」としてより一般的に知られているため、それを見つけることができませんでした。

シーケンシャルK-meansの2つの擬似コード実装は プリンストンCSクラスノートのこのセクション by Richard Duda にあります。以下の2つの実装のうちの1つを再現しました。

Make initial guesses for the means m1, m2, ..., mk
Set the counts n1, n2, ..., nk to zero
Until interrupted
    Acquire the next example, x
    If mi is closest to x
        Increment ni
        Replace mi by mi + (1/ni)*( x - mi)
    end_if
end_until

それの素晴らしいところは、各クラスターの平均とクラスターに割り当てられたデータポイントの数を覚えるだけでよいということです。これらの2つの変数を更新すると、データポイントを破棄できます。

どこで引用できるかわかりません。私はDudaの古典的なテキスト パターン分類とシーン分析 または新しい版 パターン分類 を調べ始めます。そこにない場合は、ChrisBishopの最新の本またはDaphneKollerとNirFriedmanの最近のテキストを試すことができます。

34
qdjm