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

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

Upload: cs-center

Post on 16-Jan-2017

372 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

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

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

Яндекс

СПб, 2016

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

Page 2: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Зачем бороться с размерностью?

1 Наглядность: сложно смотреть на 100-мерноепространство

2 Количество данных и надежно подбираемыхпараметров зависимы

3 Экономим стоимость использования:вычислительные ресурсы на этапе обучения и/илииспользования;стоимость отдельного измерения.

4 Убрать шум5 Гибкость в построении данных

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

Page 3: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Постановка задачи обучения

С построением фичей: повесим на клиента датчикиНаша цель повесить датчики правильно, зная какуюинформацию мы хотим получить.Похоже на glass box

Без построения фичей: льется поток неведомыхданныхХотим выделить сигналы, имеющие отношение кискомомуПохоже на black box

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

Page 4: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Почему можно уменьшить размерность?В конструктивной постановке

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

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

Page 5: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Почему можно уменьшить размерность?В случае сырых данных

В случае сырых данных, мы по сути должны найтидатчики, изучив их свойства по имеющимся данным.Поэтому все предыдущее верно и тут, а кроме этого:

надо понять где причина, а где следствие;отделить свойства передачи данных отинформации.

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

Page 6: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно это делать

Feature selection (whitening)Пример: проверка стат гипотез, что фича нужна

Девиз: меньше фишек — легче думать.

Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)

Девиз: Мурзик, ну еще капельку!

Embedded models (velosiped prouction)Пример: LASSO, LDA

Девиз: само сдохнет.

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

Page 7: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно это делать

Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.

Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)

Девиз: Мурзик, ну еще капельку!

Embedded models (velosiped prouction)Пример: LASSO, LDA

Девиз: само сдохнет.

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

Page 8: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно это делать

Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.

Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)Девиз: Мурзик, ну еще капельку!

Embedded models (velosiped prouction)Пример: LASSO, LDA

Девиз: само сдохнет.

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

Page 9: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно это делать

Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.

Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)Девиз: Мурзик, ну еще капельку!

Embedded models (velosiped prouction)Пример: LASSO, LDAДевиз: само сдохнет.

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

Page 10: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

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

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

шум/сигнал (dB) у некоторых совсем поганыйоценка источника сигнала

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

Page 11: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

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

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

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

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

Page 12: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Область примененияEmbedded models

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

ничего не знаем про данные, зато понимаем какможет быть устроено хорошее решение;не хотим думать/смотреть на данные.

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

Page 13: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Johnson-Lindestrauss lemma I

TheoremДля заданного 0 < ε < 1, множества точек X ∈ Rn×m,числа k > logm

ε2 , существует линейное преобразованиеf : Rn → Rk такое, что:

(1− ε)‖u − v‖22 ≤ ‖f (u)− f (v)‖22 ≤ (1+ ε)‖u − v‖22

для любой пары (u, v) ∈ X 2.

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

Page 14: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Johnson-Lindestrauss lemma II

К сожалению лемма довольно tight:

TheoremСуществует множество точек X , для которогопотребуется k = O(− logm

ε2 log ε).

Но мы помним:ограничения только на линейные преобразования;есть предположение о полной информации,содержащейся в X .

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

Page 15: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Feature selection

Какие тут есть задачи?Понять годится ли нам фича, или можно без нее:

как это делать надежно;можно ли сделать подешевле.

Выбрать оптимальное подмножество факторов.Научиться строить модели, предпочитающиепоменьше факторов.

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

Page 16: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно понять нужна или нет фича?

Можно проверить такую гипотезу:

TheoremДля множеств XB ∈ Rn×m и XT = (XB , x) ∈ Rn×(m+1), парныхпоследовательностей разбиений этих множеств:

{(LBt ,VBt)}∞1 , LBt ∪ VBt = XB ,∀t{(LTt ,VTt)}∞1 , LTt ∪ VTt = XT , ∀t

, целевой функции T (β,X ) событие

T (argmaxβ

T (LBt),VBt) ≤ T (argmaxβ

T (LTt),VTt)

выполняется с вероятностью не менее 1− α.

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

Page 17: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

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

сразу вставили повторную выборку, чтобы не париться;

заметим, что подбираем прямо β, что означаетзависимость метода от способа оптимизации;

конкретный способ проверки подобной гипотезы зависит отраспределения T (argmaxβ T (LBt),VBt);

считаем, что проверяемый фактор не влияет на этораспределение;

есть надежда на то, что исходный X несмещенотносительно генеральной совокупности поT (argmaxβ T (LBt),VBt)

исходим из независимости T (argmaxβ T (LBt),VBt) по t,что, конечно, не так :).

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

Page 18: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Практическая реализация проверки

Что нам нужно определить чтобы такое реализовать?Понять как делить X .Выяснить какой критерий использовать.Найти необходимое количество разбиений длядостижения уровня значимости α.Нащупать границы применимости.

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

