2013-09-05 12 views
4

Я проходил через k-means wiki page. На основе алгоритма, я думаю, что сложность O(n*k*i) (n = общие элементы, k = число кластеров итерации)Вычислительная сложность k-средних

Так может кто-нибудь объяснить мне это заявление из Википедии и как это NP трудно?

Если k и d (размерность) фиксированы, то проблема может быть решена точно вовремя O(ndk+1 log n), где n является число объектов, которые будут сгруппированы.

ответ

14

Это зависит от того, что вы называете k -средства. Проблема нахождения глобального оптимума в K -средних целевая функция

enter image description here

является NP-трудной. Тем не менее, работаешь фиксированное число я итераций standard algorithm принимает только O (iknd) для п точек в д размеров, и это то, что делают практические реализации (часто со случайными перезапусками между итерациями). Стандартный алгоритм только аппроксимирует локальный оптимум вышеуказанной функции, поэтому все k - алгоритмы, которые я видел.

+1

Что такое «S» в этом примере? – Candic3

+0

S_i - центроид с центром mu_i. x_j - это точки, назначенные этому центроиду. –

1

Вышеуказанный ответ правильный, но i не является тем, что используется в формуле. i - количество итераций, необходимых для конвергенции. Это потому, что для каждой точки вы должны рассчитать расстояние со средним значением для каждого кластера и порядка d (количество функций).

Смежные вопросы