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

2013 11 08_machine_learning_lecture_08

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 2013 11 08_machine_learning_lecture_08

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

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

Яндекс

СПб, 2013

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

Page 2: 2013 11 08_machine_learning_lecture_08

Переобозначение параметра решающейфункции!

λ — мало. С сегодняшнего дня вместо него β

F (x , λ)→ F (x , β)

Слайды предыдущих лекций переделаем.

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

Page 3: 2013 11 08_machine_learning_lecture_08

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

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

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

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

Page 4: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

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

Page 5: 2013 11 08_machine_learning_lecture_08

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

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

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

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

Page 6: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

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

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

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

Page 7: 2013 11 08_machine_learning_lecture_08

Виды prior

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

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

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

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

Page 8: 2013 11 08_machine_learning_lecture_08

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

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

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

Page 9: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

Page 10: 2013 11 08_machine_learning_lecture_08

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

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

operator (LASSO);

Также рассматривается обощение на lq.

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

Page 11: 2013 11 08_machine_learning_lecture_08

Геометрия LASSO

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

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

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

Page 12: 2013 11 08_machine_learning_lecture_08

Геометрия LASSO II

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

(XTX

)−1XTy .

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

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

Page 13: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

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

Page 14: 2013 11 08_machine_learning_lecture_08

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

β0 =(XTX + ΓTΓ

)−1XTy

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

Пошаговый LASSO

LARS

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

ISTA

FISTA

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

Page 15: 2013 11 08_machine_learning_lecture_08

Пошаговый 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‖ > λ

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

Page 16: 2013 11 08_machine_learning_lecture_08

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

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

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

Page 17: 2013 11 08_machine_learning_lecture_08

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

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

Page 18: 2013 11 08_machine_learning_lecture_08

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

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

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

Page 19: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

Page 20: 2013 11 08_machine_learning_lecture_08

ElasticNet, l1.1, etc.

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

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

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

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

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

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

Page 21: 2013 11 08_machine_learning_lecture_08

Grouped LASSO

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

arg minβ‖Xβ − y‖+ λ

∑g

√∑j∈g

β2j

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

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

Page 22: 2013 11 08_machine_learning_lecture_08

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

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

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

Page 23: 2013 11 08_machine_learning_lecture_08

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

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

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

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

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

Page 24: 2013 11 08_machine_learning_lecture_08

Результаты ДЗ второй недели1 deb8e12 1371ef3 5fd1e04 85cd015 16d2886 aa01557 f54b788 a3807d9 099f7710 fe14e811 611bf412 95afb413 11e31c14 fbcd3c15 6fc4ef16 a434b217 a8cb5118 f6c03119 234ec920 3c287f21 1bf2d722 15059b23 f737ec24 e5bda225 dfba4d26 91bd7c

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

Page 25: 2013 11 08_machine_learning_lecture_08

Домашнее задание

Датасет в домашнем задании прошлой недели иэтой - одинаковый.Задача - мультиклассификация.Для ДЗ прошлой лекции можноимплементировать методы из прошлой лекции.Для ДЗ текущей лекции можно имплементироватьметоды из текущей лекции.Рейтинг будет строиться исходя из качестваполученной мультиклассификации для каждойнедели отдельно.В svn точно всё лежит.

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