SlideShare a Scribd company logo
1 of 36
Download to read offline
Графовые методы кластеризации
Иерархическая кластеризация (таксономия)
    Статистические методы кластеризации




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

                              К. В. Воронцов
                            vokov@forecsys.ru


       Этот курс доступен на странице вики-ресурса
         http://www.MachineLearning.ru/wiki
     «Машинное обучение (курс лекций, К.В.Воронцов)»



                                24 апреля 2012


       К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   1 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

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

  Дано:
   X — пространство объектов;
             ℓ
   X ℓ = xi i=1 — обучающая выборка;
   ρ : X × X → [0, ∞) — функция расстояния между объектами.
  Найти:
   Y — множество кластеров и
   a : X → Y — алгоритм кластеризации, такие, что:
      — каждый кластер состоит из близких объектов;
      — объекты разных кластеров существенно различны.
  Кластеризация — это обучение без учителя.




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   2 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

Некорректность задачи кластеризации

  Решение задачи кластеризации принципиально неоднозначно:
        точной постановки задачи кластеризации нет;
        существует много критериев качества кластеризации;
        существует много эвристических методов кластеризации;
        число кластеров |Y |, как правило, неизвестно заранее;
        результат кластеризации существенно зависит
        от метрики ρ, которую эксперт задаёт субъективно.




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   3 / 36
Графовые методы кластеризации
   Иерархическая кластеризация (таксономия)
       Статистические методы кластеризации

Цели кластеризации

       Упростить дальнейшую обработку данных,
       разбить множество X ℓ на группы схожих объектов
       чтобы работать с каждой группой в отдельности
       (задачи классификации, регрессии, прогнозирования).
       Сократить объём хранимых данных,
       оставив по одному представителю от каждого кластера
       (задачи сжатия данных).
       Выделить нетипичные объекты,
       которые не подходят ни к одному из кластеров
       (задачи одноклассовой классификации).
       Построить иерархию множества объектов
       (задачи таксономии).



          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   4 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

Типы кластерных структур


                                внутрикластерные расстояния, как правило,
                                меньше межкластерных



                                ленточные кластеры




                                кластеры с центром




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   5 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

Типы кластерных структур



                                кластеры могут соединяться перемычками



                                кластеры могут накладываться на разрежен-
                                ный фон из редко расположенных объектов



                                кластеры могут перекрываться




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   6 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

Типы кластерных структур


                                кластеры могут образовываться не по сход-
                                ству, а по иным типам регулярностей



                                кластеры могут вообще отсутствовать


        Каждый метод кластеризации имеет свои ограничения
        и выделяет кластеры лишь некоторых типов.
        Понятие «тип кластерной структуры» зависит от метода
        и также не имеет формального определения.



           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   7 / 36
Графовые методы кластеризации
    Иерархическая кластеризация (таксономия)
        Статистические методы кластеризации

Проблема чувствительности к выбору метрики

  Результат зависит от нормировки признаков:



                                                       А — студентки,
                                                       B — студенты




                                                       после перенормировки
                                                       (сжали ось «вес» вдвое)




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации         8 / 36
Графовые методы кластеризации
      Иерархическая кластеризация (таксономия)
          Статистические методы кластеризации

Содержание: методы кластеризации


  1    Графовые методы кластеризации
         Алгоритм выделения связных компонент
         Алгоритм ФОРЭЛ
         Функционалы качества кластеризации

  2    Иерархическая кластеризация (таксономия)
        Агломеративная иерархическая кластеризация
        Дендрограмма и свойство монотонности
        Свойства сжатия, растяжения и редуктивности

  3    Статистические методы кластеризации
         EM-алгоритм
         Метод k-средних


             К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   9 / 36
Графовые методы кластеризации       Алгоритм выделения связных компонент
   Иерархическая кластеризация (таксономия)     Алгоритм ФОРЭЛ
       Статистические методы кластеризации      Функционалы качества кластеризации

Алгоритм выделения связных компонент

  Выборка представляется в виде графа:
  — вершины графа — объекты xi ;
  — рёбра — пары объектов с расстоянием ρij = ρ(xi , xj )                       R.

   1:   повторять
   2:     удалить все рёбра (i, j), для которых ρij > R;
   3:     K := число связных компонент
          (алгоритм Дейкстры или поиск в глубину);
   4:     если K < K1 то уменьшить R;
   5:     если K > K2 то увеличить R;
   6:   пока K ∈ [K1 , K2 ]
                /

  Недостатки:
     задаётся неудобный параметр R;
     высокая чувствительность к шуму.
           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                   10 / 36
Графовые методы кластеризации       Алгоритм выделения связных компонент
   Иерархическая кластеризация (таксономия)     Алгоритм ФОРЭЛ
       Статистические методы кластеризации      Функционалы качества кластеризации

Алгоритм КНП — «Кратчайший Незамкнутый Путь»

   1:   Найти пару вершин (i, j) с наименьшим ρij
        и соединить их ребром;
   2:   пока в выборке остаются изолированные точки
   3:     найти изолированную точку,
          ближайшую к некоторой неизолированной;
   4:     соединить эти две точки ребром;
   5:   удалить K − 1 самых длинных рёбер;

  Достоинство:
        задаётся число кластеров K .
  Недостаток:
        высокая чувствительность к шуму.



           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                   11 / 36
