Слайд 2Линейная регрессия
Дано: K N-мерных самплов {xi} для каждого известно значение функции {fi}
Найти:
![Линейная регрессия Дано: K N-мерных самплов {xi} для каждого известно значение функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-1.jpg)
вектор a, такой что aTxi= fi
Решение: a=(XTX)-1XTf
Слайд 3Регуляризация
Когда данных мало простое решение не работает
Нужна какая-то дополнительная информация, например, мы
![Регуляризация Когда данных мало простое решение не работает Нужна какая-то дополнительная информация,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-2.jpg)
можем сказать, что мы хотим “маленький” или “простой” вектор a
Меры простоты:
L0 = feature selection
L1 = lasso
L2 = ridge = по Тихонову [a=(XTX+λI)-1XTf]
Слайд 4L1 регуляризация
Итеративный алгоритм L1 регуляризации
У нас есть текущий “остаток” ri, который
![L1 регуляризация Итеративный алгоритм L1 регуляризации У нас есть текущий “остаток” ri,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-3.jpg)
в начале равен fi
На каждой итерации мы
Выбираем самый похожий на ri фактор и считаем с каким множителем α нам нужно его брать
Добавляем λα к коэффициенту при этом факторе (λ < 1)
Считаем новый остаток ri
http://www-stat.stanford.edu/~tibs/lasso.html
Слайд 5Нелинейные модели
Если бы у нас были пропорциональные релевантности независимые факторы, нам бы
![Нелинейные модели Если бы у нас были пропорциональные релевантности независимые факторы, нам](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-4.jpg)
хватило линейной регрессии
Это не так и нам понадобятся нелинейные модели
Полиномиальные
“Нейронные сети”
Decision Trees
…
Слайд 7Boosting
Построение strong learner как комбинации “weak learners”
Связь с L1 регуляризацией
weak learner =
![Boosting Построение strong learner как комбинации “weak learners” Связь с L1 регуляризацией](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-6.jpg)
единственный фактор с коэффициентом
strong learner = линейная регрессия c L1 регуляризацией
Для более сложного weak learner boosting дает сложно формализуемую sort of L1 регуляризацию
Слайд 8Bagging
На каждой итерации будем брать не все самплы, а их случайное подмножество
Магическим
![Bagging На каждой итерации будем брать не все самплы, а их случайное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-7.jpg)
образом более устойчиво
Defeats boosting impossibility argument (http://velblod.videolectures.net/2008/pascal2/icml08_helsinki/long_rcn/icml08_long_rcn_01.ppt)
Слайд 9Limit on decision tree leafs
Дисперсия ошибки значения в листе пропорциональна 1/N, где
![Limit on decision tree leafs Дисперсия ошибки значения в листе пропорциональна 1/N,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-8.jpg)
N – количество самплов в листе
Введем ограничение – в кошерном дереве должно быть не меньше 10 самплов обучающей выборки на лист
Наш лимит ограничивает ошибку аппроксимации “выравнивая” ее по выборке
Слайд 10TreeNet
TreeNet товарища Friedman-a это Boosted Decision Tree с Bagging и ограничением на
![TreeNet TreeNet товарища Friedman-a это Boosted Decision Tree с Bagging и ограничением](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-9.jpg)
минимальное количество самплов в листе
http://www.salford-systems.com/doc/GreedyFuncApproxSS.pdf
http://www.salford-systems.com/doc/StochasticBoostingSS.pdf
Слайд 11MatrixNet
http://seodemotivators.ru/
![MatrixNet http://seodemotivators.ru/](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-10.jpg)
Слайд 12MatrixNet
MatrixNet отличается в 3-х моментах
Использование Oblivious Trees
Регуляризация значений в листах вместо ограничения
![MatrixNet MatrixNet отличается в 3-х моментах Использование Oblivious Trees Регуляризация значений в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-11.jpg)
на количество самплов в листе
Зависимость сложности модели от итерации (начинаем с простых моделей, заканчиваем сложными)
Слайд 14Регуляризация в листьях
Вместо ограничения на количество самплов в листьях будем “регуляризовать” значение
![Регуляризация в листьях Вместо ограничения на количество самплов в листьях будем “регуляризовать”](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-13.jpg)
в листе
Например, если домножить значение в листе на sqrt(N/(N+100)), где N – число самплов в листе, то результаты улучшатся.
Оптимальный способ регуляризации, видимо, зависит от выборки
Слайд 15Другие целевые функции
А что, если вместо квадратичной ошибки мы хотим оптимизировать что-нибудь
![Другие целевые функции А что, если вместо квадратичной ошибки мы хотим оптимизировать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-14.jpg)
другое? Например, для задач классификации больше подходит средний log(p), где p – вероятность, назначенная моделью правильному ответу
Получаем обычную задачу максимизации функции, которую можно решать
Градиентным спуском = gradient boosting = greedy function approximation
Методом Ньютона = logit boost для классификации
Слайд 16Gradient boosting
На каждом шаге boosting-a вместо невязки ri мы аппроксимируем производную целевой
![Gradient boosting На каждом шаге boosting-a вместо невязки ri мы аппроксимируем производную](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-15.jpg)
функции в текущей точке
Размер шага зависит от величины производной, т.е. от гладкости функции
Вместо шага по производной в текущей точке мы можем посчитать куда приведет нас производная и шагать в направлении финальной точки траектории
Слайд 17Ranking
А что же делать, если мы хотим научиться ранжировать?
Целевая функция для ranking
![Ranking А что же делать, если мы хотим научиться ранжировать? Целевая функция](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-16.jpg)
(NDCG/pFound/whatever) задана на порядках и разрывна (описание pFound http://romip.ru/romip2009/15_yandex.pdf)
Нужна какая-то непрерывная замена. Замены делятся на классы
Pointwise (rmse, классификация, …)
Pairwise (RankNet, …)
Listwise (SoftRank, …)
Слайд 18Luce-Plackett model
Luce-Plackett model позволяет нам назначить вероятности всем перестановкам, если у нас
![Luce-Plackett model Luce-Plackett model позволяет нам назначить вероятности всем перестановкам, если у](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-17.jpg)
есть веса документов {wi}
Вероятность перестановки вычисляется рекурсивно. Вероятность поставить документ k на первое место равна wk / (w1 + w2 + … + wn), далее аналогично считаем вероятность выбрать второй документ из оставшихся и т.д. Произведение этих вероятностей равно вероятности перестановки.
Слайд 19Expected pFound
Для каждой перестановки мы можем посчитать ее pFound(perm). Также мы знаем
![Expected pFound Для каждой перестановки мы можем посчитать ее pFound(perm). Также мы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465754/slide-18.jpg)
вероятность этой перестановки PLP(perm)
Просуммировав pFound(perm) * PLP(perm) по всем перестановкам получим expected pFound
Expected pFound непрерывен и мы можем максимизировать его с помощью gradient boosting
Вместо pFound мы можем подставить любую нужную нам меру