2011/10/14_data mining_lecture5

36
Введение в анализ данных: Кластеризация Юля Киселёва [email protected] Школа анализа данных

description

 

Transcript of 2011/10/14_data mining_lecture5

Page 1: 2011/10/14_data mining_lecture5

Введение в анализ данных:

Кластеризация Юля Киселёва [email protected] Школа анализа данных

     

Page 2: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   3  

План на сегодня

•  Задача  кластеризации  •  Методы  кластеризации  •  Алгоритм  k-­‐means  •  Алгоритм  CURE  

Page 3: 2011/10/14_data mining_lecture5

Задача кластеризации

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

Задача:      Сгруппировать  точки  в  определенное  число  кластеров:  –  Члены  кластера  либо  расположены  близко  друг  к  другу,  либо  похожи  друг  на  друга  

–  Члены  разных  классов  не  похожи  

17.10.11   Введение  в  анализ  данных   4  

Page 4: 2011/10/14_data mining_lecture5

Обычно:  •  Точки  расположены  в  многомерном  

пространстве  •  Похожесть  определяется  с  

использованием    расстояний:            Евклидово,  косинусное,  Jaccard  similarity,  edit  distance,….    

17.10.11   Введение  в  анализ  данных   5  

Задача кластеризации(2)

Page 5: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   6  

Кластеризация (пример)

Page 6: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   7  

Приложение: SkyCat

•  Дано:  каталог  с  описанием  небесных  объектов,  есть  измерения  излучений  каждого  объекта  

•  Задача:  Кластеризовать  в  похожие  объекты,  например  галактики,  ближайшие  звезды,  и  др.  

Page 7: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   8  

Приложение: Кластеризация фильмов

•  Интуиция:  Фильмы  разделены  на  несколько  категорий,  и  пользователи  предпочитают  несколько  из  них  

•  Представить  фильм,  как  набор  пользователей,  которым  он  нравится  (купили/выставили  рейтинг)  

•  Похожие  фильмы  характеризуются  похожим  набором  пользователей  и  наоборот  

Page 8: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   9  

Приложение: Кластеризация фильмов (2)

Пространство  для  всех  фильмов:  •    Координатами  являются  уникальные  

пользователи  –  Фильм  описывается    набором  из  0/1  –  Точка,  характеризующая  фильм  в  

пространстве  =                                      ,  где              =1  если  i  –ый  пользователь  купил  этот  фильм  

(x1, x2,...., xk ) xi

Page 9: 2011/10/14_data mining_lecture5

•   Выбор:  1.  Набор  как  вектор:  измерить  похожесть  с  

помощью    косинусного  расстояния  2.  Набор  как  набор:  измерить  похожесть  с  

помощью  Jaccard  Similarity  3.  Набор  как  точки:  измерить  похожесть  с  

помощью  Евклидова  расстояния    

17.10.11   Введение  в  анализ  данных   10  

Cosine, Jaccard, Euclidean

Page 10: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   11  

План на сегодня

•  Задача  кластеризации  •  Методы  кластеризации  •  Алгоритм  k-­‐means  •  Алгоритм  CURE  

Page 11: 2011/10/14_data mining_lecture5