Графовые методы кластеризации      Алгоритм выделения связных компонент
   Иерархическая кластеризация (таксономия)    Алгоритм ФОРЭЛ
       Статистические методы кластеризации     Функционалы качества кластеризации

Алгоритм ФОРЭЛ — «ФОРмальные ЭЛементы»

  [Загоруйко, Ёлкина, 1967]
   1: U := X ℓ — множество некластеризованных точек;
   2: пока в выборке есть некластеризованные точки, U = ∅:
   3:   взять случайную точку x0 ∈ U;
   4:   повторять
   5:     образовать кластер с центром в x0 и радиусом R:
          K0 := {xi ∈ U | ρ(xi , x0 ) R};
   6:     переместить центр x0 в центр масс кластера:
                 1
          x0 := |K0 |   xi ;
                         xi ∈K0
   7:   пока состав кластера K0 не стабилизируется;
   8:   пометить все точки K0 как кластеризованные:
        U := U  K0 ;
   9: применить алгоритм КНП к множеству центров кластеров;
  10: каждый xi ∈ X ℓ приписать кластеру с ближайшим центром;

          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                   12 / 36
Графовые методы кластеризации         Алгоритм выделения связных компонент
 Иерархическая кластеризация (таксономия)       Алгоритм ФОРЭЛ
     Статистические методы кластеризации        Функционалы качества кластеризации



Замечание к шагу 6:
если X не является линейным векторным пространством, то
              1
    x0 :=    |K0 |            xi   −→        x0 := arg min                ρ(x, x ′ );
                     xi ∈K0                         x∈K0     x ′ ∈K   0


Преимущества ФОРЭЛ:
     получаем двухуровневую структуру кластеров;
     кластеры могут быть произвольной формы;
     варьируя R, можно управлять детальностью кластеризации.

Недостаток ФОРЭЛ:
     чувствительность к R и начальному выбору точки x0 .
     Способ устранения:
     сгенерировать несколько кластеризаций и
     выбрать лучшую по заданному функционалу качества.

        К. В. Воронцов (www.ccas.ru/voron)      Методы кластеризации                    13 / 36
Графовые методы кластеризации           Алгоритм выделения связных компонент
     Иерархическая кластеризация (таксономия)         Алгоритм ФОРЭЛ
         Статистические методы кластеризации          Функционалы качества кластеризации

Функционалы качества кластеризации
Случай 1: X — метрическое (не линейное векторное) пространство


         Среднее внутрикластерное расстояние:
                                          [yi = yj ] ρ(xi , xj )
                                    i<j
                            F0 =                                   → min .
                                                  [yi = yj ]
                                            i<j

         Среднее межкластерное расстояние:
                                          [yi = yj ] ρ(xi , xj )
                                    i<j
                           F1 =                                    → max .
                                                 [yi = yj ]
                                           i<j

         Отношение пары функционалов:

                                           F0 /F1 → min .

            К. В. Воронцов (www.ccas.ru/voron)        Методы кластеризации                   14 / 36
Графовые методы кластеризации          Алгоритм выделения связных компонент
     Иерархическая кластеризация (таксономия)        Алгоритм ФОРЭЛ
         Статистические методы кластеризации         Функционалы качества кластеризации

Функционалы качества кластеризации
Случай 2: X — линейное векторное пространство


         Сумма средних внутрикластерных расстояний:
                             1
                  Φ0 =               ρ2 (xi , µy ) → min,
                            |Ky |
                                y ∈Y           i : yi =y

         Ky = {xi ∈ X ℓ | yi = y } — кластер y ,
         µy — центр масс кластера y .
         Сумма межкластерных расстояний:
                                Φ1 =             ρ2 (µy , µ) → max,
                                        y ∈Y

         где µ — центр масс всей выборки.
         Отношение пары функционалов:
                                         Φ0 /Φ1 → min .

            К. В. Воронцов (www.ccas.ru/voron)       Методы кластеризации                   15 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Агломеративная иерархическая кластеризация

  Алгоритм Ланса-Уильямса [1967]
   1: сначала все кластеры одноэлементные:
      t := 1; Ct = {x1 }, . . . , {xℓ } ;
      R({xi }, {xj }) := ρ(xi , xj );
   2: для всех t = 2, . . . , ℓ       (t — номер итерации):
   3:    найти в Ct−1 два ближайших кластера:
         (U, V ) := arg min R(U, V );
                             U=V
          Rt := R(U, V );
   4:     слить их в один кластер:
          W := U ∪ V ;
          Ct := Ct−1 ∪ {W }  {U, V };
   5:     для всех S ∈ Ct
   6:       вычислить R(W , S) по формуле Ланса-Уильямса;


           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    16 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
       Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Формула Ланса-Уильямса

  Как определить расстояние R(W , S)
  между кластерами W = U ∪ V и S,
  зная расстояния R(U, S), R(V , S), R(U, V )?

  Формула, обобщающая большинство разумных способов
  определить это расстояние [Ланс, Уильямс, 1967]:

                 R(U ∪ V , S) = αU · R(U, S) +
                                   + αV · R(V , S) +
                                      + β · R(U, V ) +
                                      + γ · R(U, S) − R(V , S) ,

  где αU , αV , β, γ — числовые параметры.


          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    17 / 36
