Методы кластеризации
Post on 15-Jun-2015
1260 Views
Preview:
DESCRIPTION
Transcript
Методы кластеризации
Андрей Федоровскийfedorovsky@gmail.com
Обучение без учителя
Группировка объектов по похожести.
Задача кластеризации обычно поставлена нечетко:• Неизвестны свойства классов• Неизвестно их количество• Неизвестно, есть ли они вообще• Нет обучающей выборки• Нет очевидных критериев качества• Зато обычно есть множество эвристик
А. Федоровский Методы кластеризации
Результат
• Разбиение объектов на группы• Нахождение типичных точечных представителей
классов (объекты, центроиды)• Нахождение нетипичных представителей классов
(выбросы)• Построение полной иерархии групп объектов
(таксономия)
А. Федоровский Методы кластеризации
Постановка задачи
– пространство объектов. – расстояние на нем Надо найти множество классов и алгоритм отображения такой, чтобы• объекты внутри одного класса были близки• объекты из разных классов существенно
различались
Есть также случай, когда задается обучающее множество , существенно меньшее, чем .
А. Федоровский Методы кластеризации
Уменьшение размерности
Для большинства алгоритмов слишком большая размерность критична.
Какие есть способы снижения размерности?
А. Федоровский Методы кластеризации
Уменьшение размерности
Для большинства алгоритмов слишком большая размерность критична.
• Выбор признаков• Частотность слов• Information gain
• Feature extraction
А. Федоровский Методы кластеризации
Виды кластеров
• Сферические• Гауссовы• Ленточные• Содержащие перемычки• Содержащие фон• Перекрывающиеся
А. Федоровский Методы кластеризации
Графы: алгоритм КНП
Найти пару наиболее близких точек и соединить их ребром.Пока в выборке есть изолированные точки { Найти ближайшую пару точек (i, j), где i – изолированная, а j – нет Соединить их ребром}
Доказано, что в результате получится кратчайший незамкнутый путь: соединяющий все точки граф с минимальной длиной.
Удалив из него K самых длинных ребер, получим K кластеров.
Алгоритм прост, но медленен: . Кроме того, он чувствителен к фоновому шуму.
А. Федоровский Методы кластеризации
Цель – построение дендрограммы на основе попарных расстояний между кластерами.
Дивизивные алгоритмы – Агломеративные – и даже .
Иерархическая кластеризация
А. Федоровский Методы кластеризации
Алгоритм Ланса-УильямсаВсе кластеры одноэлементные:Расстояние между такими кластерами очевидно .Для { Находим 2 ближайших(?) друг к другу кластера из :
Сливаем их в один кластер
Рассчитываем для всех }
Осталось понять, как рассчитывать , зная , , .
А. Федоровский Методы кластеризации
Обобщенное расстояние Ланса-Уильямса
Расстояние Ланса-Уильямса
А. Федоровский Методы кластеризации
Расстояние Ланса-Уильямса
А. Федоровский Методы кластеризации
Расстояние ближнего соседа – «цепочечный» эффект. Реализация SLINK за . Расстояние между центроидами – неприменим быстрый алгоритм.Расстояние Уорда – обычно выше точность. Реализация на Python: NumPy/SciPy hcluster
Быстрый алгоритм Ланса-УильямсаВсе кластеры одноэлементные:Расстояние . Выберем и Для { Если , увеличить так, чтобы : из случайного семпла из размером Находим 2 ближайших друг к другу кластера из :
Сливаем их в один кластер
Рассчитываем для всех Добавляем в Если , }
А. Федоровский Методы кластеризации
k-means
Допустим, что нам известно желаемое число кластеров k.
Выберем случайное начальное расположение их центроидов .Повторить { Отнести каждый объект к кластеру с ближайшим к центроидом
Пересчитать центроиды кластеров
} пока хотя бы один меняет свой кластер.
А. Федоровский Методы кластеризации
* При большой размерности лучше использовать k-medoid: вместо центроидов выбираются . Иллюстрация к обоим методам: http://www.math.le.ac.uk/people/ag153/homepage/KmeansKmedoids/Kmeans_Kmedoids.html
k-means: частичное обучение
Допустим, что нам известно желаемое число кластеров k и обучающая выборка , принадлежащая известным классам.
Выберем случайное начальное расположение их центроидов .Повторить { Отнести каждый объект к кластеру с ближайшим к центроидом
Пересчитать центроиды кластеров
} пока хотя бы один меняет свой кластер.
А. Федоровский Методы кластеризации
DBSCAN
Идея: выделить достаточно плотное ядро кластера
Точка непосредственно плотно-достижима из , если и содержит не менее, чем точек из кластера.Точка плотно-достижима из , если н.п.д. из н.п.д. из .Точки и плотно связаны, если и плотно-достижимы из .
А. Федоровский Методы кластеризации
B,C плотно-достижимы из A.B и C плотно связаны.N – шум.
DBSCANБерем . Для каждой непосещенной точки { Помечаем ее как посещенную. Если , помечаем эту точку как шум. Иначе начинаем кластер: Помечаем, что принадлежит кластеру Для всех непосещенных { Помечаем как посещенную. Если { Помечаем, что входит в , если она еще не входит ни в один } } }}
А. Федоровский Методы кластеризации
DBSCAN
Может справиться с ленточным кластером любой формы.Быстрый. при использовании специального пространственного индекса.Достаточно устойчив к шуму.
Минус – требует подбора .
А. Федоровский Методы кластеризации
Критерии останова: silhouetteОтношение среднего межкластерного и среднего внутрикластерного расстояния.
Если близко к 1, значит , то есть точка лежит в плотном кластере.Среднее для всех точек кластера – показатель его плотности.А для всего – показатель хорошего разбиения.
А. Федоровский Методы кластеризации
Муки выбораИерархический лучше, когда нужна таксономия.Кстати, она позволяет менять k на лету.
K-means – когда есть оценка числа кластеров и/или кластера сферические. И лучше провести несколько раундов с разными начальными значениями и разными k.
DBSTAT – кластера ленточные или линейно неразделимые и/или сильно зашумленные данные.
Помогут также пре-кластеризация, такая как canopy clustering или гибридные методы.Если есть возможность получить обучающую коллекцию – надо брать.
А. Федоровский Методы кластеризации
Вопросы?
Андрей Федоровскийfedorovsky@gmail.com
top related