Уменшение размерности: обзор И. Куралёнок, Н. Поваров Яндекс СПб, 2016 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21
Уменшение размерности: обзор
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2016
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 21
Область примененияFeature extraction
Зачем: наглядность (быть аккуратными!), экономияресурсов обучения и использования (предобработка),прибрать шум, гибкость в построении данных.Когда:
несколько факторов про одно, но все глядят вразные стороны из-за особенностей реализации;хотим структурировать обучение: сначала однучасть подобрать, потом другую, а потом всевместе;понимаем структуру данных.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 21
Feature extraction
Хотим научиться комбинировать существующиесигналы делая их более доступными дляиспользуемого метода обучения.Какие тут есть задачи?
Собрать что-то более удобноеПонять что-то новое о данных (data mining)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 21
Feature extraction
Хотим научиться комбинировать существующиесигналы делая их более доступными дляиспользуемого метода обучения.Какие тут есть задачи?
Собрать что-то более удобноеПонять что-то новое о данных (data mining)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 21
Как отличить extraction от датчиков?Пример с мобильниками
Как понять каким образом человек передвигается?Датчики: повесим специальный датчикFE: соберем данные от пользователей и спомощьюсуществующих датчиков предскажем.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 21
Как отличить extraction от датчиков?Пример с депутатами
Приходит к депутатам проситель, им надо принятьрешение, однако сами они не могут выбрать, так какинформация неструктурированна. Структурировать ееможно с помощью анкеты.Анкета, заполненная посетителем — датчик;Анкета, заполненная помощником (немым) —extraction.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 21
Как отличить extraction от датчиков?Выводы
Во многом вопрос философский, однако rule of thumbтакой:Если фактор не несет новой информации о вселенной,он extraction, иначе — новый фактор.
C другой стороны все зависит от постановки, напримерв одной постановке изучаемой вселенной могут бытьсуществующие логи, в другой — пользователи. Вразных парадигмах получим разные результаты.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 21
Какие есть способы собрать что-тоудобное?
Без использования дополнительных данных(какая-то нормализация)
с точки зрения линейной алгебры (PCA/Kernel PCA)с точки зрения разделения сигналов (ICA)группировка (кластеризация)какие-то еще принципы, специфичные для данных(например поделить голосовой сигнал)
С дополнительными даннымиMetric learningХитрая кластеризация с предпочтениямиTransfer learning
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 21
Метод главных компонентИз определения
Задача: превратить множество скоррелированныхсигналов в множество линейно некоррелирующих спомощью поворота:
min∑
(i ,j) yTi yj
X = QTYQqTi qj = 0,∀i 6= jqTi qi = 1,∀i
Мы знаем хотя бы одно решение такой задачи! Приэтом не все строки в Y одинаково полезны.Отсортируем их по модулю.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 21
Метод главных компонентАльтернативный способ: отсосы
Попробуем итеративно выбирать направление, несущеенаибольшую “информацию” (на самом деледисперсию):
arg max‖w‖2=1∑
i(xTi w)2
arg max‖w‖2=1 wTXTXw
arg maxw wTXTXwwTw
Это Rayleigh Quotient, для которого известно решение– главный собственный вектор.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 21
Как реализовать PCA?
Можно искать корни уравнения det‖X − λE‖ = 0,но мы так делать не будемВозведение в степень (power iteration)Оптимизированный способ через пространствоКрылова (Lanczos, например)Последовательное LQ (QR) разложение:
Ak+1 = RkQk = QTk QkRkQk = QT
k AkQk
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 10 из 21
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
Свойства PCAВсе хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
Свойства PCA
Все хорошо, когда пространство похоже нанормальное распределение. Однако на практикеэто обычно не так:Мы рассмотрели линейную зависимость, а чтоесли она нелинейна?
⇒ попробуем стандартный фокус с kernel
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 21
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
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.
Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные.
Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
Общая схема ICA
Представим сигнал как сумму независимых напримертак:
x = wTN (0,Σ)
Теперь наша задача подобрать такие (w ,Σ), которыебудут наилучшим образом объяснять данные. Этоможно делать по тем же принципам что и PCA:
получше объяснить данные (ICA onLL/Infomax/KL/etc.);выделяя самые “жирные” направления по-одному(Projection Pursuit)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 13 из 21
Projection pursuit
Хотим найти “интересные” направления. Интересные —это такие, которые имеют неслучайную структуру. Таккак ищем проекции, то самое “неинтересное”распределение — нормальное. Можно поставить такуюзадачу:
Kurt(ξ) =µ(ξi − µ(ξ))4
(µ(ξi − µ(ξ))2)2
arg maxw
Kurt(wTx)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 14 из 21
“Ненормальность” через свойствараспределения
Основное свойство нормального распределения —нулевые моменты после второго. Поэтому можнопоискать такие w , которые максимизируют этимоменты. После дисперсии там skewness и kurtosis.Которые отвечают за скрученность и остроконечность.Кубы никто не любит, так что обычно максимизируютkurtosis.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 21
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
Общая модель и ее свойстваА можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
Общая модель и ее свойства
А можно ли использовать ту же логику для построения ICA?
x = As, s = Wx
Генеративная модель с такими свойствами:
так как подбираем одновременно и A и s, нужно зафиксироватьсвойства s (ожидание и scale)
s не могут быть одинаково симметрично распределены (напримернормально)
исходные сигналы s никак не упорядочены
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 16 из 21
“Ненормальность” и независимость
Посмотрим на такую величину: wTx , где w — строкаматрицы A−1
wTx = wTAs = (ATw)T s = zT s
Такая величина наименее нормальна в случаеz = (0, . . . , 1, . . . , 0)T . Таким образом, минимизация“нормальности” дает нам возможность сосредоточитсяна свойствах s. Заметим, что ‖z‖ = 1 следует изпредположения о единичной дисперсии si .
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 21
Ненормальность через 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
Метод FastICA
По сути это proximal gradient:1 Возьмем произвольный w2 Сделаем ньютоновский шаг (парни смелые):
wt+1 = wt −∑
g µ(xg(wTt x))− λw∑
g µ(g ′(wTt x))− λ
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 21
Через 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
Что мы сегодня узнали
Чем мы занимаемся зависит от точки зрения:можно гордо делать датчики, а можно клепатькостылиЕсли не использовать никакой дополнительнойинформации, то можно постараться нормироватьмодель тем или иным способом
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 21