Машинное обучение 2, весна 2016: Обзор методов уменьшения...
Transcript of Машинное обучение 2, весна 2016: Обзор методов уменьшения...
![Page 1: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/1.jpg)
Уменьшение размерности: обзор
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2016
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 1 из 25
![Page 2: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/2.jpg)
Зачем бороться с размерностью?
1 Наглядность: сложно смотреть на 100-мерноепространство
2 Количество данных и надежно подбираемыхпараметров зависимы
3 Экономим стоимость использования:вычислительные ресурсы на этапе обучения и/илииспользования;стоимость отдельного измерения.
4 Убрать шум5 Гибкость в построении данных
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 2 из 25
![Page 3: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/3.jpg)
Постановка задачи обучения
С построением фичей: повесим на клиента датчикиНаша цель повесить датчики правильно, зная какуюинформацию мы хотим получить.Похоже на glass box
Без построения фичей: льется поток неведомыхданныхХотим выделить сигналы, имеющие отношение кискомомуПохоже на black box
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 3 из 25
![Page 4: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/4.jpg)
Почему можно уменьшить размерность?В конструктивной постановке
Датчики могут:быть разные, а информация одна и та же;быть неудачно поставленны оператором иработать не так, как задумано.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 4 из 25
![Page 5: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/5.jpg)
Почему можно уменьшить размерность?В случае сырых данных
В случае сырых данных, мы по сути должны найтидатчики, изучив их свойства по имеющимся данным.Поэтому все предыдущее верно и тут, а кроме этого:
надо понять где причина, а где следствие;отделить свойства передачи данных отинформации.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 5 из 25
![Page 6: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/6.jpg)
Как можно это делать
Feature selection (whitening)Пример: проверка стат гипотез, что фича нужна
Девиз: меньше фишек — легче думать.
Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)
Девиз: Мурзик, ну еще капельку!
Embedded models (velosiped prouction)Пример: LASSO, LDA
Девиз: само сдохнет.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 25
![Page 7: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/7.jpg)
Как можно это делать
Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.
Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)
Девиз: Мурзик, ну еще капельку!
Embedded models (velosiped prouction)Пример: LASSO, LDA
Девиз: само сдохнет.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 25
![Page 8: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/8.jpg)
Как можно это делать
Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.
Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)Девиз: Мурзик, ну еще капельку!
Embedded models (velosiped prouction)Пример: LASSO, LDA
Девиз: само сдохнет.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 25
![Page 9: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/9.jpg)
Как можно это делать
Feature selection (whitening)Пример: проверка стат гипотез, что фича нужнаДевиз: меньше фишек — легче думать.
Feature extraction/construction (kostyl production)Пример: метод главных компонент (PCA)Девиз: Мурзик, ну еще капельку!
Embedded models (velosiped prouction)Пример: LASSO, LDAДевиз: само сдохнет.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 6 из 25
![Page 10: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/10.jpg)
Область примененияFeature selection
Зачем: наглядность, экономия ресурсов, надежныйподбор, прибрать шум.Когда:
шум/сигнал (dB) у некоторых совсем поганыйоценка источника сигнала
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 7 из 25
![Page 11: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/11.jpg)
Область примененияFeature extraction
Зачем: наглядность (быть аккуратными!), экономияресурсов обучения и использования (предобработка),прибрать шум, гибкость в построении данных.Когда:
несколько факторов про одно, но все глядят вразные стороны из-за особенностей реализации;хотим структурировать обучение: сначала однучасть подобрать, потом другую, а потом всевместе;понимаем структуру данных;хочется потратить время.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 8 из 25
![Page 12: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/12.jpg)
Область примененияEmbedded models
Зачем: экономия ресурсов использования, убратьшумКогда:
ничего не знаем про данные, зато понимаем какможет быть устроено хорошее решение;не хотим думать/смотреть на данные.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 9 из 25
![Page 13: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/13.jpg)
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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/14.jpg)
Johnson-Lindestrauss lemma II
К сожалению лемма довольно tight:
TheoremСуществует множество точек X , для которогопотребуется k = O(− logm
ε2 log ε).
Но мы помним:ограничения только на линейные преобразования;есть предположение о полной информации,содержащейся в X .
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 11 из 25
![Page 15: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/15.jpg)
Feature selection
Какие тут есть задачи?Понять годится ли нам фича, или можно без нее:
как это делать надежно;можно ли сделать подешевле.
Выбрать оптимальное подмножество факторов.Научиться строить модели, предпочитающиепоменьше факторов.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 12 из 25
![Page 16: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/16.jpg)
Как можно понять нужна или нет фича?
Можно проверить такую гипотезу:
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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/17.jpg)
Немного о свойствах проверкиУ подобной постановки есть несколько свойств:
сразу вставили повторную выборку, чтобы не париться;
заметим, что подбираем прямо β, что означаетзависимость метода от способа оптимизации;
конкретный способ проверки подобной гипотезы зависит отраспределения 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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/18.jpg)
Практическая реализация проверки
Что нам нужно определить чтобы такое реализовать?Понять как делить X .Выяснить какой критерий использовать.Найти необходимое количество разбиений длядостижения уровня значимости α.Нащупать границы применимости.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 15 из 25
![Page 19: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/19.jpg)
Как делить 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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/20.jpg)
Как делить 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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/21.jpg)
Как делить 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.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/22.jpg)
Какой критерий выбрать?Зависит от метода:
Можно не париться и взять WX -тест, которыйработает почти всегда.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 17 из 25
![Page 23: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/23.jpg)
Сколько разбиений достаточно?Само по себе значение статистики является случайнойвеличиной со своей дисперсией, это надо учитывать.
Зависит дисперсия от количества разбиений. Сделаете 10 —будет гигантским, сделаете 1000 — будет точнее. У нас 200.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 18 из 25
![Page 24: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/24.jpg)
Wrapper vs. FilterЕсли использовать исходную оптимизацию, можно поседеть. Начем можно сэкономить?
Использовать менее точную оптимизацию.
Поменять целевую функцию в сторону более простую (e.g.парную на точечную)
Использовать другую модель обучения, похожую на боевую
Использовать тот факт, что мы проводим многопоследовательных разбиений одного и того же множества
etc.
Все подобные телодвижения переводят нас из класса wrapperметодов (честных), в класс filter (нечестных).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 19 из 25
![Page 25: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/25.jpg)
Когда оно все одно лажает?
Тем не менее все это добро может и не работать.1 Значения Wt зависимы2 Все еще остается α с которой эта штука будет
принимать одинаковые DS за ухудшения3 Мы могли неверно подобрать какой-нить
магический параметр⇒ все равно надо тестировать
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 20 из 25
![Page 26: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/26.jpg)
Как можно тестировать приемкуфакторов?
Изменения не несущие информацию:добавить рандомные фичи;добавить дубли;пошуметь на дублях;использовать неинформативные преобразования.
Поведение на исходном сигнале с разным уровнемшумаИзвестные хорошие фичи
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 21 из 25
![Page 27: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/27.jpg)
Немного статистики из жизни Яндекс
За первый год использования автоматизированнойпроверки факторов было проверено 50000 гипотез.На проверку факторов тратится ∼ 10000000машиночасов1
Вся эта работа позволяет поставить работу надфакторами в конвейерный режим и получатьстабильный прирост качества.
Подробнее можно почитать на хабре по тегу FML.
1сейчас больше, но не хочу показыватьИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 22 из 25
![Page 28: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/28.jpg)
Выбираем оптимальное множествофакторов
К сожалению, задача NP-полная, так что нас ничегоне спасет из-за NFL. Можно попробовать сделатьприблизительно:
Greedy forward selectionGreedy backward elimination
Получается не очень, если делать без знания о методеоптимизации.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 23 из 25
![Page 29: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/29.jpg)
Пара buzzword про embedded
Мы уже знаем пару способов как делать embedded.lq, для q < 2.Minimum description lengthBayesian information criterionAkaike information criterion (и его исправленная,неработающая версия)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 24 из 25
![Page 30: Машинное обучение 2, весна 2016: Обзор методов уменьшения размерности. Feature selection.](https://reader033.fdocuments.net/reader033/viewer/2022042723/587c5f191a28ab633c8b5839/html5/thumbnails/30.jpg)
Что мы сегодня узнали
Есть такая задача — фичи убиратьК ней можно подступаться с разными девизамиРассмотрели задачу выбора факторов:
узнали как проверить одиночное изменение (а точноодиночное?);поняли как все там на ладан дышит;посетовали на то, что оптимальный набор фичейсделать сложно;вспомнили немного принципов по которым можнопостроить embedded model для feature selection.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2016 Стр. 25 из 25