Графовые методы кластеризации       Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)     Дендрограмма и свойство монотонности
       Статистические методы кластеризации      Свойства сжатия, растяжения и редуктивности

Частные случаи формулы Ланса-Уильямса

   1. Расстояние ближнего соседа:
   R б (W , S) =       min       ρ(w , s);
                    w ∈W ,s∈S
                    1
   αU = αV =        2 , β = 0,     γ = −1.
                                        2


   2. Расстояние дальнего соседа:
   R д (W , S) =      max        ρ(w , s);
                    w ∈W ,s∈S
                    1                  1
   αU = αV =        2 , β = 0,     γ = 2.

   3. Групповое среднее расстояние:
                      1
   R г (W , S) =    |W ||S|             ρ(w , s);
                                w ∈W s∈S
            |U|                |V |
   αU =    |W | ,   αV =      |W | , β =   γ = 0.


          К. В. Воронцов (www.ccas.ru/voron)    Методы кластеризации                    18 / 36
Графовые методы кластеризации             Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)           Дендрограмма и свойство монотонности
       Статистические методы кластеризации            Свойства сжатия, растяжения и редуктивности

Частные случаи формулы Ланса-Уильямса

   4. Расстояние между центрами:
                                  w              s
   R ц (W , S) = ρ2              |W | ,         |S|   ;
                        w ∈W              s∈S
            |U|
   αU =    |W | ,   αV = |W|| ,
                          |V

   β = −αU αV , γ = 0.
   5. Расстояние Уорда:
                      |S||W |                w               s
   R у (W , S) =     |S|+|W |   ρ2          |W | ,          |S|   ;
                                     w ∈W             s∈S
            |S|+|U|               |S|+|V |                  −|S|
   αU =    |S|+|W | ,   αV =     |S|+|W | ,     β=        |S|+|W | ,   γ = 0.

  Проблема выбора
  Какой тип расстояния лучше?


          К. В. Воронцов (www.ccas.ru/voron)          Методы кластеризации                    19 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Визуализация кластерной структуры

  1. Расстояние ближнего соседа:

  Диаграмма вложения                                 Дендрограмма




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    20 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Визуализация кластерной структуры

  2. Расстояние дальнего соседа:

  Диаграмма вложения                                 Дендрограмма




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    21 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Визуализация кластерной структуры

  3. Групповое среднее расстояние:

  Диаграмма вложения                                 Дендрограмма




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    22 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Визуализация кластерной структуры

  5. Расстояние Уорда:

  Диаграмма вложения                                 Дендрограмма




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    23 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Свойство монотонности


  Определение
  Кластеризация монотонна, если при каждом слиянии
  расстояние между объединяемыми кластерами только
  увеличивается: R2 R3 . . . Rℓ .

  Теорема (Миллиган, 1979)
  Кластеризация монотонна, если выполняются условия
    αU      0, αV         0, αU + αV + β            1, min{αU , αV } + γ             0.

  Если кластеризация монотонна, то дендрограмма не имеет
  самопересечений.
  R ц не монотонно; R б , R д , R г , R у — монотонны.

           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                      24 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Свойства сжатия и растяжения


  Определение
  Кластеризация сжимающая, если Rt ρ(µU , µV ), ∀t.
  Кластеризация растягивающая, если Rt ρ(µU , µV ), ∀t.
  Иначе кластеризация сохраняет метрику пространства.


  Свойство растяжения наиболее желательно, так как
  оно способствует более чёткому отделению кластеров.

  R б — сильно сжимающее;
  R д , R у — растягивающие;
  R г , R ц — сохраняют метрику пространства.




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    25 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
       Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Проблема повышения эффективности алгоритма

  Проблема эффективности:
       самая трудоёмкая операция в алгоритме Ланса-Уильямса —
       — поиск ближайших кластеров — O(ℓ2 ) операций:
          шаг 3:       (U, V ) := arg min R(U, V ).
                                        U=V
       значит, построение всего дерева — O(ℓ3 ) операций.

  Идея повышения эффективности:
       перебирать лишь наиболее близкие пары:
          шаг 3:       (U, V ) := arg min R(U, V ).
                                      R(U,V ) δ
       периодически увеличивать параметр δ.


          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    26 / 36
Графовые методы кластеризации       Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)     Дендрограмма и свойство монотонности
       Статистические методы кластеризации      Свойства сжатия, растяжения и редуктивности

