Машинное обучение 2, весна 2016: Уменьшение размерности:...

21
Уменьшение размерности: представление И. Куралёнок, Н. Поваров Яндекс СПб, 2016 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21

Upload: cs-center

Post on 16-Jan-2017

96 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Уменьшение размерности:представление

И. Куралёнок, Н. Поваров

Яндекс

СПб, 2016

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21

Page 2: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

SOMСамоорганизующиеся сети Кохоненна

Идея: отобразить многомерное пространство в граф,зафиксированной структуры так, чтобы как можнолучше сохранить взаимные расстояния.Графы бывают разные:

Простая 2/3-х мерная сетьШестигранная сеткаОдносвязная “нить”.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 21

Page 3: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

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

Page 4: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

SOMпример I

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 21

Page 5: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

SOMпример II

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 21

Page 6: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

SOMсвойства

Что можно с их помощью делать:Смотреть на данные “глазами”Если из области следует какая-то структура, томожно подобрать ее распределение таким образомАля PCA по 1D кривулинам, полученным спомощью SOM

Проблемы:Результат существенно зависит от подбораначальных gi ⇒ зачастую не воспроизводимНикаких гарантий сходимости при s(t) = 1Никаких хороших математических свойств.

Но, it just works!И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 21

Page 7: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

SOMрекомендации SOMоводов

Выбирать начальные значения не по рандому, а поPCA2Выбросить выбросы/сгладить движение отдистанцииБегать не в одном и том же порядке по множествуПо минимуму использовать s.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 21

Page 8: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализопределение

Определение (Wikipedia)Кластерный анализ (англ. cluster analysis):задача разбиения заданной выборки объектов(ситуаций) на подмножества, называемые кластерами,так, чтобы каждый кластер состоял из схожихобъектов, а объекты разных кластеров существенноотличались.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 21

Page 9: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализпримеры

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 21

Page 10: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализвиды

Иерархические методы (connectivity-based)Основанные на центройдахГенеративные модели (distribution-based)Ограниченные (constraint-based).

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 21

Page 11: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализиерархические методы

Цель: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

Page 12: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализиерархические методы, плотность

Цель:

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

Page 13: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

DBSCANиллюстрация

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21

Page 14: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализцентроиды

Цель: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

Page 15: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализk-means, свойства

Никаких гарантий сходимости для k-meansСильная зависимость от начальных параметровВместо центройдов можно использовать медианы

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 21

Page 16: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализцентройды, FOREL

1 Выбираем случайную точку x , зовём её “центромтяжести” R

2 Добавляем все точки из ε-окрестности R в Ci

3 Пересчитываем R = arg minx0∈Ci

∑x∈Ci‖x − x0‖.

Свойства:Быстрый и тупойНе сходитсяРезультат опять зависит от рандома.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21

Page 17: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализцентройды, quality threshold

1 Для каждой точки строим ε-окрестности

2 Сортируем полученные множества по уменьшению мощности

3 Объявляем первое множество в списке кластером, если количествоэлементов в нем > N, иначе выходим

4 Отсеиваем из окрестностей содержание нового кластера

5 Переходим в п. 2.

Свойства:

Медленный, хотя возможны оптимизации

Не сходится

Контролируемое качество кластеризации.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 21

Page 18: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализгенеративные модели

Цель:p(x |c) = f (x , βc)maxc ,βc

∏c

∏x∈c p(x |c)

Решается EM.Свойства зависят от того, насколько хорошо подобранамодель пространства.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 21

Page 19: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализчто ещё

Спектральная кластеризацияConstraint-based clustering

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 21

Page 20: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Кластерный анализоценка

Внутренняя оценка: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

Page 21: Машинное обучение 2, весна 2016: Уменьшение размерности: представление

Что мы сегодня узнали

Есть такая задача, на данные смотретьДля того, чтобы понимать что-то о плотноститочек разного типа можно использовать SOMРассмотрели простую (безусловную)кластеризацию:

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

Дали определения нескольким методам оценкикластеризации

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 21