Начальные центроиды в k-средних - PullRequest
0 голосов
/ 13 декабря 2018

Итак, я нашел в Интернете описание, которое гласит:

Начните с центра всех точек.Выберите последовательно точку, наиболее удаленную от всех центров, в качестве центра для следующего кластера.

Итак, я беру это:

center = avg всех точек

centroid1 = точка, наиболее удаленная от центра

centroid2 = точка, удаленная от центра И cencroid1

centroid3 = точка, удаленная от центра И cencroid1 И centroid2.

Моя проблема в том, как мне рассчитать, например, самую дальнюю точку от центра и центроида1?Я усредняю ​​их, а затем выбираю самую дальнюю точку из середины?Рассчитать ли точку максимального расстояния от центра и центра тяжести1 и выбрать другую?Если это так, не станет ли centroid3 равным centroid1 или 2?

1 Ответ

0 голосов
/ 13 декабря 2018

В этом документе Инициализация центроидов для кластеризации K-средних с использованием улучшенного алгоритма столба сумма дальнего среднего значения.Итак, на втором шаге вам нужно сложить расстояние от первого центроида и расстояние из среднего значения всех точек для каждой точки, а затем выбрать самую большую.

Соответствующие строки в предоставленном псевдокоде:

2. Calculate D <- dis(X, m)
...
6. Set i = 1 as counter to determine the i-th initial centroid
7. DM = DM + D
8. Select x <- xargmax(DM) as the candidate for i-th initial centroids

Чтобы выбрать следующий x для кандидата от остальных начальных центроидов, D i (где i - текущий шаг итерации) пересчитывается между каждымТочки данных и c i-1 .Затем D i добавляется к накопленной метрике расстояния DM (DM <- DM + D <sub>i ).

...