5. Интуиция
Кластерный анализ
Разбиение множества обучающих объектов на непересекающиеся
подмножества (кластеры) с использованием некоторой функции
расстояния между объектами так, чтобы любые два объекта,
лежащие в одном кластере были схожи, а любые два объекта,
лежащие в разных кластерах существенно различались.
7. Формально
Дано:
Обучающая выборка (x1, . . . , xN ), где xj – объект,
принадлежащий некоторому множеству X
На X определена функция расстояния (схожести)
Найти: Разбиение f : X → C, где C = {1, . . . , K} – множество
идентификаторов K кластеров.
8. Функция расстояния
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)
9. Расстояния 1
Минковского
dr (x, y) =
N
j=1
|xj − yj |r
1
r
Евклидово r = 2
dE (x, y) = d2(x, y)
Манхэттэн r = 1
dM (x, y) = d1(x, y)
r = ∞
d∞(x, y) = max
j
|xj − yj |
10. Проблема
Функции расстояния чувствительны к преобразоаниям данных
Решение
Преобразовать обучающую выборку так, чтобы признаки имели
нулевое среднее и единичную дисперсию – инвариантность к
растяжению и сдвигу (stanartize)
Преобразовать обучающую выборку так, чтобы оси совпадали с
главными компонентами матрицы ковариации – инвариантность
относительно поворотов (PCA)
11. Расстояния 2
Жаккар
dJ (x, y) = 1 −
|x ∩ y|
|x ∪ y|
Косинус
dc (x, y) = arccos
xy
x y
Правки
de – наименьшее количество
удалений и вставок, приводящее x к
y.
Хэмминг
dH – количество различных
компонент в x и y.
12. Проклятие размерности
Задача
Даны два случайных вектора x и y в пространстве размерности D.
Как зависит математическое ожидание косинус-расстояния между x
и y от размерности D?
dc (x, y) = arccos
D
j=1 xj yj
D
j=1 x2
j
D
j=1 y2
j
Наблюдения:
числитель стремится к нулю
знаменатель положительный
Вывод: dc (x, y) → π
2 .
13. Выбор разбиения
Идея
Определить критерий качества кластеризации J и
выбрать разбиение выборки на кластеры, которое
которое соответствует оптимальному значению этого
критерия.
14. Квардатичная ошибка
Среднее k-го кластера
mk =
1
nk
xi ∈Ck
xi
Критерий
JE =
K
k=1 xi ∈Ck
xi − mk
2
→ min
Предпочтение кластерам близких
размеров
15. Обобщение квадратичной ошибки
Критерий
JE =
K
k=1 xi ∈Ck
xi − mk
2
=
=
1
2
K
k=1
nk
1
n2
k xi ∈Ck xj ∈Ck
xi − xj
2
=
=
1
2
K
k=1
nk
1
n2
k xi ∈Ck xj ∈Ck
s(xi , xj )
=
1
2
K
k=1
nk¯sk
Примеры ¯si
¯sk = min
xi ,xj
s(xi , xj ); ¯sk = max
xi ,xj
s(xi , xj )
16. Матрицы разброса
Матрица разброса внутри кластеров
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
17. Критерии
След
JE = trSW =
K
k=1 xi ∈CK
xi − mk
2
→ min
Детерминант (инвариант относительно растяжения)
Jd = det SW → min
Инварианты отностиельно линейных преобразований
Jl = trS−1
W SB =
d
j=1
λj → max, Jf =
d
j=1
1
1 + λj
→ min
λ1, . . . , λd – собственные числа S−1
W SB
18. Итеративный алгоритм
Критерий
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 +
nk
nk + 1
ˆx − mk
2
m∗
l = ml −
ˆx − ml
nl − 1
, J∗
l = Jl −
nl
nl − 1
ˆx − ml
2
Перенос имеет смысл, если
nl
nl − 1
ˆx − ml
2
>
nk
nk + 1
ˆx − mk
2
19. Итеративный алгоритм
cluster(X, K):
инициализируем C1, . . . , CK , n1, . . . , nK
do:
случайно выбираем ˆx ∈ X
if nl > 1:
k∗
= arg mink J∗
перемещаем ˆx в k∗
until кластеры стабильны или превышено число итераций
+ Обучение online
— Локальная оптимизация
— Зависимость от порядка рассмотрения x
20. Качество кластеризации
Задача
Пусть дана обучающая выборка, для которой правильная
кластеризация C известна. С помощью выбранного алгоритма
получена кластеризация K. Проверить, насколько K совпадает с C.
Rand Index
a – кол-во пар объектов, попавших в один кластер и в C, и в K
b – кол-во пар объектов, попавших в разные кластеры и в C, и в K
RI =
a + b
CN
2
Mutual Information
MI =
c∈C k∈K
p(c, k) log
p(c, k)
p(k)p(c)
21. Зоопарк алгоритмов
По способу формирования кластеров
иерархические (hierarchical, agglomerative)
поточечные (point assignment)
По типу пространства X
X – евклидово
X – не евклидово
По требованиям к памяти
обучающая выборка должна помещаться в основную память
поддерживает обработку данных кусками
22. Задача модуля
Классифицировать пользователей социальных сетей с
использованием реализованных в ДЗ алгоритмов классификации и
регрессии
Презентация 12.04.2014
1. Описание задачи (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) баллов
23. ДЗ
Использование готового алгорима = половина баллов (если не
оговорено обратное)
Общие замечания
1. Дедлайны
2. Интерфейс классификаторов: fit/predict/predict_proba
Пожелания
1. PEP-8
2. Коменты
3. Адекватный текст коммитов
Обсуждение
1. Процедура сабмита ДЗ
2. Размер группы
24. Практика: итеративный алгоритм
1. Скачать ветку clust из репозитория и убедиться, что все
работает
2. Проверить, что предложенный алгоритм кластеризации не
является глобальным
3. Реализовать n-restart алгоритма для обеспечения глобальности
4. Поэкспериментировать с раздичными линейными
преобразованиями пространства
5. (*) Реализовать критерий оптимальности, инвариантный
относительно преобразований