21

k-means ウィキペディアのページを調べていました。O(n*k*i)アルゴリズムに基づいて、複雑さは( n= 要素の総数、k= クラスターの反復回数) であると思います

それで、誰かがウィキペディアからのこの声明を説明してもらえますか?このNPはどのように難しいのですか?

kと(次元) が固定されている場合d、問題は時間内に正確に解決できます。ここで、はクラスター化されるエンティティの数です。O(ndk+1 log n)n

4

3 に答える 3

38

それは、あなたがkと呼ぶものに依存します。

k-means目的関数の大域的最適解を求める問題

ここに画像の説明を入力

は NP 困難です。ここで、 はクラスター(およびクラスターがあります)、はクラスター内の次元の点、 はクラスターの重心 (点の平均) です。SiikxjdSiμiSi

ただし、標準アルゴリズムの固定回数tの反復を実行すると、 (次元の) ポイントに対してのみかかります。ここで、 は重心 (またはクラスター) の数です。これは実際の実装で行われることです (多くの場合、反復の間にランダムな再起動があります)。O(t*k*n*d)ndk

標準アルゴリズムは、上記の関数の局所最適を近似するだけであり、私が見たすべてのk平均法アルゴリズムも同様です。

于 2013-09-05T11:00:39.400 に答える
3

この回答iでは、k-means 目的の式でi使用されるものと、k-means の時間計算量 (つまり、収束までに必要な反復回数) の分析で使用されるものは異なることに注意してください。

于 2015-11-22T02:27:22.240 に答える