24
Введение в Data Science Занятие 6. Кластеризация Николай Анохин Михаил Фирулик 9 апреля 2014 г.

L7:Задача кластеризации. Метрики качества

Embed Size (px)

DESCRIPTION

L7:Задача кластеризации. Метрики качества

Citation preview

Page 1: L7:Задача кластеризации. Метрики качества

Введение в Data ScienceЗанятие 6. Кластеризация

Николай Анохин Михаил Фирулик

9 апреля 2014 г.

Page 2: L7:Задача кластеризации. Метрики качества

План занятия

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

Функции расстояния

Критерии качества кластеризации

Page 3: L7:Задача кластеризации. Метрики качества

Python-программисты (by Gilad Lotan)

Page 4: L7:Задача кластеризации. Метрики качества

Слова и топики

Page 5: L7:Задача кластеризации. Метрики качества

Интуиция

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

Page 6: L7:Задача кластеризации. Метрики качества

Зачем

I расширение обучающей выборкиI ручная разметка объектовI конструирование признаков

I суммаризация данныхI визуализация данных

Page 7: L7:Задача кластеризации. Метрики качества

Формально

Дано:I Обучающая выборка (x1, . . . , xN), где xj – объект,

принадлежащий некоторому множеству X

I На X определена функция расстояния (схожести)

Найти: Разбиение f : X→ C , где C = {1, . . . ,K} – множествоидентификаторов K кластеров.

Page 8: L7:Задача кластеризации. Метрики качества

Функция расстояния

DefФункция d(x, y) : X× X→ R является функцией расстояния,определенной на пространстве X тогда и только тогда, когда∀x ∈ X, ∀y ∈ X, ∀z ∈ X выполнено:1. d(x, y) ≥ 0

2. d(x, y) = 0⇔ x = y

3. d(x, y) = d(y, x)

4. d(x, y) ≤ d(x, z) + d(y, z)

Page 9: L7:Задача кластеризации. Метрики качества

Расстояния 1

I Минковского

dr (x, y) =

N∑j=1

|xj − yj |r 1

r

I Евклидово r = 2

dE (x, y) = d2(x, y)

I Манхэттэн r = 1

dM(x, y) = d1(x, y)

I r =∞

d∞(x, y) = maxj|xj − yj |

Page 10: L7:Задача кластеризации. Метрики качества

Проблема

Функции расстояния чувствительны к преобразоаниям данных

РешениеI Преобразовать обучающую выборку так, чтобы признаки имели

нулевое среднее и единичную дисперсию – инвариантность крастяжению и сдвигу (stanartize)

I Преобразовать обучающую выборку так, чтобы оси совпадали сглавными компонентами матрицы ковариации – инвариантностьотносительно поворотов (PCA)

Page 11: L7:Задача кластеризации. Метрики качества

Расстояния 2

I Жаккар

dJ(x, y) = 1− |x ∩ y||x ∪ y|

I Косинус

dc(x, y) = arccosxy

‖x‖‖y‖

I Правкиde – наименьшее количествоудалений и вставок, приводящее x кy.

I ХэммингdH – количество различныхкомпонент в x и y.

Page 12: L7:Задача кластеризации. Метрики качества

Проклятие размерности

ЗадачаДаны два случайных вектора x и y в пространстве размерности D.Как зависит математическое ожидание косинус-расстояния между xи y от размерности D?

dc(x, y) = arccos

∑Dj=1 xjyj∑D

j=1 x2j

∑Dj=1 y

2j

Наблюдения:I числитель стремится к нулюI знаменатель положительный

Вывод: dc(x, y)→ π2 .

Page 13: L7:Задача кластеризации. Метрики качества

Выбор разбиения

ИдеяОпределить критерий качества кластеризации J ивыбрать разбиение выборки на кластеры, котороекоторое соответствует оптимальному значению этогокритерия.

Page 14: L7:Задача кластеризации. Метрики качества

Квардатичная ошибка

Среднее k-го кластера

mk =1

nk

∑xi∈Ck

xi

Критерий

JE =K∑

k=1

∑xi∈Ck

‖xi −mk‖2 → min

Предпочтение кластерам близкихразмеров

Page 15: L7:Задача кластеризации. Метрики качества

Обобщение квадратичной ошибки

Критерий

JE =K∑

k=1

∑xi∈Ck

‖xi −mk‖2 =

=1

2

K∑k=1

nk

1

n2k

∑xi∈Ck

∑xj∈Ck

‖xi − xj‖2 =

=1

2

K∑k=1

nk

1

n2k

∑xi∈Ck

∑xj∈Ck

s(xi , xj)

=1

2

K∑k=1

nk s̄k

