Машинное обучение 2, весна 2016: Уменьшение размерности:...
TRANSCRIPT
Уменьшение размерности:представление
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2016
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21
SOMСамоорганизующиеся сети Кохоненна
Идея: отобразить многомерное пространство в граф,зафиксированной структуры так, чтобы как можнолучше сохранить взаимные расстояния.Графы бывают разные:
Простая 2/3-х мерная сетьШестигранная сеткаОдносвязная “нить”.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 21
SOMалгоритм
Дано: функция расстояния по графу (G ), множествоточек (X ∈ Rn), дискаунт за расстояние (q), дискаунтза итерацию (s)
1 Инициализируем точки, соответствующие узламграфа gi в Rn
2 Выберем случайную точку x t в X3 Находим ближайший gi04 “Двигаем” gi в сторону точки x t , по принципу
“чем дальше, тем меньше”:
g t+1i = g t
i + q(G (i , i0), t)s(t)(xt − g t
i )
5 Переходим в п.2 пока не сошлось.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 21
SOMпример I
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 21
SOMпример II
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 21
SOMсвойства
Что можно с их помощью делать:Смотреть на данные “глазами”Если из области следует какая-то структура, томожно подобрать ее распределение таким образомАля PCA по 1D кривулинам, полученным спомощью SOM
Проблемы:Результат существенно зависит от подбораначальных gi ⇒ зачастую не воспроизводимНикаких гарантий сходимости при s(t) = 1Никаких хороших математических свойств.
Но, it just works!И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 21
SOMрекомендации SOMоводов
Выбирать начальные значения не по рандому, а поPCA2Выбросить выбросы/сгладить движение отдистанцииБегать не в одном и том же порядке по множествуПо минимуму использовать s.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 21
Кластерный анализопределение
Определение (Wikipedia)Кластерный анализ (англ. cluster analysis):задача разбиения заданной выборки объектов(ситуаций) на подмножества, называемые кластерами,так, чтобы каждый кластер состоял из схожихобъектов, а объекты разных кластеров существенноотличались.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 21
Кластерный анализпримеры
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 21
Кластерный анализвиды
Иерархические методы (connectivity-based)Основанные на центройдахГенеративные модели (distribution-based)Ограниченные (constraint-based).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 21
Кластерный анализиерархические методы
Цель:C : ∀c ∈ X , c ∈ Ci ,∃c∗ ∈ Ci : d(c , c
∗) < ε
Алгоритм (однсвязный):
1 Выбираем случайную точку x и кладём её Ci
2 Ищем соседей x ближе, чем ε и добавляем их в Ci
3 Если соседи x кончились, берём следующую точку из Ci ипроделываем п. 2
4 Замкнув Ci , i = i + 1 и переходим к п. 1
Замечания: можно сделать более, чем односвязное замыкание,так как подобных делений много, результат сильно зависит отрандома, сложность O(n3).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
Кластерный анализиерархические методы, плотность
Цель:
C : ∀c ∈ X ,∃C ∗ ⊆ Ci : |C ∗| > m,∀c∗ ∈ C ∗d(c , c∗) < ε
Алгоритм (DBSCAN):1 Выбираем случайную непосещённую точку x
2 Если у неё больше m соседей, то кладём её в S
3 Для каждой точки из S :1 Если точку не посещали, то ищем соседей в радиусе ε2 Если таких соседей больше m, то добавляем всех
соседей в S .3 Если точка ещё не в каком-либо кластере, кладём
точку в Ci
Замечания: сложность O(n2), повязаны на поиск ближайшихсоседей.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 12 из 21
DBSCANиллюстрация
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
Кластерный анализцентроиды
Цель:xc =
1|c|
∑x∈C x
minC∑
c∈C ,|C |=k
∑x∈c ‖x − xc‖
Такая задача NP-полная.Приблизительный алгоритм (k-means/Lloyd’s):инициализация: выберем k штук xc ;assignement step: для каждой точки x ∈ X ищем ближайший xcи относим её к соответствующему кластеру c ;update step: пересчитываем xc , переходим к assignement step,пока не сойдётся;
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 21
Кластерный анализk-means, свойства
Никаких гарантий сходимости для k-meansСильная зависимость от начальных параметровВместо центройдов можно использовать медианы
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 21
Кластерный анализцентройды, FOREL
1 Выбираем случайную точку x , зовём её “центромтяжести” R
2 Добавляем все точки из ε-окрестности R в Ci
3 Пересчитываем R = arg minx0∈Ci
∑x∈Ci‖x − x0‖.
Свойства:Быстрый и тупойНе сходитсяРезультат опять зависит от рандома.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
Кластерный анализцентройды, quality threshold
1 Для каждой точки строим ε-окрестности
2 Сортируем полученные множества по уменьшению мощности
3 Объявляем первое множество в списке кластером, если количествоэлементов в нем > N, иначе выходим
4 Отсеиваем из окрестностей содержание нового кластера
5 Переходим в п. 2.
Свойства:
Медленный, хотя возможны оптимизации
Не сходится
Контролируемое качество кластеризации.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 21
Кластерный анализгенеративные модели
Цель:p(x |c) = f (x , βc)maxc ,βc
∏c
∏x∈c p(x |c)
Решается EM.Свойства зависят от того, насколько хорошо подобранамодель пространства.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 21
Кластерный анализчто ещё
Спектральная кластеризацияConstraint-based clustering
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 21
Кластерный анализоценка
Внутренняя оценка:Davies-Bouldin index 1
n
∑n1 maxi 6=j(
σi+σjd(ci ,cj)
)
Dunn index mini 6=j‖ci−cj‖maxk σk
.Внешняя/косвенная оценка:
Rand measure tp+tntp+fp+tn+fn
F-мера Fβ = (1+β2)prβ2p+r
Jaccard index J(A,B) = A∩BA∪B
KL-divergenceetc.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 20 из 21
Что мы сегодня узнали
Есть такая задача, на данные смотретьДля того, чтобы понимать что-то о плотноститочек разного типа можно использовать SOMРассмотрели простую (безусловную)кластеризацию:
поняли что любая кластеризация следует своемучувству прекрасного;выделели несколько типов кластеризации,подходящих для разных данных;сделали мостик к генеративным моделям.
Дали определения нескольким методам оценкикластеризации
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 21