Машинное обучение 1, осень 2015: Линейные модели:...

27
Линейные модели: уменьшаем variance И. Куралёнок, Н. Поваров Яндекс СПб, 2015 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 24

Upload: cs-center

Post on 16-Jan-2017

357 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Линейные модели: уменьшаем variance

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

Яндекс

СПб, 2015

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

Page 2: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

План

1 Variance линейных моделейВоспоминания о быломПример

2 Поиск условного оптимумаРегуляризацияСпособы расчёта

3 Немного о qОбъем данных vs qВероятностные свойстваРегуляризация как prior

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

Page 3: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Воспоминания о былом

Из второй лекции мы знаем, что линейные моделиимеют большой разброс решенийИз 7-й лекции мы знаем, что меньше разброс намне сделать с избранной целевой функцией(теорема Гаусса-Маркова)

⇒ будем менять целевую функцию: вводить условия,или менять саму T .

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

Page 4: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Старатели

Хочется денегСтарают золотоОценка в банкеБанк далеко

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

Page 5: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

План

1 Variance линейных моделейВоспоминания о быломПример

2 Поиск условного оптимумаРегуляризацияСпособы расчёта

3 Немного о qОбъем данных vs qВероятностные свойстваРегуляризация как prior

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

Page 6: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Хорошие решения

1 Предположим, что данные y y нас шумные2 Введем чувство прекрасного −R(β)

Тогда нашу проблему можно свести к:

arg minβ R(β)‖Xβ − y‖ < ε

Ну или так:arg minβ ‖Xβ − y‖R(β) < p

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

Page 7: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Преобразование целевой функции

arg minβ‖Xβ − y‖+ λR(β)

Можно найти такой параметр λ, который будет даватьрешение задачи на предыдущем слайде. В смыслеоптимизации проблемы эквивалентны.

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

Page 8: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Как это относится к ML

Точное решение в L несет слишком много информациио обучающей выборке, поэтому точно оптимизироватьсмысла нету. Таким образом условие:

minR(β)‖Xβ − y‖ < ε

хорошо ложится на ML. При этом возможность выбораR позволяет рассказать наши ожидания от структурырешения.

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

Page 9: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Как это называется

Какими бывают R(β)

‖β‖0 — Best Subset;‖Γβ‖2 — регуляризация Тихонова/ridge regression;‖β‖1 — least absolute shrinkage and selection

operator (LASSO);Также рассматривается обощение на lq.

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

Page 10: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Геометрия LASSO

minβ ‖Xβ − y‖‖β‖1 < p

Картинки из ICML 2010 Tutorial (Irina Rish, Genady Grabarnik)

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

Page 11: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Геометрия LASSO II

Рассмотрим зависимость компоненты решения β0 от решениябезусловной системы β =

(XTX

)−1XTy .

Картинки из The Elements of Statistical Learning (Hastie, Friedman andTibshirani, 2009)

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

Page 12: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Пара слов об оптимизации l0l0 — естественное условие на решение: “меньше фишек — легчедумать”Точное решение однако найти очень дорого: проблемаNP-сложная. Поэтому есть масса работ по тому как найтиприближенное решение:

Если n < 40 есть работа “Regressions by Leaps and Bounds”(Furnival and Wilson 1974) + CV для выбора эффективногоограничения

Взад-назад селекшен (Forward/Backward-StepwiseSelection): выбрасываем или добавляем фичу снаибольшим/наименьшим Z-score

Приближение с маленьким q

“Хитрые” переборы многомерного креста

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

Page 13: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Оптимизация l1 и l2В случае ridge regression все просто:

β0 =(XTX + ΓTΓ

)−1XTy

А в случае LASSO все не так просто, так как T негладкая.Поэтому там почти градиентный спускъ. Есть несколькоспособов:

Пошаговый LASSO

LARS

Покоординатный спуск (посмотреть дома)

ISTA

FISTA

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

Page 14: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Пошаговый LASSO

1 Начнем с β = 0 и зафиксируем шаг w исоответствующие ему шаги по всем ортам eiw

2 Выберем такое направление:

i = arg mini ‖y − X (βt ± eiw) ‖= arg mini ‖ (y − Xβt)± Xeiw‖= arg mini ‖rt ± Xeiw‖

3 βt+1 = βt ± eiw если ‖y −Xβt‖−‖y −Xβt+1‖ > λ

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

Page 15: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Наблюдение за работой LASSO

Несколько наблюдений:Мы много раз бродили в одном и том женаправленииЗа шаг двигаемся только по одной координатеТак как шаг w фиксирован приходим не в точноерешение, а в приближенное

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

Page 16: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Least angle regression (LARS)

Внимание, 1 дальше — это вектор нужной размерности.1 Нормируем X так, чтобы µ(xi) = 0,D(xi) = 1 и y , так чтобы µ(y) = 0

2 Введем β1 = 0, r = y , A = ∅ — множество всех направлений смаксимальной корреляцией с r , s — вектор знаков корреляций.

3 XA =(s1xA(1), s2xA(2), . . . s|A|xA(|A|)

)4 aA =

(1T (XT

A XA)−11)− 1

2

5 uA = aAXA(XTA XA)

−11A обратите внимание, что (XTuA = aA1)

6 c = XT (y − βt)7 a = XTuA

8 γ = min+j

(C−cjaA−aj ,

C+cjaA+aj

)9 βt+1 = β + γuA

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

Page 17: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Работа LARS (корреляция)

Картинки из The Elements of Statistical Learning (Hastie, Friedman andTibshirani, 2009)

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

Page 18: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Немного о касаниях

Хочется получить единственную точку касания

По возможности хотелось бы упростить вычисления

Картинки от Hui Zou

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

Page 19: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

ElasticNet, l1.1, etc.

Можно пойти 2-мя способами:1 Добавить компоненту, которая будет отвечать за

“круглые бока” (ElasticNet)

arg minβ‖Xβ − y‖+ λ1‖β‖1 + λ2‖β‖2

2 Если жизнь все равно негладкая то гулять такгулять (1 < q < 2):

arg minβ‖Xβ − y‖+ λ‖β‖q

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

Page 20: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Grouped LASSO

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

arg minβ‖Xβ − y‖+ λ

∑g

√∑j∈g

β2j

Бывают и другие танцы для того, чтобы обеспечитьstructural sparsity

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

Page 21: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

План

1 Variance линейных моделейВоспоминания о быломПример

2 Поиск условного оптимумаРегуляризацияСпособы расчёта

3 Немного о qОбъем данных vs qВероятностные свойстваРегуляризация как prior

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

Page 22: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Как выбирать q?

Есть теоретические работы на эту тему. Не помню кто,не помню как, но доказал, что в ML q зависит отобъема выборки. Для малых объемов работает q = 0,для бесконечных q = 2. Все что посередине должнынайти свой любимый q.

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

Page 23: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

C байесовой точки зрения

Строго говоря, мы ввели prior на распределениерешений:

arg maxβ P(y |Xβ)P(β)= arg maxβ

∑i logP(yi |xiβ) + logP(β)

Если предположить нормальность P(yi |xiβ), топроблема становится очень похожей на то, что мы ужевидели:

= arg minβ‖Xβ − y‖ − zlogP(β)

где z — ошметки нормальности.

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

Page 24: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Виды prior

Какими бывают −logP(β):‖β‖0 — бритва Оккама, MDL, etc.;‖Γβ‖2 — нормальное распределение c Σ = Γ−1 и

µ = 0;‖β‖1 — распределение Лапласа;

Как можно видеть все это добро обобщается в lq.

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

Page 25: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Сравнение prior’ов в случае l1 и l2

Картинки из википедии

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

Page 26: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

Еще раз о регуляризации

arg maxβ P(y |Xβ)P(β)= arg maxβ

∑i logP(yi |xiβ) + logP(β)

Данный фокус гораздо более общий, и подходит нетолько для линейных решений.

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

Page 27: Машинное обучение 1, осень 2015: Линейные модели: уменьшаем variance

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

Чтобы уменьшить ошибку надо уходить в смещённыерешения

Есть разные виды регуляризаций

q тоже надо подбирать

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