Примеры s̄is̄k = min

xi ,xjs(xi , xj); s̄k = max

xi ,xjs(xi , xj)

Page 16: L7:Задача кластеризации. Метрики качества

Матрицы разброса

Матрица разброса внутри кластеров

Sk =∑xi∈Ck

(xi −mk)(xi −mk)>; SW =K∑

k=1

Sk

Матрица разброса между кластерами

SB =K∑

k=1

nk(mk −m)(mk −m)>

Матрица разброса

ST =∑xi∈X

(xi −m)(xi −m)>

ST = SW + SB

Page 17: L7:Задача кластеризации. Метрики качества

Критерии

I След

JE = trSW =K∑

k=1

∑xi∈CK

‖xi −mk‖2 → min

I Детерминант (инвариант относительно растяжения)

Jd = detSW → min

I Инварианты отностиельно линейных преобразований

Jl = trS−1W SB =d∑

j=1

λj → max, Jf =d∑

j=1

1

1 + λj→ min

λ1, . . . , λd – собственные числа S−1W SB

Page 18: L7:Задача кластеризации. Метрики качества

Итеративный алгоритм

Критерий

Jk =∑xi∈Ck

‖xi −mk‖2, mk =1

nk

∑xi∈Ck

xi

Переносим x̂ из кластера l в кластер k

m∗k = mk +x̂−mk

nk + 1, J∗k = Jk +

nknk + 1

‖x̂−mk‖2

m∗l = ml −x̂−ml

nl − 1, J∗l = Jl −

nlnl − 1

‖x̂−ml‖2

Перенос имеет смысл, если

nlnl − 1

‖x̂−ml‖2 >nk

nk + 1‖x̂−mk‖2

Page 19: L7:Задача кластеризации. Метрики качества

Итеративный алгоритм

cluster(X, K):инициализируем C1, . . . ,CK, n1, . . . , nKdo:

случайно выбираем x̂ ∈ Xif nl > 1:

k∗ = arg mink J∗

перемещаем x̂ в k∗

until кластеры стабильны или превышено число итераций

+ Обучение online— Локальная оптимизация— Зависимость от порядка рассмотрения x

Page 20: L7:Задача кластеризации. Метрики качества

Качество кластеризации

ЗадачаПусть дана обучающая выборка, для которой правильнаякластеризация C известна. С помощью выбранного алгоритмаполучена кластеризация K . Проверить, насколько K совпадает с C .

I Rand Indexa – кол-во пар объектов, попавших в один кластер и в C , и в Kb – кол-во пар объектов, попавших в разные кластеры и в C , и в K

RI =a+ b

CN2

I Mutual Information

MI =∑c∈C

∑k∈K

p(c, k) logp(c, k)

p(k)p(c)

Page 21: L7:Задача кластеризации. Метрики качества

Зоопарк алгоритмов

По способу формирования кластеровI иерархические (hierarchical, agglomerative)I поточечные (point assignment)

По типу пространства X

I X – евклидовоI X – не евклидово

По требованиям к памятиI обучающая выборка должна помещаться в основную памятьI поддерживает обработку данных кусками

Page 22: L7:Задача кластеризации. Метрики качества

Задача модуля

Классифицировать пользователей социальных сетей сиспользованием реализованных в ДЗ алгоритмов классификации ирегрессии

Презентация 12.04.20141. Описание задачи (1-2 слайда)

1.1 Количество объектов в выборке1.2 Распределение целевой переменной1.3 Метод тестирования алгоритмов

2. Каждый участник группы представляет алгоритм (1-2 слайда)2.1 Использованные признаки: распределения, преобразования2.2 Алгоритм: реализация и выбор параметров2.3 Метрики качества: результаты

3. Итоговый выбор (1-2 слайда)3.1 Какой выбран алгоритм3.2 Труднсти

Итог: 6-12 слайдов на группу, 15 мин на доклад, 30 (20 + 10) баллов

Page 23: L7:Задача кластеризации. Метрики качества

ДЗ

Использование готового алгорима = половина баллов (если неоговорено обратное)

Общие замечания1. Дедлайны2. Интерфейс классификаторов: fit/predict/predict_proba

Пожелания1. PEP-82. Коменты3. Адекватный текст коммитов

Обсуждение1. Процедура сабмита ДЗ2. Размер группы

Page 24: L7:Задача кластеризации. Метрики качества

Практика: итеративный алгоритм

1. Скачать ветку clust из репозитория и убедиться, что всеработает

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

3. Реализовать n-restart алгоритма для обеспечения глобальности4. Поэкспериментировать с раздичными линейными

преобразованиями пространства5. (*) Реализовать критерий оптимальности, инвариантный

относительно преобразований