平均クラスタリングのメモリ要件


8

誰かが、平均クラスタリングのメモリ要件に影響を与える要因を少し説明して教えてもらえますか?k


4
k -meansはNP困難であるため、リソースの消費量も大きく異なる多くのヒューリスティックがあります。特定のアルゴリズムに興味がありますか?

2
ロイドのアルゴリズムを参照していますか?もしそうなら、私は標準実装のメモリ要件はO(log k * n)になると思います。更新ステップで(point、cluster)ペアのリストを保存する必要があるからです。kは通常小さいので、私の推測では通常、各ポイントの短いものを格納するだけで済むと思いますが、特定の実装については調べていません。
— rm999

データをディスクに保存して、各パスでスキャンする場合は、サイズ中間ストレージのみが本当に必要です。もちろん、これは非常に遅いため、トレードオフが伴います。具体的に何を探していましたか。k
— Suresh Venkatasubramanian

回答:


1

Lloydsのようなアルゴリズムは、浮動小数点値のメモリ使用のみで実装できます。MacQueens k-meansアルゴリズムは、メモリのみを必要とします。k⋅(2⋅d+1)k⋅(d+1)

ただし、ほとんどのユーザーはどのポイントがどのクラスターに属するかを知りたいので、見つけるほとんどすべての実装はメモリーを使用します。O(ん+k⋅d)

つまり、k-meansによるメモリ使用量は、本質的に出力データサイズです。


0

私は最近、scipy.cluster.vq.pyのk-meansアルゴリズムのscipy実装のメモに遭遇しました

Notes
-----
This could be faster when number of codebooks is small, but it
becomes a real memory hog when codebook is large. It requires
N by M by O storage where N=number of obs, M = number of
features, and O = number of codes.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.