Объяснение алгоритма алгоритма кластеризации k-средств

Мне нужно было написать алгоритм k-средних bisecting, но я не понял алгоритм. Я знаю алгоритм k-mean.

Можете ли вы объяснить алгоритм, но не в академическом языке

Спасибо.

Ответ 1

Идея состоит в итеративном разбиении облака точек на 2 части. Другими словами, вы создаете случайное двоичное дерево, где каждое разбиение (a node с двумя дочерними элементами) соответствует разбиению точек вашего облака на 2.

Вы начинаете с облака точек.

  • Вычислить его центроид (барицентр) w

  • Выберите точку в случайном порядке cL среди точек облака

  • Построить точку cR как симметричную точку cL по сравнению с w (отрезок cL- > w такой же, как w- > cR)

  • Отделите точки вашего облака на два, самые близкие к cR принадлежат подклассам R, а те, которые ближе всего к cL, относятся к подклассу L

  • Повторите для подкладок R и L

Примечания:

Вы можете отбросить случайные точки после их использования. Тем не менее, удерживайте центроиды всех субпоследовательностей.

Остановите, когда ваши подглавы содержат ровно одну точку.

Если вы хотите k кластеров, просто возьмите k centroids, чтобы они содержали все точки начального облака. Вы можете делать гораздо более сложные вещи, если хотите (минимизируя дисперсию облаков и т.д.). Предположим, вы хотите, чтобы 4 кластера (сила для удобства для удобства). Тогда вам нужно всего лишь разрезать вам облако на две части, а затем разрезать каждый подглавы в два. Если вы хотите 8 кластеров, то снова разрезайте эти подглавы один раз в два. И снова для 16 кластеров.

Если вы хотите, чтобы кластеры K с K не имели силы 2 (скажем, 24), тогда посмотрите на ближайшую низшую мощность двух. Это 16. Вам все еще не хватает 8 кластеров. Каждый "уровень-16-кластер" является центроидом "уровня-16-подкласса". То, что вы сделаете, это взять 8 "кластеров уровня-16" (случайным образом, например) и заменить их каждый двумя "дочерними" "32-кластерами уровня". (Эти два дочерних "уровня-32-кластера" соответствуют двум "уровням 32-подкласса", которые составляют до родительского уровня 16-подкласса)