Page 19: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как делить XМы делили апельсин...

Можно через BS, но мы побаиваемся зависимости, и делаем CV.В CV обычно встает вопрос соотношения мощности L и V . Естьдве альтернативы:

Сделать L поменьше

Увеличит variance β и, соответственно, может повлиять надисперсию случайных величин справа и слева.

Сделать T поменьше

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

T (argmaxβ

T (LBt),VBt) ≤ T (argmaxβ

T (LTt),VTt)

⇒ надо найти баланс при котором достигаетсяmin var(T (argmaxβ T (LBt),VBt))

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

Page 20: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как делить XМы делили апельсин...

Можно через BS, но мы побаиваемся зависимости, и делаем CV.В CV обычно встает вопрос соотношения мощности L и V . Естьдве альтернативы:

Сделать L поменьшеУвеличит variance β и, соответственно, может повлиять надисперсию случайных величин справа и слева.

Сделать T поменьше

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

T (argmaxβ

T (LBt),VBt) ≤ T (argmaxβ

T (LTt),VTt)

⇒ надо найти баланс при котором достигаетсяmin var(T (argmaxβ T (LBt),VBt))

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

Page 21: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как делить XМы делили апельсин...

Можно через BS, но мы побаиваемся зависимости, и делаем CV.В CV обычно встает вопрос соотношения мощности L и V . Естьдве альтернативы:

Сделать L поменьшеУвеличит variance β и, соответственно, может повлиять надисперсию случайных величин справа и слева.

Сделать T поменьшеОбычно мы строим T используя информацию о независимостинаблюдаемых точек, что приводит к обратной зависимостидисперсии от количества точек.

T (argmaxβ

T (LBt),VBt) ≤ T (argmaxβ

T (LTt),VTt)

⇒ надо найти баланс при котором достигаетсяmin var(T (argmaxβ T (LBt),VBt))

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

Page 22: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Какой критерий выбрать?Зависит от метода:

Можно не париться и взять WX -тест, которыйработает почти всегда.

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

Page 23: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Сколько разбиений достаточно?Само по себе значение статистики является случайнойвеличиной со своей дисперсией, это надо учитывать.

Зависит дисперсия от количества разбиений. Сделаете 10 —будет гигантским, сделаете 1000 — будет точнее. У нас 200.

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

Page 24: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Wrapper vs. FilterЕсли использовать исходную оптимизацию, можно поседеть. Начем можно сэкономить?

Использовать менее точную оптимизацию.

Поменять целевую функцию в сторону более простую (e.g.парную на точечную)

Использовать другую модель обучения, похожую на боевую

Использовать тот факт, что мы проводим многопоследовательных разбиений одного и того же множества

etc.

Все подобные телодвижения переводят нас из класса wrapperметодов (честных), в класс filter (нечестных).

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

Page 25: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Когда оно все одно лажает?

Тем не менее все это добро может и не работать.1 Значения Wt зависимы2 Все еще остается α с которой эта штука будет

принимать одинаковые DS за ухудшения3 Мы могли неверно подобрать какой-нить

магический параметр⇒ все равно надо тестировать

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

Page 26: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Как можно тестировать приемкуфакторов?

Изменения не несущие информацию:добавить рандомные фичи;добавить дубли;пошуметь на дублях;использовать неинформативные преобразования.

Поведение на исходном сигнале с разным уровнемшумаИзвестные хорошие фичи

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

Page 27: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Немного статистики из жизни Яндекс

За первый год использования автоматизированнойпроверки факторов было проверено 50000 гипотез.На проверку факторов тратится ∼ 10000000машиночасов1

Вся эта работа позволяет поставить работу надфакторами в конвейерный режим и получатьстабильный прирост качества.

Подробнее можно почитать на хабре по тегу FML.

1сейчас больше, но не хочу показыватьИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 22 из 25

Page 28: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Выбираем оптимальное множествофакторов

К сожалению, задача NP-полная, так что нас ничегоне спасет из-за NFL. Можно попробовать сделатьприблизительно:

Greedy forward selectionGreedy backward elimination

Получается не очень, если делать без знания о методеоптимизации.

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

Page 29: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

Пара buzzword про embedded

Мы уже знаем пару способов как делать embedded.lq, для q < 2.Minimum description lengthBayesian information criterionAkaike information criterion (и его исправленная,неработающая версия)

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

Page 30: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection

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

Есть такая задача — фичи убиратьК ней можно подступаться с разными девизамиРассмотрели задачу выбора факторов:

узнали как проверить одиночное изменение (а точноодиночное?);поняли как все там на ладан дышит;посетовали на то, что оптимальный набор фичейсделать сложно;вспомнили немного принципов по которым можнопостроить embedded model для feature selection.

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