Быстрый (редуктивный) алгоритм Ланса-Уильямса

   1:   сначала все кластеры одноэлементные:
        t := 1; Ct = {x1 }, . . . , {xℓ } ;
        R({xi }, {xj }) := ρ(xi , xj );
   2:   выбрать начальное значение параметра δ;
        P(δ) := (U, V ) U, V ∈ Ct , R(U, V ) δ ;
   3:   для всех t = 2, . . . , ℓ (t — номер итерации):
   4:      если P(δ) = ∅ то увеличить δ так, чтобы P(δ) = ∅;
   5:      (U, V ) := arg min R(U, V );
                        (U,V )∈P(δ)
          Rt := R(U, V );
   6:     Ct := Ct−1 ∪ {W }  {U, V };
   7:     для всех S ∈ Ct
   8:       вычислить R(W , S) по формуле Ланса-Уильямса;
   9:       если R(W , S) δ то P(δ) := P(δ) ∪ (W , S) ;


           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    27 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Свойство редуктивности

  Всегда ли быстрый алгоритм строит ту же кластеризацию?
  Определение (Брюинош, 1978)
  Расстояние R называется редуктивным, если
  для любого δ > 0 и любых δ-близких кластеров R(U, V )                             δ
  объединение δ-окрестностей U и V
  содержит δ-окрестность объединения W = U ∪ V :

    S : R(U∪V , S) < δ ⊆ S : R(S, U) < δ ∪ S : R(S, V ) < δ .

  Теорема
  Если расстояние R редуктивно, то быстрый алгоритм приводит
  к той же кластеризации, что и исходный алгоритм.



           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    28 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
    Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
        Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Свойство редуктивности


  Теорема (Диде и Моро, 1984)
  Расстояние R является редуктивным, если
  αU     0, αV        0, αU +αV +min{β, 0}               1, min{αU , αV }+γ             0.


  Утверждение
  Всякое редуктивное расстояние является монотонным.

  R ц не редуктивное; R б , R д , R г , R у — редуктивные.




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    29 / 36
Графовые методы кластеризации      Агломеративная иерархическая кластеризация
   Иерархическая кластеризация (таксономия)    Дендрограмма и свойство монотонности
       Статистические методы кластеризации     Свойства сжатия, растяжения и редуктивности

Рекомендации и выводы

  Стратегия выбора параметра δ на шагах 2 и 4:
       Если |Ct |       n1 , то P(δ) := (U, V ) : U, V ∈ Ct .
       Иначе выбрать n2 случайных расстояний R(U, V );
       δ := минимальное из них;
       n1 , n2 влияют только на скорость, но не на результат
       кластеризации; сначала можно положить n1 = n2 = 20.

  Общие рекомендации по иерархической кластеризации:
       лучше пользоваться R у — расстоянием Уорда;
       лучше пользоваться быстрым алгоритмом;
       определение числа кластеров — по максимуму |Rt+1 − Rt |,
       тогда результирующее множество кластеров := Ct .



          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации                    30 / 36
Графовые методы кластеризации
                                                 EM-алгоритм
  Иерархическая кластеризация (таксономия)
                                                 Метод k-средних
      Статистические методы кластеризации




Гипотеза (о вероятностной природе данных)
Выборка X ℓ случайна, независима, из смеси распределений
                      p(x) =           wy py (x),             wy = 1,
                                y ∈Y                   y ∈Y

py (x) — плотность, wy — априорная вероятность кластера y .

Гипотеза (о пространстве объектов и форме кластеров)
X = Rn , xi ≡ f1 (xi ), . . . , fn (xi ) ; кластеры n-мерные гауссовские:
                                 n
          py (x) = (2π)− 2 (σy 1 · · · σyn )−1 exp − 1 ρ2 (x, µy ) ,
                                                     2 y

µy = (µy 1 , . . . , µyn ) — центр кластера y ;
               2           2
Σy = diag(σy 1 , . . . , σyn ) — диагональная матрица ковариаций;
                  n
                        −2
ρ2 (x, x ′ ) =
 y                     σyj |fj (x) − fj (x ′ )|2 .
                 j=1

         К. В. Воронцов (www.ccas.ru/voron)      Методы кластеризации   31 / 36
Графовые методы кластеризации
                                                EM-алгоритм
    Иерархическая кластеризация (таксономия)
                                                Метод k-средних
        Статистические методы кластеризации

EM-алгоритм (повторение)

   1: начальное приближение wy , µy , Σy для всех y ∈ Y ;
   2: повторять
   3:   E-шаг (expectation):
                                     wy py (xi )
           giy := P(y |xi ) ≡                        , y ∈ Y , i = 1, . . . , ℓ;
                                    z∈Y wz pz (xi )
   4:   M-шаг (maximization):
                  1 ℓ
           wy :=        giy , y ∈ Y ;
                  ℓ i=1
                    1 ℓ
           µyj :=           giy fj (xi ), y ∈ Y , j = 1, . . . , n;
                  ℓwy i=1
             2      1 ℓ
           σyj :=           giy (fj (xi ) − µyj )2 , y ∈ Y , j = 1, . . . , n;
                  ℓwy i=1
   5:   yi := arg max giy , i = 1, . . . , ℓ;
                    y ∈Y
   6:   пока yi не перестанут изменяться;
           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации               32 / 36
Графовые методы кластеризации
                                                EM-алгоритм
    Иерархическая кластеризация (таксономия)
                                                Метод k-средних
        Статистические методы кластеризации

Метод k-средних (k-means)

  X = Rn . Упрощённый аналог EM-алгоритма:

   1: начальное приближение центров µy , y ∈ Y ;
   2: повторять
   3:   аналог E-шага:
        отнести каждый xi к ближайшему центру:
        yi := arg min ρ(xi , µy ), i = 1, . . . , ℓ;
                    y ∈Y
   4:   аналог M-шага:
        вычислить новые положения центров:
                 ℓ
                     [yi = y ]fj (xi )
        µyj := i=1ℓ                    , y ∈ Y , j = 1, . . . , n;
                    i=1 [yi = y ]
   5: пока yi не перестанут изменяться;



           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   33 / 36
