Это 11-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления
Эта статья является пятой в серии заметок по курсу машинного обучения Эндрю Нг. В ней в основном представлены несколько алгоритмов кластеризации, в том числе классический алгоритм K-Means, а также его расширенный алгоритм K-Means пополам и еще один широко используемый алгоритм DBSCAN.
Кластеризация
Кластеризация — это процесс разделения набора данных на несколько групп или кластеров, состоящих из нескольких похожих объектов, чтобы максимизировать сходство между объектами в одной группе и свести к минимуму сходство между объектами в разных группах. является неконтролируемой проблемой.
Алгоритм K-средних
это количество кластеров. Это число выбрано искусственно. Алгоритм K-Means основан на центроидальном разбиении.
Алгоритм потока:
- Первый случайно выбранныйточку в качестве начального центра кластера.
- Для каждого данных в наборе данных оцените его какрасстояние до каждой центральной точки и связать его с ближайшей центральной точкой.
- Пересчитайте среднее значение в каждом кластере, обновите положение центра кластера.
Оценка расстояния: евклидово расстояние или косинусное сходство
Описание алгоритма:
- означает первыйЦентр кластеризации,означает первыйобразцы,Указывает количество образцов
Оптимизация алгоритма
K-Means также минимизирует стоимость кластеризации, а минимизируется сумма расстояний между всеми точками данных и связанными с ними центральными точками кластера.Введена функция стоимости K-Means:
также называемыйФункция искажения
На самом деле, в первом цикле for при назначении центров кластеров образцам вы сокращаетеПонесенные затраты; во втором цикле for они уменьшаютсяпонесенные затраты.
определить значение k
Поскольку различные инициализации, вероятно, приведут к различным результатам кластеризации, при применении алгоритмов кластеризации часто выполняется несколько случайных инициализаций и рассчитываются соответствующие функции стоимости.Метод локтя, выберите значение k, соответствующее более очевидной части «локтевого сустава», в качестве количества кластеров. Как показано ниже:
Вот некоторые другие распространенные алгоритмы кластеризации:
Двудольный алгоритм K-средних
Алгоритм Bisection K-Means (bisecting kmeans), по сравнению с обычным K-Means, bisection K-Means не спешит рандомизировать K центров кластеров, а сначала классифицирует все точки в кластер, а затем кластер разбивается на два. Вычислите функцию стоимости (т. е. ошибку) каждого результирующего кластера, выберите кластер с наибольшей ошибкой, затем разделите его (т. е. минимизируйте ошибку) и повторяйте процесс, пока не будет достигнуто желаемое количество кластеров.
Ошибка принимает SSE (Sum of Squared Error), которая представляет собой сумму квадратов ошибок. Чем меньше SSE, тем более сконцентрированы объекты в кластере.
Алгоритм жадный, объем вычислений не маленький.
Алгоритм DBSCAN
Алгоритм DBSCAN представляет собой алгоритм на основе плотности, который делит области с достаточно высокой плотностью на кластеры и находит кластеры произвольной формы в зашумленной пространственной базе данных, которая определяет кластер как наибольший набор плотносвязанных точек.
Базовые концепты:
- Площадь: заданный радиус объектаОкрестности внутри объекта называютсяПлощадь.
- : минимальное количество точек, содержащихся в данной окрестности, для определения точкиЯвляется ли это основной частью кластера или граничными точками или шумом.
- основной объект: если объектОкрестность содержит не менееОбъект называется основным объектом.
- пограничная точка: граничная точка не является центральной точкой, но находится в окрестности центральной точки. Точки на краях плотных областей.
- точка шума: любая точка, которая не является ни центральной, ни граничной точкой. Точки в разреженных областях.
- Прямая плотность до: еслисуществуетизпо соседству иявляется основным объектом, он называется объектомот объектаОтправление непосредственно плотности досягаемости.
- плотность до: если есть цепочка объектов, за,дапримерно отинепосредственно достижимая плотность, то объектот объектаоиДостижимая плотность (densityreachable).
- связанная плотность: если объект существует, сделать объективсе изоиплотность достижима, то объектприбытьэто оиплотностно-связанный.
- кластеры на основе плотности: это самый большой набор объектов, связанных плотностью, основанный на достижимости плотности.
- шум: Объекты, не содержащиеся ни в одном кластере.
Алгоритм DBSCAN заключается в проверке значения каждой точки в наборе данных.окрестности для поиска кластеров.
Поток алгоритма
Алгоритмы плюсы и минусы
Преимущество:
- Нет необходимости указывать количество кластеров
- Хорошо находит выбросы (задачи обнаружения)
- Встречаются скопления произвольной формы.
- Всего два параметра
Недостаток:
- Параметры сложно подобрать (параметры очень сильно влияют на результаты)
- Многомерные данные несколько сложны (можно уменьшить размерность)