§  Иерархический    подход:  •  Agglomera{ve  (bo~on  up):  

–  Изначально  каждый  элемент  –  это  отдельный  кластер  

–  Последовательно  комбинируем  ближайшие  кластера  в  один  

•  Divisive  (top  down):  –  Начинает  с  одного  кластера  и  

последовательно  разделяет  его  §   Point  Assignment:    

–  Изначально  определяется  набор  кластеров  

–  Точки  попадают  в  ближайший  кластер  

17.10.11   Введение  в  анализ  данных   12  

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

Page 12: 2011/10/14_data mining_lecture5

§  Основная  операция:              Последовательное  объединение  двух  ближайших  кластеров    §  Три  важных  вопроса:  1.  Как  представить  кластер,  содержащий  более  одной  

точки?  2.  Как  определить  ближайшие  кластера?  3.  Когда  следует  остановить  объединение  кластеров?  

17.10.11   Введение  в  анализ  данных   13  

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

Page 13: 2011/10/14_data mining_lecture5

§  Ключевая  задача:  во  время  построения  кластеров,  нужно  определить  положение  самого  кластера.    

§  Необходимо,  чтобы  определить,  расстояние  между  кластерами.  

§  Для  евклидова  случая:  каждый  кластер  характеризуется    

       центройдом  =  среднее  всех  точек  §  расстояние  между  кластерами  =  расстояние  между  

их  центройдами    

17.10.11   Введение  в  анализ  данных   14  

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

Page 14: 2011/10/14_data mining_lecture5

§  Радиус  –  это  максимальное  расстояние  между  центройдом  и  всеми  точками  кластера  

§  Диаметр  –  это  максимальное  расстояние  между  двумя  любыми  точками  в  кластере  

17.10.11   Введение  в  анализ  данных   15  

Несколько определений

Page 15: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   16  

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

•  Нужно  выбрать  точку  в  кластере,  и  она  должна  символизировать  центр  кластера      

•  Решение  1:  Clustroid  =  точка,  которая  ближе  всех  к  другим  точкам  

17.10.11   Введение  в  анализ  данных   16  

Что насчет неевклидова пространства?

Page 16: 2011/10/14_data mining_lecture5

§  Возможные  определения  для  clustroid    -­‐  это  точка,  которая  характеризуется  минимальным:  

1.  максимальное  расстояние  до  других  точек  в  кластере  

2.  Сумма  расстояний  до  других  точек  в  кластере  3.  Сумма  квадратов  расстояний  до  других  точек  –  Для  расстояния  d  центра  с  и    кластера  С      

17.10.11   Введение  в  анализ  данных   17  

Наиближайшая точка?

Page 17: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   18  

Определение «похожести» кластеров

•  Решение2:  межкластерное  расстояние  =  минимум  среди  расстояний  между  точками  из  разных  кластеров  

•  Решение  3:  Рассмотрим  понятие  «сплоченности»  кластеров  •  Объединяем  кластеры,  объедения  которых  «сплочены»  больше.  

Page 18: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   19  

Сплоченность кластеров

§  Решение  1:        использовать  диаметр  кластеров  

§  Решение  2:    использовать  среднюю  длину  между  точками  в  кластере  

§  Решение  3:  применить  подход,  основанный  на  плотности:  подсчитать  диаметр  кластера  или  среднюю  длину  между  точками  и  разделить  на  количество  точек  в  кластере  

Page 19: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   20  

План на сегодня

•  Задача  кластеризации  •  Методы  кластеризации  •  Алгоритм  k-­‐means  •  Алгоритм  CURE  

Page 20: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   21  

Алгоритм k-means

•  Используем  евклидово  пространство/расстояние  

•  Выбираем  K  –  число  кластеров  •  Выбираем  K  точек,  которые  будут  отражать  К  кластеров    

Пример  выбора  K  точек:  рандомно  выбираем  первую  точку,  затем    выбираем  k-­‐1    точек,  каждую  по  возможности  дальше  от  другой  

Page 21: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   22  

1.  Каждая  выбранная  точка  является  центройдом,  выбираем  ближайшие  к  ней  точки  и  помещаем  их  в  кластер.  

2.  После  того,  как  все  точки  помещены  в  к  кластеров,    пересчитываем  центройды  для  каждого  кластера  

3.  Далее:  перемещаем  все  точки  к  ближайшему  к  ним  центройду.  

17.10.11   Введение  в  анализ  данных   22  

Получение кластеров

Page 22: 2011/10/14_data mining_lecture5

   

17.10.11   Введение  в  анализ  данных   23  

Пример: перемещения точек в другой кластер

Корзина  1  

Корзина  2  

Корзина  3  

Page 23: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   24  17.10.11   Введение  в  анализ  данных   24  

Средний  диаметр  (или  иной  мера  диффузности)  увеличивается  быстро,  как  только  количество  кластеров  падает  ниже  истинного  числа,  присутствующего  в  данных  

17.10.11   Введение  в  анализ  данных   24  

Определение k

Page 24: 2011/10/14_data mining_lecture5

Слишком  мало    кластеров:  Много  длинных    Расстояний  до    центройда    

   

17.10.11   Введение  в  анализ  данных   25  

Пример: выбор К

Page 25: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   26  17.10.11   Введение  в  анализ  данных   26  

 

17.10.11   Введение  в  анализ  данных   26  

Пример: выбор К

       То  что  нужно:  Расстояние  более  короткие  

Page 26: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   27  

Пример: выбор К

Слишком  много:  совсем  небольшое    улучшение    средней  длины  

Page 27: 2011/10/14_data mining_lecture5

•  BFR[Bradley-­‐Fayyad-­‐Reina]  –  это  вариант  алгоритма  k-­‐means,  который  был  спроектирован  для  работы  с  большими  объемами  данных  

•  Предполагается,  что  кластеры  распределены  относительно  центройда  и  имеют  определенную  форму:  

17.10.11   Введение  в  анализ  данных   28  

BFR Алгоритм

Page 28: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   29  

План на сегодня

•  Задача  кластеризации  •  Методы  кластеризации  •  Алгоритм  k-­‐means  •  Алгоритм  CURE  

Page 29: 2011/10/14_data mining_lecture5

CURE Aлгоритм

     CURE  =  Clustering  Using  REpresenta{ves  •  Евклидово  пространство  •  Не  заботится  о  форме  кластеров  •  Кластер  представляется  коллекцией  репрезентативных  точек    

17.10.11   Введение  в  анализ  данных   30  

Page 30: 2011/10/14_data mining_lecture5

•  п  

Пример: зарплата в Стэндфордском Университете

17.10.11   Введение  в  анализ  данных   31  

Page 31: 2011/10/14_data mining_lecture5

СURE Алгоритм

1.  Случайным  образом  выбираем  набор  точек,  которые  помещаются  в  память  

2.   Кластеризуем  этот  набор  помощью  иерархического  метода  –  группируем  наиболее  близкие  точки  

   

17.10.11   Введение  в  анализ  данных   32  

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

3.  

Page 32: 2011/10/14_data mining_lecture5

4.  Из  набора  нужно  выбрать  представителей,  перемещая  их  (скажем)  20%  в  сторону  центра  тяжести  кластера  

5.  Затем  обходим  каждую  точку  p  и  перемещаем  ее  в  ближайший  кластер.  

Определение:  «Ближайшим»  к  p  называется  кластер,  который  содержит  большее  число  ближайших  к  p  точек      

СURE Алгоритм (2)

17.10.11   Введение  в  анализ  данных   33  

Page 33: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   34  

Метрики для оценки

§  C-­‐index  (Dalrymple-­‐Alford,  1970)  §  Gamma  (Baker  &  Hubert,  1975)  §   Adjusted  raBo  of  clustering  (Roenker  et  al.,  1971)  §   D-­‐index  (Dalrymple-­‐Alford,  1970)  §   Modified  raBo  of  repeBBon  (Bower,  Lesgold,  and  Tieman,  1969)  

§  Dunn's  index  (Dunn,  1973)  §  VariaFons  of  Dunn’s  index  (Bezdek  and  Pal,  1998)  §  Jagota  index  (Arun  Jagota  2003)  §  Strict  separaBon  (based  on  Balacan,  Blum,  and  Vempala,  2008)  

§  And  many  more...  

Page 34: 2011/10/14_data mining_lecture5

•     

•  где  |Ci  |    -­‐  это  число  элементов  в  кластере  I  •  Q  будет  маленьким,  если  (в  среднем)  точки  в  кластере  близки  друг  к  другу    

Оценка (1)

17.10.11   Введение  в  анализ  данных   35  

∑∑∈=

=iC

i

k

i i

dC

Qx

x ),(||

11

µ

 Jagota    предложил  метрику,  которая  отражает  однородность  кластера:    

Page 35: 2011/10/14_data mining_lecture5

17.10.11   Введение  в  анализ  данных   36  

Что такое анализ данных? Gamma

)()()()(−++

−−+=

dddd

γ

•  За  d(+)    обозначим  число  раз,  когда  две  точки,  которые  были  кластеризованы  вместе  в  кластер  С  имели  расстояние    большее,  чем  другие  две  точки  не  помещенные  в  один  кластер    

•  За  d(-­‐)  обозначим  противоположный  результат  

Page 36: 2011/10/14_data mining_lecture5

•  Познакомились  с  задачей  кластеризации  •  Ввели  несколько  определений  •  k-­‐means  •  CURE  •  Ввели  методы  оценки  

17.10.11   Введение  в  анализ  данных   37  

Резюме