Графовые методы кластеризации
                                               EM-алгоритм
   Иерархическая кластеризация (таксономия)
                                               Метод k-средних
       Статистические методы кластеризации

Модификации и обобщения

  Варианты k-means:
       вариант Болла-Холла (на предыдущем слайде);
       вариант МакКина: при каждом переходе объекта
       из кластера в кластер их центры пересчитываются;
  Основные отличия EM и k-means:
       EM: мягкая кластеризация: giy = P{yi = y };
       k-m: жёсткая кластеризация: giy = [yi = y ];
       EM: форма кластеров эллиптическая, настраиваемая;
       k-m: форма кластеров жёстко определяется метрикой ρ;

  Гибридные варианты по пути упрощения ЕМ:
       EM с жёсткой кластеризацией на Е-шаге;
       EM без настройки дисперсий (сферические гауссианы);

          К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   34 / 36
Графовые методы кластеризации
                                                 EM-алгоритм
    Иерархическая кластеризация (таксономия)
                                                 Метод k-средних
        Статистические методы кластеризации

Частичное обучение (Semi-supervised learning)

  Дано:
   Y — множество кластеров;
        ℓ
    xi i=1 — обучающая выборка;
                ℓ+m
      xi , yi   i=ℓ+1
                        — размеченная часть выборки, обычно m ≪ ℓ.
  Найти:
   a : X → Y — алгоритм кластеризации.

  Как приспособить EM-алгоритм:
   E-шаг: giy := y = yi , y ∈ Y , i = ℓ+1, . . . , ℓ+m;

  Как приспособить k-means:
   E-шаг: yi := arg min ρ(xi , µy ), i = 1, . . . , ℓ.
                           y ∈Y




            К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   35 / 36
Графовые методы кластеризации
                                                EM-алгоритм
    Иерархическая кластеризация (таксономия)
                                                Метод k-средних
        Статистические методы кластеризации

Недостатки k-means

        Чувствительность к выбору начального приближения.
        Необходимость задавать k;

  Способы устранения этих недостатков:
        Несколько случайных кластеризаций;
        выбор лучшей по функционалу качества.
        Постепенное наращивание числа кластеров k
        (аналогично ЕМ-алгоритму)




           К. В. Воронцов (www.ccas.ru/voron)   Методы кластеризации   36 / 36

More Related Content

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

