K-означает инициализацию с дальнейшим первым обходом и k-mean ++ - PullRequest
0 голосов
/ 07 октября 2018

Я запутался в инициализации k-mean ++.Я понимаю, что k-mean ++ выбирает и дальше всего обозначает точку данных как следующий центр обработки данных.Но как насчет выбросов?В чем разница между `инициализацией с дальнейшим первым обходом и k-mean ++?

Я видел, как кто-то объяснял так:


Вот одномерный пример,Наши наблюдения [0, 1, 2, 3, 4].Пусть первый центр, c1, равен 0. Вероятность того, что следующий центр кластера, c2, равен x, пропорциональна || c1-x || ^ 2.Итак, P (c2 = 1) = 1a, P (c2 = 2) = 4a, P (c2 = 3) = 9a, P (c2 = 4) = 16a, где a = 1 / (1 + 4 + 9 +16).

Предположим, c2 = 4.Тогда P (c3 = 1) = 1a, P (c3 = 2) = 4a, P (c3 = 3) = 1a, где a = 1 / (1 + 4 + 1).


Что это за массив или список [0,1,2,4,5,6,100].Очевидно, что в этом случае 100 является выбросом, и в какой-то момент он будет выбран в качестве центра обработки данных.Может кто-нибудь дать лучшее объяснение?

1 Ответ

0 голосов
/ 10 октября 2018

K-означает, выбирает точки с вероятностью .

Но да, с экстремальными выбросами он может выбрать выброс.

То есть отлично , потому что так будет и k-означает.Скорее всего, лучшее SSQ-решение имеет одноэлементный кластер, содержащий только эту точку.

Если у вас есть такие данные, решения k-средних имеют тенденцию быть довольно бесполезными, и вам, вероятно, следует выбрать другой алгоритм, такой как DBSCAN.вместо этого.

...