Эндрю Нг. Машинное обучение, серия 20: Алгоритм K-средних

машинное обучение

При неконтролируемом обучении мы передаем немаркированный набор данных алгоритму и позволяем ему автоматически обнаруживать взаимосвязь между данными.Алгоритм кластеризации(Clustering algorithm)Это неконтролируемый алгоритм обучения. Он автоматически классифицирует немаркированный набор данных, как показано ниже:

未命名图片.png

Он разделит этот набор данных на две категории, каждый зеленый кружок — это категория.


Среди алгоритмов кластеризации наиболее распространенным являетсяАлгоритм К-средних (K-means algorithm), давайте сначала посмотрим, как алгоритм работает в следующем наборе данных.

未命名图片.png

Если набор данных разделен на две категории, первым шагом является случайный выбор двух точек в качествецентр кластера(Обычно это не выбор. Для более удобного понимания сначала выберите это, а как правильно выбрать я расскажу позже):

未命名图片.png

Для каждой точки выборки ближайший к ней центр кластера будет окрашен соответствующим цветом и отнесен к той же категории:

未命名图片.png

Затем каждый класс вычисляет ближайшее местоположение к этим наборам данных и перемещает центр кластера в это место:

未命名图片.png

Затем покрасьте:

未命名图片.png

Снова двигайся, снова крась, снова двигайся, снова крась, снова двигайся. . . (Какова природа человека) циклически повторяется до тех пор, пока центр кластера не перестанет двигаться:

未命名图片.png

Теперь мы успешно разделили два разных набора данных.


оглянуться назад сноваАлгоритм К-средних (K-means algorithm): необходимо передать два параметра, что требуетколичество кластеров KиОбучающий набор.

未命名图片.png

Вначале центры кластеров инициализируются случайным образом в соответствии с количеством K входящих кластеров, а затем непрерывно повторяются два цикла внутри цикла:

未命名图片.png

Красная часть указывает на то, что каждая точка выборки выбирает ближайший центр кластера для окрашивания соответствующим цветом, то есть присвоение кластера, Мы делим каждую точку выборки на центр кластера, которому она принадлежит. Фактически, это минимизация этой функции стоимости:

未命名图片.png

Синяя часть означает, что центр кластера постоянно перемещается, чтобы минимизировать расстояние до точки выборки того же цвета.



Наконец, давайте добавим, как инициализировать центр кластера. Как упоминалось ранее, этот метод инициализации случайного положения не рекомендуется.Правильная операция состоит в том, чтобы случайным образом выбрать положение точки выборки в качестве центра кластера.Чтобы избежать попадания в локальное оптимальное решение, мы должны выбрать несколько раз и выберите стоимость Тот, у которого наименьшая функция, - это наш выбор, который позволит достичь оптимального эффекта.




ps. Эта статья представляет собой учебную заметку, основанную на курсе Эндрю Нг по машинному обучению. Если вы хотите вместе изучать машинное обучение, вы можете подписаться на публичный аккаунт WeChat "SuperFeng", жду встречи с тобой.

请关注公众号.PNG