Машинное обучение 2, весна 2016: Feature extraction
Transcript of Машинное обучение 2, весна 2016: Feature extraction
![Page 1: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/1.jpg)
Уменшение размерности: обзор
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2016
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21
![Page 2: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/2.jpg)
Область примененияFeature extraction
Зачем: наглядность (быть аккуратными!), экономияресурсов обучения и использования (предобработка),прибрать шум, гибкость в построении данных.Когда:
несколько факторов про одно, но все глядят вразные стороны из-за особенностей реализации;хотим структурировать обучение: сначала однучасть подобрать, потом другую, а потом всевместе;понимаем структуру данных.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 21
![Page 3: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/3.jpg)
Feature extraction
Хотим научиться комбинировать существующиесигналы делая их более доступными дляиспользуемого метода обучения.Какие тут есть задачи?
Собрать что-то более удобноеПонять что-то новое о данных (data mining)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 21
![Page 4: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/4.jpg)
Feature extraction
Хотим научиться комбинировать существующиесигналы делая их более доступными дляиспользуемого метода обучения.Какие тут есть задачи?
Собрать что-то более удобноеПонять что-то новое о данных (data mining)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 21
![Page 5: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/5.jpg)
Как отличить extraction от датчиков?Пример с мобильниками
Как понять каким образом человек передвигается?Датчики: повесим специальный датчикFE: соберем данные от пользователей и спомощьюсуществующих датчиков предскажем.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 21
![Page 6: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/6.jpg)
Как отличить extraction от датчиков?Пример с депутатами
Приходит к депутатам проситель, им надо принятьрешение, однако сами они не могут выбрать, так какинформация неструктурированна. Структурировать ееможно с помощью анкеты.Анкета, заполненная посетителем — датчик;Анкета, заполненная помощником (немым) —extraction.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 21
![Page 7: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/7.jpg)
Как отличить extraction от датчиков?Выводы
Во многом вопрос философский, однако rule of thumbтакой:Если фактор не несет новой информации о вселенной,он extraction, иначе — новый фактор.
C другой стороны все зависит от постановки, напримерв одной постановке изучаемой вселенной могут бытьсуществующие логи, в другой — пользователи. Вразных парадигмах получим разные результаты.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 21
![Page 8: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/8.jpg)
Какие есть способы собрать что-тоудобное?
Без использования дополнительных данных(какая-то нормализация)
с точки зрения линейной алгебры (PCA/Kernel PCA)с точки зрения разделения сигналов (ICA)группировка (кластеризация)какие-то еще принципы, специфичные для данных(например поделить голосовой сигнал)
С дополнительными даннымиMetric learningХитрая кластеризация с предпочтениямиTransfer learning
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 21
![Page 9: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/9.jpg)
Метод главных компонентИз определения
Задача: превратить множество скоррелированныхсигналов в множество линейно некоррелирующих спомощью поворота:
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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/10.jpg)
Метод главных компонентАльтернативный способ: отсосы
Попробуем итеративно выбирать направление, несущеенаибольшую “информацию” (на самом деледисперсию):
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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/11.jpg)
Как реализовать 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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/12.jpg)
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
![Page 13: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/13.jpg)
Свойства PCAВсе хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
![Page 14: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/14.jpg)
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
![Page 15: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/15.jpg)
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
![Page 16: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/17.jpg)
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.
Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
![Page 18: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/18.jpg)
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.
Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
![Page 19: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/19.jpg)
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные. Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
![Page 20: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/20.jpg)
Projection pursuit
Хотим найти “интересные” направления. Интересные —это такие, которые имеют неслучайную структуру. Таккак ищем проекции, то самое “неинтересное”распределение — нормальное. Можно поставить такуюзадачу:
Kurt(ξ) =µ(ξi − µ(ξ))4
(µ(ξi − µ(ξ))2)2
arg maxw
Kurt(wTx)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 21
![Page 21: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/21.jpg)
“Ненормальность” через свойствараспределения
Основное свойство нормального распределения —нулевые моменты после второго. Поэтому можнопоискать такие w , которые максимизируют этимоменты. После дисперсии там skewness и kurtosis.Которые отвечают за скрученность и остроконечность.Кубы никто не любит, так что обычно максимизируютkurtosis.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 21
![Page 22: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/22.jpg)
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
![Page 23: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/23.jpg)
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
![Page 24: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/24.jpg)
Общая модель и ее свойстваА можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
![Page 25: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/25.jpg)
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
![Page 26: Машинное обучение 2, весна 2016: Feature extraction](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/26.jpg)
“Ненормальность” и независимость
Посмотрим на такую величину: 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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/27.jpg)
Ненормальность через 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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/28.jpg)
Метод 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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/29.jpg)
Через 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](https://reader034.fdocuments.us/reader034/viewer/2022042513/587c5f191a28ab633c8b5837/html5/thumbnails/30.jpg)
Что мы сегодня узнали
Чем мы занимаемся зависит от точки зрения:можно гордо делать датчики, а можно клепатькостылиЕсли не использовать никакой дополнительнойинформации, то можно постараться нормироватьмодель тем или иным способом
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 21