Методы кластеризации

21
Методы кластеризации Андрей Федоровский [email protected]
  • Upload

    -
  • Category

    Documents

  • view

    1.285
  • download

    3

description

Семинар прошел в московском хакспейсе Neuron в августе 2012

Transcript of Методы кластеризации

Page 1: Методы кластеризации

Методы кластеризации

Андрей Федоровский[email protected]

Page 2: Методы кластеризации

Обучение без учителя

Группировка объектов по похожести.

Задача кластеризации обычно поставлена нечетко:• Неизвестны свойства классов• Неизвестно их количество• Неизвестно, есть ли они вообще• Нет обучающей выборки• Нет очевидных критериев качества• Зато обычно есть множество эвристик

А. Федоровский Методы кластеризации

Page 3: Методы кластеризации

Результат

• Разбиение объектов на группы• Нахождение типичных точечных представителей

классов (объекты, центроиды)• Нахождение нетипичных представителей классов

(выбросы)• Построение полной иерархии групп объектов

(таксономия)

А. Федоровский Методы кластеризации

Page 4: Методы кластеризации

Постановка задачи

– пространство объектов. – расстояние на нем Надо найти множество классов и алгоритм отображения такой, чтобы• объекты внутри одного класса были близки• объекты из разных классов существенно

различались

Есть также случай, когда задается обучающее множество , существенно меньшее, чем .

А. Федоровский Методы кластеризации

Page 5: Методы кластеризации

Уменьшение размерности

Для большинства алгоритмов слишком большая размерность критична.

Какие есть способы снижения размерности?

А. Федоровский Методы кластеризации

Page 6: Методы кластеризации

Уменьшение размерности

Для большинства алгоритмов слишком большая размерность критична.

• Выбор признаков• Частотность слов• Information gain

• Feature extraction

А. Федоровский Методы кластеризации

Page 7: Методы кластеризации

Виды кластеров

• Сферические• Гауссовы• Ленточные• Содержащие перемычки• Содержащие фон• Перекрывающиеся

А. Федоровский Методы кластеризации

Page 8: Методы кластеризации

Графы: алгоритм КНП

Найти пару наиболее близких точек и соединить их ребром.Пока в выборке есть изолированные точки { Найти ближайшую пару точек (i, j), где i – изолированная, а j – нет Соединить их ребром}

Доказано, что в результате получится кратчайший незамкнутый путь: соединяющий все точки граф с минимальной длиной.

Удалив из него K самых длинных ребер, получим K кластеров.

Алгоритм прост, но медленен: . Кроме того, он чувствителен к фоновому шуму.

А. Федоровский Методы кластеризации

Page 9: Методы кластеризации

Цель – построение дендрограммы на основе попарных расстояний между кластерами.

Дивизивные алгоритмы – Агломеративные – и даже .

Иерархическая кластеризация

А. Федоровский Методы кластеризации

Page 10: Методы кластеризации

Алгоритм Ланса-УильямсаВсе кластеры одноэлементные:Расстояние между такими кластерами очевидно .Для { Находим 2 ближайших(?) друг к другу кластера из :

Сливаем их в один кластер

Рассчитываем для всех }

Осталось понять, как рассчитывать , зная , , .

А. Федоровский Методы кластеризации

Обобщенное расстояние Ланса-Уильямса

Page 11: Методы кластеризации

Расстояние Ланса-Уильямса

А. Федоровский Методы кластеризации

Page 12: Методы кластеризации

Расстояние Ланса-Уильямса

А. Федоровский Методы кластеризации

Расстояние ближнего соседа – «цепочечный» эффект. Реализация SLINK за . Расстояние между центроидами – неприменим быстрый алгоритм.Расстояние Уорда – обычно выше точность. Реализация на Python: NumPy/SciPy hcluster

Page 13: Методы кластеризации

Быстрый алгоритм Ланса-УильямсаВсе кластеры одноэлементные:Расстояние . Выберем и Для { Если , увеличить так, чтобы : из случайного семпла из размером Находим 2 ближайших друг к другу кластера из :

Сливаем их в один кластер

Рассчитываем для всех Добавляем в Если , }

А. Федоровский Методы кластеризации

Page 14: Методы кластеризации

k-means

Допустим, что нам известно желаемое число кластеров k.

Выберем случайное начальное расположение их центроидов .Повторить { Отнести каждый объект к кластеру с ближайшим к центроидом

Пересчитать центроиды кластеров

} пока хотя бы один меняет свой кластер.

А. Федоровский Методы кластеризации

* При большой размерности лучше использовать k-medoid: вместо центроидов выбираются . Иллюстрация к обоим методам: http://www.math.le.ac.uk/people/ag153/homepage/KmeansKmedoids/Kmeans_Kmedoids.html

Page 15: Методы кластеризации

k-means: частичное обучение

Допустим, что нам известно желаемое число кластеров k и обучающая выборка , принадлежащая известным классам.

Выберем случайное начальное расположение их центроидов .Повторить { Отнести каждый объект к кластеру с ближайшим к центроидом

Пересчитать центроиды кластеров

} пока хотя бы один меняет свой кластер.

А. Федоровский Методы кластеризации

Page 16: Методы кластеризации

DBSCAN

Идея: выделить достаточно плотное ядро кластера

Точка непосредственно плотно-достижима из , если и содержит не менее, чем точек из кластера.Точка плотно-достижима из , если н.п.д. из н.п.д. из .Точки и плотно связаны, если и плотно-достижимы из .

А. Федоровский Методы кластеризации

B,C плотно-достижимы из A.B и C плотно связаны.N – шум.

Page 17: Методы кластеризации

DBSCANБерем . Для каждой непосещенной точки { Помечаем ее как посещенную. Если , помечаем эту точку как шум. Иначе начинаем кластер: Помечаем, что принадлежит кластеру Для всех непосещенных { Помечаем как посещенную. Если { Помечаем, что входит в , если она еще не входит ни в один } } }}

А. Федоровский Методы кластеризации

Page 18: Методы кластеризации

DBSCAN

Может справиться с ленточным кластером любой формы.Быстрый. при использовании специального пространственного индекса.Достаточно устойчив к шуму.

Минус – требует подбора .

А. Федоровский Методы кластеризации

Page 19: Методы кластеризации

Критерии останова: silhouetteОтношение среднего межкластерного и среднего внутрикластерного расстояния.

Если близко к 1, значит , то есть точка лежит в плотном кластере.Среднее для всех точек кластера – показатель его плотности.А для всего – показатель хорошего разбиения.

А. Федоровский Методы кластеризации

Page 20: Методы кластеризации

Муки выбораИерархический лучше, когда нужна таксономия.Кстати, она позволяет менять k на лету.

K-means – когда есть оценка числа кластеров и/или кластера сферические. И лучше провести несколько раундов с разными начальными значениями и разными k.

DBSTAT – кластера ленточные или линейно неразделимые и/или сильно зашумленные данные.

Помогут также пре-кластеризация, такая как canopy clustering или гибридные методы.Если есть возможность получить обучающую коллекцию – надо брать.

А. Федоровский Методы кластеризации

Page 21: Методы кластеризации

Вопросы?

Андрей Федоровский[email protected]