К.В. Воронцов "Алгоритмы кластеризации"

  • 1. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Методы кластеризации К. В. Воронцов vokov@forecsys.ru Этот курс доступен на странице вики-ресурса http://www.MachineLearning.ru/wiki «Машинное обучение (курс лекций, К.В.Воронцов)» 24 апреля 2012 К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 1 / 36
  • 2. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Постановка задачи кластеризации Дано: X — пространство объектов; ℓ X ℓ = xi i=1 — обучающая выборка; ρ : X × X → [0, ∞) — функция расстояния между объектами. Найти: Y — множество кластеров и a : X → Y — алгоритм кластеризации, такие, что: — каждый кластер состоит из близких объектов; — объекты разных кластеров существенно различны. Кластеризация — это обучение без учителя. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 2 / 36
  • 3. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Некорректность задачи кластеризации Решение задачи кластеризации принципиально неоднозначно: точной постановки задачи кластеризации нет; существует много критериев качества кластеризации; существует много эвристических методов кластеризации; число кластеров |Y |, как правило, неизвестно заранее; результат кластеризации существенно зависит от метрики ρ, которую эксперт задаёт субъективно. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 3 / 36
  • 4. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Цели кластеризации Упростить дальнейшую обработку данных, разбить множество X ℓ на группы схожих объектов чтобы работать с каждой группой в отдельности (задачи классификации, регрессии, прогнозирования). Сократить объём хранимых данных, оставив по одному представителю от каждого кластера (задачи сжатия данных). Выделить нетипичные объекты, которые не подходят ни к одному из кластеров (задачи одноклассовой классификации). Построить иерархию множества объектов (задачи таксономии). К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 4 / 36
  • 5. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Типы кластерных структур внутрикластерные расстояния, как правило, меньше межкластерных ленточные кластеры кластеры с центром К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 5 / 36
  • 6. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Типы кластерных структур кластеры могут соединяться перемычками кластеры могут накладываться на разрежен- ный фон из редко расположенных объектов кластеры могут перекрываться К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 6 / 36
  • 7. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Типы кластерных структур кластеры могут образовываться не по сход- ству, а по иным типам регулярностей кластеры могут вообще отсутствовать Каждый метод кластеризации имеет свои ограничения и выделяет кластеры лишь некоторых типов. Понятие «тип кластерной структуры» зависит от метода и также не имеет формального определения. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 7 / 36
  • 8. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Проблема чувствительности к выбору метрики Результат зависит от нормировки признаков: А — студентки, B — студенты после перенормировки (сжали ось «вес» вдвое) К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 8 / 36
  • 9. Графовые методы кластеризации Иерархическая кластеризация (таксономия) Статистические методы кластеризации Содержание: методы кластеризации 1 Графовые методы кластеризации Алгоритм выделения связных компонент Алгоритм ФОРЭЛ Функционалы качества кластеризации 2 Иерархическая кластеризация (таксономия) Агломеративная иерархическая кластеризация Дендрограмма и свойство монотонности Свойства сжатия, растяжения и редуктивности 3 Статистические методы кластеризации EM-алгоритм Метод k-средних К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 9 / 36
  • 10. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Алгоритм выделения связных компонент Выборка представляется в виде графа: — вершины графа — объекты xi ; — рёбра — пары объектов с расстоянием ρij = ρ(xi , xj ) R. 1: повторять 2: удалить все рёбра (i, j), для которых ρij > R; 3: K := число связных компонент (алгоритм Дейкстры или поиск в глубину); 4: если K < K1 то уменьшить R; 5: если K > K2 то увеличить R; 6: пока K ∈ [K1 , K2 ] / Недостатки: задаётся неудобный параметр R; высокая чувствительность к шуму. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 10 / 36
  • 11. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Алгоритм КНП — «Кратчайший Незамкнутый Путь» 1: Найти пару вершин (i, j) с наименьшим ρij и соединить их ребром; 2: пока в выборке остаются изолированные точки 3: найти изолированную точку, ближайшую к некоторой неизолированной; 4: соединить эти две точки ребром; 5: удалить K − 1 самых длинных рёбер; Достоинство: задаётся число кластеров K . Недостаток: высокая чувствительность к шуму. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 11 / 36
  • 12. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Алгоритм ФОРЭЛ — «ФОРмальные ЭЛементы» [Загоруйко, Ёлкина, 1967] 1: U := X ℓ — множество некластеризованных точек; 2: пока в выборке есть некластеризованные точки, U = ∅: 3: взять случайную точку x0 ∈ U; 4: повторять 5: образовать кластер с центром в x0 и радиусом R: K0 := {xi ∈ U | ρ(xi , x0 ) R}; 6: переместить центр x0 в центр масс кластера: 1 x0 := |K0 | xi ; xi ∈K0 7: пока состав кластера K0 не стабилизируется; 8: пометить все точки K0 как кластеризованные: U := U K0 ; 9: применить алгоритм КНП к множеству центров кластеров; 10: каждый xi ∈ X ℓ приписать кластеру с ближайшим центром; К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 12 / 36
  • 13. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Замечание к шагу 6: если X не является линейным векторным пространством, то 1 x0 := |K0 | xi −→ x0 := arg min ρ(x, x ′ ); xi ∈K0 x∈K0 x ′ ∈K 0 Преимущества ФОРЭЛ: получаем двухуровневую структуру кластеров; кластеры могут быть произвольной формы; варьируя R, можно управлять детальностью кластеризации. Недостаток ФОРЭЛ: чувствительность к R и начальному выбору точки x0 . Способ устранения: сгенерировать несколько кластеризаций и выбрать лучшую по заданному функционалу качества. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 13 / 36
  • 14. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Функционалы качества кластеризации Случай 1: X — метрическое (не линейное векторное) пространство Среднее внутрикластерное расстояние: [yi = yj ] ρ(xi , xj ) i<j F0 = → min . [yi = yj ] i<j Среднее межкластерное расстояние: [yi = yj ] ρ(xi , xj ) i<j F1 = → max . [yi = yj ] i<j Отношение пары функционалов: F0 /F1 → min . К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 14 / 36
  • 15. Графовые методы кластеризации Алгоритм выделения связных компонент Иерархическая кластеризация (таксономия) Алгоритм ФОРЭЛ Статистические методы кластеризации Функционалы качества кластеризации Функционалы качества кластеризации Случай 2: X — линейное векторное пространство Сумма средних внутрикластерных расстояний: 1 Φ0 = ρ2 (xi , µy ) → min, |Ky | y ∈Y i : yi =y Ky = {xi ∈ X ℓ | yi = y } — кластер y , µy — центр масс кластера y . Сумма межкластерных расстояний: Φ1 = ρ2 (µy , µ) → max, y ∈Y где µ — центр масс всей выборки. Отношение пары функционалов: Φ0 /Φ1 → min . К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 15 / 36
  • 16. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Агломеративная иерархическая кластеризация Алгоритм Ланса-Уильямса [1967] 1: сначала все кластеры одноэлементные: t := 1; Ct = {x1 }, . . . , {xℓ } ; R({xi }, {xj }) := ρ(xi , xj ); 2: для всех t = 2, . . . , ℓ (t — номер итерации): 3: найти в Ct−1 два ближайших кластера: (U, V ) := arg min R(U, V ); U=V Rt := R(U, V ); 4: слить их в один кластер: W := U ∪ V ; Ct := Ct−1 ∪ {W } {U, V }; 5: для всех S ∈ Ct 6: вычислить R(W , S) по формуле Ланса-Уильямса; К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 16 / 36
  • 17. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Формула Ланса-Уильямса Как определить расстояние R(W , S) между кластерами W = U ∪ V и S, зная расстояния R(U, S), R(V , S), R(U, V )? Формула, обобщающая большинство разумных способов определить это расстояние [Ланс, Уильямс, 1967]: R(U ∪ V , S) = αU · R(U, S) + + αV · R(V , S) + + β · R(U, V ) + + γ · R(U, S) − R(V , S) , где αU , αV , β, γ — числовые параметры. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 17 / 36
  • 18. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Частные случаи формулы Ланса-Уильямса 1. Расстояние ближнего соседа: R б (W , S) = min ρ(w , s); w ∈W ,s∈S 1 αU = αV = 2 , β = 0, γ = −1. 2 2. Расстояние дальнего соседа: R д (W , S) = max ρ(w , s); w ∈W ,s∈S 1 1 αU = αV = 2 , β = 0, γ = 2. 3. Групповое среднее расстояние: 1 R г (W , S) = |W ||S| ρ(w , s); w ∈W s∈S |U| |V | αU = |W | , αV = |W | , β = γ = 0. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 18 / 36
  • 19. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Частные случаи формулы Ланса-Уильямса 4. Расстояние между центрами: w s R ц (W , S) = ρ2 |W | , |S| ; w ∈W s∈S |U| αU = |W | , αV = |W|| , |V β = −αU αV , γ = 0. 5. Расстояние Уорда: |S||W | w s R у (W , S) = |S|+|W | ρ2 |W | , |S| ; w ∈W s∈S |S|+|U| |S|+|V | −|S| αU = |S|+|W | , αV = |S|+|W | , β= |S|+|W | , γ = 0. Проблема выбора Какой тип расстояния лучше? К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 19 / 36
  • 20. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Визуализация кластерной структуры 1. Расстояние ближнего соседа: Диаграмма вложения Дендрограмма К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 20 / 36
  • 21. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Визуализация кластерной структуры 2. Расстояние дальнего соседа: Диаграмма вложения Дендрограмма К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 21 / 36
  • 22. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Визуализация кластерной структуры 3. Групповое среднее расстояние: Диаграмма вложения Дендрограмма К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 22 / 36
  • 23. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Визуализация кластерной структуры 5. Расстояние Уорда: Диаграмма вложения Дендрограмма К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 23 / 36
  • 24. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Свойство монотонности Определение Кластеризация монотонна, если при каждом слиянии расстояние между объединяемыми кластерами только увеличивается: R2 R3 . . . Rℓ . Теорема (Миллиган, 1979) Кластеризация монотонна, если выполняются условия αU 0, αV 0, αU + αV + β 1, min{αU , αV } + γ 0. Если кластеризация монотонна, то дендрограмма не имеет самопересечений. R ц не монотонно; R б , R д , R г , R у — монотонны. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 24 / 36
  • 25. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Свойства сжатия и растяжения Определение Кластеризация сжимающая, если Rt ρ(µU , µV ), ∀t. Кластеризация растягивающая, если Rt ρ(µU , µV ), ∀t. Иначе кластеризация сохраняет метрику пространства. Свойство растяжения наиболее желательно, так как оно способствует более чёткому отделению кластеров. R б — сильно сжимающее; R д , R у — растягивающие; R г , R ц — сохраняют метрику пространства. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 25 / 36
  • 26. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Проблема повышения эффективности алгоритма Проблема эффективности: самая трудоёмкая операция в алгоритме Ланса-Уильямса — — поиск ближайших кластеров — O(ℓ2 ) операций: шаг 3: (U, V ) := arg min R(U, V ). U=V значит, построение всего дерева — O(ℓ3 ) операций. Идея повышения эффективности: перебирать лишь наиболее близкие пары: шаг 3: (U, V ) := arg min R(U, V ). R(U,V ) δ периодически увеличивать параметр δ. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 26 / 36
  • 27. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Быстрый (редуктивный) алгоритм Ланса-Уильямса 1: сначала все кластеры одноэлементные: t := 1; Ct = {x1 }, . . . , {xℓ } ; R({xi }, {xj }) := ρ(xi , xj ); 2: выбрать начальное значение параметра δ; P(δ) := (U, V ) U, V ∈ Ct , R(U, V ) δ ; 3: для всех t = 2, . . . , ℓ (t — номер итерации): 4: если P(δ) = ∅ то увеличить δ так, чтобы P(δ) = ∅; 5: (U, V ) := arg min R(U, V ); (U,V )∈P(δ) Rt := R(U, V ); 6: Ct := Ct−1 ∪ {W } {U, V }; 7: для всех S ∈ Ct 8: вычислить R(W , S) по формуле Ланса-Уильямса; 9: если R(W , S) δ то P(δ) := P(δ) ∪ (W , S) ; К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 27 / 36
  • 28. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Свойство редуктивности Всегда ли быстрый алгоритм строит ту же кластеризацию? Определение (Брюинош, 1978) Расстояние R называется редуктивным, если для любого δ > 0 и любых δ-близких кластеров R(U, V ) δ объединение δ-окрестностей U и V содержит δ-окрестность объединения W = U ∪ V : S : R(U∪V , S) < δ ⊆ S : R(S, U) < δ ∪ S : R(S, V ) < δ . Теорема Если расстояние R редуктивно, то быстрый алгоритм приводит к той же кластеризации, что и исходный алгоритм. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 28 / 36
  • 29. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Свойство редуктивности Теорема (Диде и Моро, 1984) Расстояние R является редуктивным, если αU 0, αV 0, αU +αV +min{β, 0} 1, min{αU , αV }+γ 0. Утверждение Всякое редуктивное расстояние является монотонным. R ц не редуктивное; R б , R д , R г , R у — редуктивные. К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 29 / 36
  • 30. Графовые методы кластеризации Агломеративная иерархическая кластеризация Иерархическая кластеризация (таксономия) Дендрограмма и свойство монотонности Статистические методы кластеризации Свойства сжатия, растяжения и редуктивности Рекомендации и выводы Стратегия выбора параметра δ на шагах 2 и 4: Если |Ct | n1 , то P(δ) := (U, V ) : U, V ∈ Ct . Иначе выбрать n2 случайных расстояний R(U, V ); δ := минимальное из них; n1 , n2 влияют только на скорость, но не на результат кластеризации; сначала можно положить n1 = n2 = 20. Общие рекомендации по иерархической кластеризации: лучше пользоваться R у — расстоянием Уорда; лучше пользоваться быстрым алгоритмом; определение числа кластеров — по максимуму |Rt+1 − Rt |, тогда результирующее множество кластеров := Ct . К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 30 / 36
  • 31. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации Гипотеза (о вероятностной природе данных) Выборка X ℓ случайна, независима, из смеси распределений p(x) = wy py (x), wy = 1, y ∈Y y ∈Y py (x) — плотность, wy — априорная вероятность кластера y . Гипотеза (о пространстве объектов и форме кластеров) X = Rn , xi ≡ f1 (xi ), . . . , fn (xi ) ; кластеры n-мерные гауссовские: n py (x) = (2π)− 2 (σy 1 · · · σyn )−1 exp − 1 ρ2 (x, µy ) , 2 y µy = (µy 1 , . . . , µyn ) — центр кластера y ; 2 2 Σy = diag(σy 1 , . . . , σyn ) — диагональная матрица ковариаций; n −2 ρ2 (x, x ′ ) = y σyj |fj (x) − fj (x ′ )|2 . j=1 К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 31 / 36
  • 32. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации EM-алгоритм (повторение) 1: начальное приближение wy , µy , Σy для всех y ∈ Y ; 2: повторять 3: E-шаг (expectation): wy py (xi ) giy := P(y |xi ) ≡ , y ∈ Y , i = 1, . . . , ℓ; z∈Y wz pz (xi ) 4: M-шаг (maximization): 1 ℓ wy := giy , y ∈ Y ; ℓ i=1 1 ℓ µyj := giy fj (xi ), y ∈ Y , j = 1, . . . , n; ℓwy i=1 2 1 ℓ σyj := giy (fj (xi ) − µyj )2 , y ∈ Y , j = 1, . . . , n; ℓwy i=1 5: yi := arg max giy , i = 1, . . . , ℓ; y ∈Y 6: пока yi не перестанут изменяться; К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 32 / 36
  • 33. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации Метод k-средних (k-means) X = Rn . Упрощённый аналог EM-алгоритма: 1: начальное приближение центров µy , y ∈ Y ; 2: повторять 3: аналог E-шага: отнести каждый xi к ближайшему центру: yi := arg min ρ(xi , µy ), i = 1, . . . , ℓ; y ∈Y 4: аналог M-шага: вычислить новые положения центров: ℓ [yi = y ]fj (xi ) µyj := i=1ℓ , y ∈ Y , j = 1, . . . , n; i=1 [yi = y ] 5: пока yi не перестанут изменяться; К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 33 / 36
  • 34. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации Модификации и обобщения Варианты k-means: вариант Болла-Холла (на предыдущем слайде); вариант МакКина: при каждом переходе объекта из кластера в кластер их центры пересчитываются; Основные отличия EM и k-means: EM: мягкая кластеризация: giy = P{yi = y }; k-m: жёсткая кластеризация: giy = [yi = y ]; EM: форма кластеров эллиптическая, настраиваемая; k-m: форма кластеров жёстко определяется метрикой ρ; Гибридные варианты по пути упрощения ЕМ: EM с жёсткой кластеризацией на Е-шаге; EM без настройки дисперсий (сферические гауссианы); К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 34 / 36
  • 35. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации Частичное обучение (Semi-supervised learning) Дано: Y — множество кластеров; ℓ xi i=1 — обучающая выборка; ℓ+m xi , yi i=ℓ+1 — размеченная часть выборки, обычно m ≪ ℓ. Найти: a : X → Y — алгоритм кластеризации. Как приспособить EM-алгоритм: E-шаг: giy := y = yi , y ∈ Y , i = ℓ+1, . . . , ℓ+m; Как приспособить k-means: E-шаг: yi := arg min ρ(xi , µy ), i = 1, . . . , ℓ. y ∈Y К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 35 / 36
  • 36. Графовые методы кластеризации EM-алгоритм Иерархическая кластеризация (таксономия) Метод k-средних Статистические методы кластеризации Недостатки k-means Чувствительность к выбору начального приближения. Необходимость задавать k; Способы устранения этих недостатков: Несколько случайных кластеризаций; выбор лучшей по функционалу качества. Постепенное наращивание числа кластеров k (аналогично ЕМ-алгоритму) К. В. Воронцов (www.ccas.ru/voron) Методы кластеризации 36 / 36