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

Машинное обучение 2, весна 2016: Feature extraction

Embed Size (px)

Citation preview

Page 1: Машинное обучение 2, весна 2016: Feature extraction

Уменшение размерности: обзор

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

Яндекс

СПб, 2016

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

Page 2: Машинное обучение 2, весна 2016: Feature extraction

Область примененияFeature extraction

Зачем: наглядность (быть аккуратными!), экономияресурсов обучения и использования (предобработка),прибрать шум, гибкость в построении данных.Когда:

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

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

Page 3: Машинное обучение 2, весна 2016: Feature extraction

Feature extraction

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

Собрать что-то более удобноеПонять что-то новое о данных (data mining)

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

Page 4: Машинное обучение 2, весна 2016: Feature extraction

Feature extraction

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

Собрать что-то более удобноеПонять что-то новое о данных (data mining)

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

Page 5: Машинное обучение 2, весна 2016: Feature extraction

Как отличить extraction от датчиков?Пример с мобильниками

Как понять каким образом человек передвигается?Датчики: повесим специальный датчикFE: соберем данные от пользователей и спомощьюсуществующих датчиков предскажем.

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

Page 6: Машинное обучение 2, весна 2016: Feature extraction

Как отличить extraction от датчиков?Пример с депутатами

Приходит к депутатам проситель, им надо принятьрешение, однако сами они не могут выбрать, так какинформация неструктурированна. Структурировать ееможно с помощью анкеты.Анкета, заполненная посетителем — датчик;Анкета, заполненная помощником (немым) —extraction.

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

Page 7: Машинное обучение 2, весна 2016: Feature extraction

Как отличить extraction от датчиков?Выводы

Во многом вопрос философский, однако rule of thumbтакой:Если фактор не несет новой информации о вселенной,он extraction, иначе — новый фактор.

C другой стороны все зависит от постановки, напримерв одной постановке изучаемой вселенной могут бытьсуществующие логи, в другой — пользователи. Вразных парадигмах получим разные результаты.

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

Page 8: Машинное обучение 2, весна 2016: Feature extraction

Какие есть способы собрать что-тоудобное?

Без использования дополнительных данных(какая-то нормализация)

с точки зрения линейной алгебры (PCA/Kernel PCA)с точки зрения разделения сигналов (ICA)группировка (кластеризация)какие-то еще принципы, специфичные для данных(например поделить голосовой сигнал)

С дополнительными даннымиMetric learningХитрая кластеризация с предпочтениямиTransfer learning

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

Page 9: Машинное обучение 2, весна 2016: Feature extraction

Метод главных компонентИз определения

Задача: превратить множество скоррелированныхсигналов в множество линейно некоррелирующих спомощью поворота:

min∑

(i ,j) yTi yj

X = QTYQqTi qj = 0,∀i 6= jqTi qi = 1,∀i

Мы знаем хотя бы одно решение такой задачи! Приэтом не все строки в Y одинаково полезны.Отсортируем их по модулю.

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

Page 10: Машинное обучение 2, весна 2016: Feature extraction

Метод главных компонентАльтернативный способ: отсосы

Попробуем итеративно выбирать направление, несущеенаибольшую “информацию” (на самом деледисперсию):

arg max‖w‖2=1∑

i(xTi w)2

arg max‖w‖2=1 wTXTXw

arg maxw wTXTXwwTw

Это Rayleigh Quotient, для которого известно решение– главный собственный вектор.

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

Page 11: Машинное обучение 2, весна 2016: Feature extraction

Как реализовать PCA?

Можно искать корни уравнения det‖X − λE‖ = 0,но мы так делать не будемВозведение в степень (power iteration)Оптимизированный способ через пространствоКрылова (Lanczos, например)Последовательное LQ (QR) разложение:

Ak+1 = RkQk = QTk QkRkQk = QT

k AkQk

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

Page 12: Машинное обучение 2, весна 2016: Feature extraction

Свойства PCA

Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:

⇒ попробуем стандартный фокус с kernel

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

Page 13: Машинное обучение 2, весна 2016: Feature extraction

Свойства PCAВсе хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:

⇒ попробуем стандартный фокус с kernel

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

Page 14: Машинное обучение 2, весна 2016: Feature extraction

Свойства PCA

Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?

⇒ попробуем стандартный фокус с kernel

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

Page 15: Машинное обучение 2, весна 2016: Feature extraction

Свойства PCA

Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?

⇒ попробуем стандартный фокус с kernel

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

Page 16: Машинное обучение 2, весна 2016: Feature extraction

Kernel PCA

Хотим решить задачу PCA в каком-то другом пространстве, образованномиз данного через преобразование Φ. Для этого нам нужно лишь узнатьпроекции на собственные вектора Φ(x)T vk . Для этого воспользуемся таким:

λv = CvxT v = 1

λxTCv

v =∑

aiΦ(xi )

Все это добро выполняется для точек из X . Представим, что kernel spaceимеет размерность N.

NλKa = K 2a

Решив это уравнение, получим разложение любого Φ(x) по V

Φ(x)T vk =1λk

∑i

aiK (x , xi )

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

Page 17: Машинное обучение 2, весна 2016: Feature extraction

Общая схема ICA

Представим сигнал как сумму независимых напримертак:

x = wTN (0,Σ)

Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.

Этоможно делать по тем же принципам что и PCA:

получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)

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

Page 18: Машинное обучение 2, весна 2016: Feature extraction

Общая схема ICA

Представим сигнал как сумму независимых напримертак:

x = wTN (0,Σ)

Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.

Этоможно делать по тем же принципам что и PCA:

получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)

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

Page 19: Машинное обучение 2, весна 2016: Feature extraction

Общая схема ICA

Представим сигнал как сумму независимых напримертак:

x = wTN (0,Σ)

Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные. Этоможно делать по тем же принципам что и PCA:

получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)

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

Page 20: Машинное обучение 2, весна 2016: Feature extraction

Projection pursuit

Хотим найти “интересные” направления. Интересные —это такие, которые имеют неслучайную структуру. Таккак ищем проекции, то самое “неинтересное”распределение — нормальное. Можно поставить такуюзадачу:

Kurt(ξ) =µ(ξi − µ(ξ))4

(µ(ξi − µ(ξ))2)2

arg maxw

Kurt(wTx)

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

Page 21: Машинное обучение 2, весна 2016: Feature extraction

“Ненормальность” через свойствараспределения

Основное свойство нормального распределения —нулевые моменты после второго. Поэтому можнопоискать такие w , которые максимизируют этимоменты. После дисперсии там skewness и kurtosis.Которые отвечают за скрученность и остроконечность.Кубы никто не любит, так что обычно максимизируютkurtosis.

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

Page 22: Машинное обучение 2, весна 2016: Feature extraction

Общая модель и ее свойства

А можно ли использовать ту же логику для построения ICA?

x = As, s = Wx

Генеративная модель с такими свойствами:

так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)

s не могут быть одинаково симметрично распределены (напримернормально)

исходные сигналы s никак не упорядочены

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

Page 23: Машинное обучение 2, весна 2016: Feature extraction

Общая модель и ее свойства

А можно ли использовать ту же логику для построения ICA?

x = As, s = Wx

Генеративная модель с такими свойствами:

так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)

s не могут быть одинаково симметрично распределены (напримернормально)

исходные сигналы s никак не упорядочены

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

Page 24: Машинное обучение 2, весна 2016: Feature extraction

Общая модель и ее свойстваА можно ли использовать ту же логику для построения ICA?

x = As, s = Wx

Генеративная модель с такими свойствами:так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)

s не могут быть одинаково симметрично распределены (напримернормально)

исходные сигналы s никак не упорядочены

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

Page 25: Машинное обучение 2, весна 2016: Feature extraction

Общая модель и ее свойства

А можно ли использовать ту же логику для построения ICA?

x = As, s = Wx

Генеративная модель с такими свойствами:

так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)

s не могут быть одинаково симметрично распределены (напримернормально)

исходные сигналы s никак не упорядочены

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

Page 26: Машинное обучение 2, весна 2016: Feature extraction

“Ненормальность” и независимость

Посмотрим на такую величину: wTx , где w — строкаматрицы A−1

wTx = wTAs = (ATw)T s = zT s

Такая величина наименее нормальна в случаеz = (0, . . . , 1, . . . , 0)T . Таким образом, минимизация“нормальности” дает нам возможность сосредоточитсяна свойствах s. Заметим, что ‖z‖ = 1 следует изпредположения о единичной дисперсии si .

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

Page 27: Машинное обучение 2, весна 2016: Feature extraction

Ненормальность через NegentropyKurt неустойчив к выбросам, поэтому на практике хочетсяиспользовать что-то другое. Хотим померить количествоинформации, которую нам дает “ненормальность”:

J(X |M(X )) = H(N (µ(X ), σ(X )))− H(M(X ))

Так как нормальное распределение — самое непонятное, тоJ > 0. J тяжело считать напрямую, поэтому используютприближения:

J(y) ' 112µ(y 3)2 +

148

Kurt(y)2

классическое, но работает не очень, так как опять Kurt.

J(y) 'p∑

i=1

(µ(gi(y∗))−µ(gi(ν))), ν ∼ N (0, 1), y ∗ = Σ− 1

2 (y −µ(y))

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

Page 28: Машинное обучение 2, весна 2016: Feature extraction

Метод FastICA

По сути это proximal gradient:1 Возьмем произвольный w2 Сделаем ньютоновский шаг (парни смелые):

wt+1 = wt −∑

g µ(xg(wTt x))− λw∑

g µ(g ′(wTt x))− λ

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

Page 29: Машинное обучение 2, весна 2016: Feature extraction

Через variational bayes

Итак мы хотим максимизировать KL:

arg maxΣ

∫β

KL(p(β|X )‖p(β|N (0,Σ))dβ

если развернуть все в likelihood, то получится так:

arg maxΣ

∫β

KL(p(X |β)‖p(β|N (0,Σ))dβ

Наша задача из этого выитегрировать β. Фишка в том,что размерность Σ, или ее ранк, могут бытьсущественно меньше чем β

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

Page 30: Машинное обучение 2, весна 2016: Feature extraction

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

Чем мы занимаемся зависит от точки зрения:можно гордо делать датчики, а можно клепатькостылиЕсли не использовать никакой дополнительнойинформации, то можно постараться нормироватьмодель тем или иным способом

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