Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Mining #8 / Байесовские методы машинного обучения

Data Mining #8 / Байесовские методы машинного обучения

More Decks by Технострим Mail.ru Group

Transcript

  1. Содержание 1. Оптимальное байесовское правило и генеративные модели 2. Методы

    восстановления плотности и наивный байесовский классификатор 3. Байесовский подход в машинном обучении 2
  2. Вероятностное описание моделей Вероятностное описание наиболее удобно для алгоритмов машинного

    обучение. • Все модели описаны единым языком (см. Bishop Model Based Machine Learning) • Мощный и выразительный язык теории вероятностей • Позволяет строить модели, которые можно исследовать вероятностными методами 4
  3. Пример Делаем банковский скоринг. — вероятность получить ответ для объекта

    , моделируем машинным обучением. К нам пришли множество клиентов Как посчитать возможные убытки? Можно заранее рассчитать с помощью стохастического моделирования! p(y|x) y x Xclients RISK = ∑ x∈Xclients λx,y p(y|x) 5
  4. Байесовский подход Считаем, что наши объекты и ответы описываются распределением

    Обучающая выборка взята случайно и независимо из этого распределения — априорная вероятность класса — правдоподобие объекта — апостериорная вероятность класса — обоснованность (evidence) объекта A priori (латынь) — от предшествующего A posteriori (латынь) — из последующего p(x, y) p(y) y p(x|y) x p(y|x) y p(x) x 6
  5. Маргинализация На самом деле достаточно знать только совместное распределение! Правило

    суммирования (sum rule): , p(x) = ∫ p(x, y)dy p(y) = ∫ p(x, y)dx p(y|x) = p(x|y)p(y) p(x) = p(x, y) ∫ p(x, y)dx 7
  6. Формула Байеса По определению условной вероятности , , Если величины

    независимы, то — формула Байеса Источник: en.wikipedia.org/wiki/Thomas_Bayes p(y|x) = p(x, y) p(x) p(x|y) = p(x, y) p(y) p(x, y) = p(x)p(y) p(y|x) = p(x|y)p(y) p(x) = p(x|y)p(y) ∫ p(x|y)p(y)dy 8
  7. Функционал среднего риска Функция потерь — неотрицательная функция, показывающая величину

    ошибки алгоритма на объекте с ответом . Функционал среднего риска — мат. ожидание функции потерь Какая связь с эмпирическим риском? L(a, x, y) a x y R(a) = ∫ ∫ L(a, x, y)p(x, y)dxdy a* = argmin R(a) 9
  8. Связь с эмпирическим риском Было: Стало: Эмпирический риск это просто

    наша стохастическая оценка среднего риска, так как мы не знаем истинного распределения! Почему просто не оптимизировать всегда средний риск? Q(a, X, Y) = 1 N ∑N i=1 L(a, xi , yi ), xi ∈ X, yi ∈ Y a* = argmin Q(a, Xtrain , Ytrain ) R(a) = ∫ ∫ L(a, x, y)p(x, y)dxdy a* = argmin R(a) 10
  9. Почему сложно оптимизировать средний риск • Мы не знаем аналитический

    вид совместного распределения! • Если бы знали, то мы бы учились брать интегралы, а не занимались машинным обучением :) • Если бы знали, то машинное обучение было бы решенной задачей. Как же быть? 11
  10. Как же быть? • На самом деле, для оптимальной классификации

    совместное распределение знать и не нужно, достаточно только знать апостериорное распределение • Но мы его тоже не знаем аналитически! Значит у нас возникает задача оценки плотности распределения • Для регрессии есть аналогичный подход, разберите дома p(y|x) 12
  11. Оптимальный байесовский классификатор Классификация на Y классов, функция потерь По

    правилу суммирования: Оптимальный Байесовский классификатор: Maximum a posteriori (MAP) классификатор L(y, ̂ y) = [y ≠ ̂ y] R(a) = ∫ ∫ L(a, x, y)p(x, y)dxdy = Y ∑ s=1 ∫ L(y, ̂ y)p(x, y)dx Y ∑ l=1 ∫ L(y, ̂ y)p(x, y)dx + ∫ p(x, ̂ y)dx = 1 R(a) = 1 − ∫ p(x, ̂ y)dx ≥ 1 − ∫ max y∈Y p(x, y) = R(a*) a*(x) = argmax y∈Y p(x, y) = argmax y∈Y p(y|x)p(x) = argmax y∈Y p(y|x) 13
  12. Типы моделей в машинном обучении Алгоритм будем называть: 1. Генеративной

    вероятностной моделью, если он моделирует совместное распределение 2. Дискриминативной вероятностной моделью, если он моделирует апостериорное распределение 3. Дискриминативной моделью, если он моделирует только функцию Приведите примеры a(x) p(x, y) p(y|x) y = f(x) 14
  13. Примеры Дискриминативные вероятностные модели — логистическая регрессия Дискриминативные модели —

    KNN, SVM, деревья Генеративные вероятностные модели — еще не проходили, на этой лекции будет наивный байесовский классификатор! Какие плюсы и минусы дискриминативных и генеративных моделей? 15
  14. Плюсы и минусы , разница, что генеративные помимо моделируют Плюсы

    дискриминативных моделей: • Намного проще учить (что проще, научить модель отличать Ван Гога от Дега или научиться отличать, но еще уметь рисовать картину каждого художника?) • Из-за этого, как правило, в типовых задачах работают лучше Плюсы генеративных моделей: • Более общие • Легко работают с пропущенными значениями признаков • Легко находить выбросы • Способны генерировать новые объекты Зачем генерировать объекты? p(x, y) = p(y|x)p(x) p(y|x) p(x) 16
  15. Зачем генерировать объекты? • Это весело! (medium.com/coinmonks/celebrity-face- generation-using-gans-tensorflow-implementation- eaa2001eef86, thispersondoesnotexist.com)

    • Получать объекты с нужными свойствами (например, молекулы, которые борются с определенными болезнями) • Для датасета для другой модели • Для отладки модели 17
  16. Резюме первой части • Вероятностное описание моделей позволяет более глубоко

    их исследовать. • Мы должны оптимизировать средний риск, но из-за того, что у нас нету совместного распределения, мы считаем эмпирический. • Оптимальный классификатор этот тот, который возвращает класс с наибольшей вероятностью (регрессор смотрим дома) • Бывают генеративные и дискриминативные модели. Генеративные моделируют , поэтому позволяют генерировать новые объекты p(y|x) p(x) 18
  17. Оптимальный байесовский классификатор Оптимальный Байесовский классификатор: Аналитически не знаем, нужно

    сделать оценку «Насколько вероятно, что целевая переменная равна классу при условии, что этот объект имеет вектор весов » Считаем такую вероятность по обучающей выборке! Удобно ли считать такую вероятность напрямую? a*(x) = argmax y∈Y p(y|x) y x 20
  18. Преобразовываем оптимальное байесовское правило Вот так уже проще! «Насколько вероятно,

    что этот объект имеет вектор весов при условии, что целевая переменная равна классу » Как оценить ? p(y|x) = p(x|y)p(y) p(x) a*(x) = argmax y∈Y p(y|x) = argmax y∈Y p(x|y)p(y) p(x) = argmax y∈Y p(x|y)p(y) x y p(y) 21
  19. Как оценить p(y) это априорная вероятность понаблюдать объект из класса

    С какой вероятностью объект принадлежит классу , если мы сами объект даже не видели? Можно оценить как долю объектов из выборки. p(y) y y 22
  20. Смысл формулы оптимального байесовского классификатора • — насколько наш объект

    похож на объекты из класса , которые мы видели на обучении. • — насколько этот класс популярен Зачем тогда вообще нужен ? Почему бы не брать просто a*(x) = argmax y∈Y p(y|x) = argmax y∈Y p(x|y)p(y) p(x|y) x y p(y) p(y) argmax y∈Y p(x|y) 23
  21. Потому что снова переобучение • — насколько наш объект похож

    на объекты из класса , которые мы видели на обучении. Учимся оценивать далее • — позволяет уменьшить переобучение, то есть регуляризация . Уже умеем оценивать через долю класса a*(x) = argmax y∈Y p(y|x) = argmax y∈Y p(x|y)p(y) p(x|y) x y p(y) 24
  22. Методы восстановления плотности Разбираемся, как оценить 1. Непараметрический — смотрим,

    какой процент точек из обучающей выборки лежит в окрестности оцениваемого значения. 2. Параметрический — предполагаем, что наше распределение из параметрического семейства. Настраиваем параметры распределения по обучающей выборке. 3. Восстановление из смеси распределений — предполагаем, что наше распределение смесь параметрических распределений. На этой лекции обсудим первые два варианта. p(x|y) 25
  23. Непараметрическое восстановление плотности Хотим оценить — насколько вероятно, что объект

    класса принимает значение признака (функция от ) Для простоты считаем, что у нас один признак. Основная идея — посмотрим, сколько объектов на обучающей выборке из класса принимает такое значение или близкое. p(x|y) y x x y 26
  24. Категориальный признак Если признак категориальный, то просто строим гистограмму! —

    доля объектов класса , у которые признак = Источник: en.wikipedia.org/wiki/Histogram А если вещественный? p(x|y) y x 27
  25. А если вещественный? Точно так же, как и раньше, только

    дискретизируем вещественный признак с помощью окна ширины , а потом считаем долю точек класса, которые попали в это окно! Что в таком подходе может не устраивать? h 28
  26. Хотим гладкую плотность Такая плотность будет кусочно-постоянной! Можно использовать метод

    парзеновского окна: где - четная нормированная функция, которую называют ядром. Например, Гауссовское — p(x|y) = 1 2Nh N ∑ i=1 (|x − xi | < h)[yi = y] p(x|y) = 1 Nh N ∑ i=1 K( x − xi h )[yi = y] K K(r) = (2π)−0.5exp(− 1 2 r2) 29
  27. А многомерно так можно? Конечно! Вместо: Делай: , где метрика

    в многомерном пространстве! В чем может быть проблема? p(x|y) = 1 Nh N ∑ i=1 K( x − xi h )[yi = y] p(x|y) = 1 Nh N ∑ i=1 K( ρ(x, xi ) h )[yi = y] ρ 32
  28. Поклятие размерности! Источник: Bishop Все тоже самое, что в методе

    ближайшего соседа! Можно ли посчитать многомерную плотность с измерениями, восстанавливая раз одномерную? D D 33
  29. Вспоминаем, что работаем с векторами Задача: оценить , где вектор

    признаков. 2 варианта восстановить плотность многомерного распределения: • Восстанавливать в лоб многомерную плотность (проклятие размерности) • Перейти от многомерной плотности к одномерным , где — число признаков Предположение алгоритма наивного байеса — признаки независимы при условии целевой переменной p(x|y) x p(x|y) = D ∏ j=1 p(xj |y) D 34
  30. Параметрическое восстановление плотности Хотим оценить — насколько вероятно, что объект

    класса принимает значение признака (функция от ) Для простоты считаем, что у нас один признак. Основная идея — предположим, что наше лежит в каком-то параметрическом семействе распределений , где — параметры, а затем находим параметры, используя метод максимума правдоподобия. Какие параметры у одномерного нормального распределения? p(x|y) y x x p(x|y) p(x|y, θ) θ 35
  31. Параметры нормального распределения Среднее и стандартное отклонение μ σ p(x|y,

    θ) = 1 2πσy exp(− (x − μy )2 2σ2 y ) 36 Источник: en.wikipedia.org/wiki/Normal_distribution
  32. Метод максимума правдоподобия Правильные те параметры, при которых пронаблюдать такую

    выборку максимально правдоподобно! Случайная величина — число луж во дворе Параметр — (был дождь, поливали двор, ничего не было) Выходите на улицу видите выборку — кругом лужи! Чему максимально вероятно равна ? η θ θ 37
  33. Метод максимума правдоподобия Максимально вероятно, что «был дождь» Пишем функцию

    правдоподобия, то есть вероятность пронаблюдать выборку, если все объекты берутся независимо: С суммой, как правило, удобнее работать. (Почему?) Правильные параметры те, которые максимизируют L(θ) = p(X|θ) = N ∏ i=1 p(xi |θ) log L(θ) = N ∑ i=1 log p(xi |θ) L(θ) 38
  34. Пример Идем на пересдачу. Преподаватель может поставить сколько угодно баллов

    (вещественное число) в зависимости от его «лояльности» Как понять, к какому преподавателю идти? 39
  35. Пример Наша выборка — баллы других студентов. Для преподавателя знаем

    баллы, которые он поставил студентам Считаем, что случайная величина из экспоненциального распределение p Источник: en.wikipedia.org/wiki/Exponential_distribution k Xk = {xk 1 , xk 2 ⋯xk Nk } Nk xk i p(x|λ) = λe−λx, x ≥ 0 p(x|λ) = 0,x < 0 E[x] = 1 λ 40
  36. Пример Нужно просто оценить параметр по выборке из прошлых оценок

    преподавателя! , где , Просто средние баллы, которые поставил преподаватель! Выбираем того, у кого это среднее максимально. λk L(λk ) = p(Xk |λk ) = N ∏ i=1 p(xi |λk ) p(xi |λk ) = λk e−λk xi log L(λk ) = N ∑ i=1 log p(xi |λk ) = N ∑ i=1 (log λk − λk xi ) = N log λk − λk N ∑ i=1 xi ∂ log L(λk ) ∂λk = N λk − N ∑ i=1 xi = 0 λk = Nk ∑N i=1 xi E[xk ] = 1 λk = ∑Nk i=1 xi Nk 41
  37. Пример Решив эту задачу, мы тем самым восстановили плотность! Мы

    нашли параметр , то есть теперь, мы можем посчитать плотность вероятности в любой точке Для классификации для каждого из класса считаем Потом применяем оптимальное байесовское правило: λ p(x|yk , λk ) = λk e−λk x 42 a*(x) = argmax k p(x|yk )p(yk ) = argmax k λk e−λk xp(yk )
  38. ММП для нормального распределения , где Потом аналогично L(μ, σ)

    = p(X|μ, σ) = N ∏ i=1 p(xi |μ, σ) p(xi |μ, σ) = 1 2πσ exp(− (xi − μ)2 2σ2 ) log L(μ, σ) = N ∑ i=1 log p(xi |μ, σ) = − N log σ − N log 2π − 1 2σ2 N ∑ i=1 (xi − μ)2 ∂ log L(μ, σ) ∂μ = − 1 σ2 N ∑ i=1 (xi − μ) = Nμ − 1 σ2 N ∑ i=1 (xi ) = 0 μ = 1 N N ∑ i=1 xi ∂ log L(μ, σ) ∂σ = − N σ + 1 σ3 N ∑ i=1 (xi − μ)2 = 0 σ2 = 1 N N ∑ i=1 (xi − μ)2 = 1 N N ∑ i=1 (xi − 1 N N ∑ i=1 xi )2 a*(x) = argmax k p(yk ) 1 2πσk exp(− (x − μk )2 2σ2 k ) 43
  39. Пример Проводим серию испытаний — подбрасываем нечестную монетку. Случайная величина

    — орел, — решка. Подбросили раз. Как оценить вероятность выпадения орла? y = 1 y = 0 N 44
  40. Пример , где , если , если Так как и

    Ничего не напоминает? L(θ) = p(Y|θ) = N ∏ i=1 p(yi |θ) p(yi |θ) = θ yi = 1 p(yi |θ) = 1 − θ yi = 0 [yi = 1] ≡ y [yi = 0] ≡ 1 − y L(θ) = N ∏ i=1 θ[yi =1] ⋅ (1 − θ)[yi =0] = N ∏ i=1 θy ⋅ (1 − θ)1−y log L(θ) = N ∑ i=1 yi log θ + (1 − yi )log(1 − θ) 45
  41. Пример Это же логлосс! , то есть просто процент орлов!

    Таким образом восстанавливаем плотность для булевых признаков. log L(θ) = N ∑ i=1 yi log θ + (1 − yi )log(1 − θ) ∂ log L(θ) ∂θ = N ∑ i=1 yi θ − 1 − yi 1 − θ = N ∑ i=1 yi − θyi − θ + θyi θ(1 − θ) = 0 N ∑ i=1 (yi − θ) = N ∑ i=1 yi − Nθ = 0 θ = ∑N i=1 yi N a*(x) = argmax k p(yk )θ[k=1](1 − θ)[k=0] 46
  42. А многомерно для всех фичей так можно? Конечно! • Просто

    берем не одномерную плотность, а многомерную и точно так же с помощью ММП находим параметры. • Или используем предположение алгоритма наивного байеса Будут ли проблемы при параметрическом восстановлении многомерной плотности? p(x|y) = D ∏ j=1 p(xj |y) 47
  43. И тут проблема с большим число признаков Да, будут. Существуют

    гарантии на оптимальность метода максимального правдоподобия только для случая, когда Если это не так, он может не сойтись к истинному значению, а в многомерных распределениях параметров больше. n d → ∞ 48
  44. Наивный байесовский классификатор Это все маленькие числа, когда мы перемножим

    много маленьких, то есть шанс выйти за машинную точность. Но логарифм монотонная функция, так что прологарифмируем. Теперь мы складываем отрицательные числа, что для машины сильно проще. a*(x) = argmax y∈Y p(y|x) = argmax y∈Y p(x|y)p(y) p(x|y) = D ∏ j=1 p(xj |y) a*(x) = argmax y∈Y p(y) D ∏ j=1 p(xj |y) a*(x) = argmax y∈Y [log p(y) + D ∑ j=1 log p(xj |y)] 49
  45. Наивный байесовский классификатор Делаем классификатор спам / не спам. Как

    признаки берем бинарных признаков «имеется ли это слово в письме» На обучении для каждой бинарной фичи считаем плотность, как для распределения Бернулли: — процент спамовских (класс ) / нормальных писем со словом Хотим посчитать предсказание для тестового письма. Чему будет равно , если хотя бы одно слово из тестового письма не присутствовала в письмах со спамом? a*(x) = argmax y∈Y p(y) D ∏ j=1 p(xj |y) D p(xj |y) S xj p(yspam ) D ∏ j=1 p(xj |yspam ) 50
  46. Сглаживание Какими бы не были спамовскими другими слова, общая вероятность

    при гипотезе условной независимости равна нулю! При восстановлении плотности для категориальных признаков нужно проводить сглаживание — доля спамовских документов встречалось слово — сглаживание Лапласа Считаем, что есть фейковые документов, среди которых спамовские Почему вообще нужно сглаживание? Если в классе спама не было такого слова, значит вероятность 0 и все! p(x|yspam ) θj = ∑N i=1 [yi ∈ S][xi,j = 1] Ns j θj = ∑N i=1 [yi ∈ S][xi,j = 1] + α Ns + α + β α + β α 51
  47. Потому что переобучение Вспоминаем исходную задачу. Восстановление закона природы по

    конечной выборке. Задача по своей природе некорректно поставленная. Ну вот не попалось нам на обучении спамовское письмо со словом «серобуромалиновый», но это не значит, что спамеры сознательно избегают этого слова. Сглаживание — способ борьбы с переобучением, то есть своеобразная регуляризация Можно ли подобрать на обучающей выборке? α, β 52
  48. Пожалуйста, не надо Нет, это структурные параметры алгоритма. Вы уже

    на обучающей выборке посчитали, что слово «серобуромалиновый» не встречается в классе спам, понятное дело, если вы зарегуляризуете это с помощью , то на обучении будет только хуже. 
 Настраивать только на валидации! α, β 53
  49. Байесовский классификатор, основанный на оценке плотности. 1. Разбили обучающую выборку

    по классам 2. Оценили , как долю данного класса в обучающей выборке для каждого класса 3. Решили, как будем считать A. Непараметрически B. Параметрически В лоб восстанавливаем многомерную плотность Используем предположение условной независимости 4. Посчитали и умножили на для каждого класса 5. Взяли класс с максимальным значением p(y) p(x|y) p(x|y) p(y) a*(x) = argmax y∈Y p(y|x) = argmax y∈Y p(x|y)p(y) 54 Совмещаем все вместе
  50. Резюме второй части • Научились оценивать компоненты для оптимального байесовского

    классификатора A. — априорную вероятность класса B. — правдоподобие объекта в классе • Вспомнили, что такое метод максимума правдоподобия, научились им оценивать параметры распределений • Вспомнили, что такое логлосс • Узнали, что такое сглаживание и как оно помогает с переобучением p(y) p(x|y) 55
  51. Байесовский подход • Сейчас одна из самых быстроразвивающихся областей машинного

    обучения • Позволяет получить важные практические результаты (например, вараиционный дропаут) • Все параметры модели описываются вероятностными распределениями таким образом • Использование формулы Байеса для оценки параметров нашей модели • Расчет для оптимального предсказания θ p(y|x, θ) 57
  52. Зачем нужна случайность Мы хотим открыть закон природы, но мы

    работаем с эмпирическими данными! • В данных могут быть аномальные объекты • Мы не полностью описываем явление, выбирая какие-то признаки. • В признаках будут ошибки • Наша модель не полностью описывает данные Это все объективное незнание! Закон природы есть, но мы не можем записать его точно. Мы все это можем задать с помощью вероятностных распределений. 58
  53. Смысл формулы Байеса Оцениваем параметры модели. — наши априорные представления

    о параметрах Провели эксперименты (собрали выборку), посчитали: — насколько вероятно получить такие результаты экспериментов? — насколько вообще наши исходы вероятны? Обновили наши представления о параметрах по формуле Байеса А если провели еще серию экспериментов? p(θ|X) = p(X|θ)p(θ) p(X) p(θ) p(X|θ) p(X) p(θ|X) 59
  54. Если провели еще эксперименты Возьмите прошлую апостериорную вероятность, как априорную

    и снова пересчитайте по формуле Байеса! Таким образом мы вообще не теряем информации, просто итеративно обновляем распределение на параметры по формуле Байеса. Очень удобно, когда, применив формула Байеса, мы остались в том же классе распределений, какое было априорным. Такие распределения называют сопряженным. p(θ|X) = p(X|θ)p(θ) p(X) = p(X|θ)p(θ) ∫ p(X|θ)p(θ)dθ 60
  55. ММП vs Bayes Подбрасываем монетку. Хотим посчитать вероятность выпадения орла.

    ММП дает ответ: А если мы подбросили 3 раза, и 3 раза выпала решка, мы считаем, что монета орлом вообще не может выпасть? θ = ∑N i=1 yi N 61
  56. ММП vs Bayes Мы провели очень мало испытаний, метод максимума

    правдоподобия может дать неадекватную оценку Свойства ММП: • Состоятельность (оценка сходится по вероятности к истинному значению) • Асимптотическая нормальность (оценка распределена нормально) • Асимптотическая эффективность (обладает наименьшей дисперсией среди всех состоятельных асимптотически нормальных оценок) При У нас тут BigData. И зачем все это? n → ∞ 62
  57. У нас много параметров Современные нейронные сети имеют миллионы параметров.

    Каждый из них надо оценить! Тогда нужно, чтобы: , а это даже для BigData неправда. Но если параметров мало, а данных много, то байесовский подход переходит в ММП: апостериорное распределение ведет себе как дельта функция в точке максимума правдоподобия. n d → ∞ 63
  58. Пример Подбрасываем монетку. Хотим посчитать вероятность выпадения орла. ММП дает

    ответ: Хотим посчитать оценку формулой Байеса: θML = ∑N i=1 yi N p(θ|Y) = p(Y|θ)p(θ) p(Y) θMAP = argmaxp(θ|Y) = argmaxp(Y|θ)p(θ) 64
  59. Пример Выбираем априорное распределение (как мы заранее считаем, как часто

    она выпадет орлом) — Бета распределение Почему именно это? Источник: en.wikipedia.org/wiki/Beta_distribution p(θ) = C ⋅ θα−1(1 − θ)β−1 65
  60. Потому что оно сопряжено с Бернулли! Производная по Ничего не

    напоминает? θMAP = argmaxp(Y |θ)p(θ) = argmax log p(Y |θ) + log p(θ) log p(Y |θ) = N ∑ i=1 yi log θ + (1 − yi )log(1 − θ) log p(θ) = log C + (α − 1)log θ + (β − 1)log(1 − θ) θMAP = argmaxp(Y |θ)p(θ) = argmax log p(Y |θ) + log p(θ) N ∑ i=1 yi log θ + (1 − yi )log(1 − θ) + (α − 1)log θ + (β − 1)log(1 − θ) θ N ∑ i=1 yi θ − 1 − yi 1 − θ + α − 1 θ − β − 1 1 − θ θMAP = ∑N i=1 yi + α − 1 N + α + β − 2 66 Пример
  61. , — наши фейковые бросания! Если взять Таким образом, Байесовский

    подход нам позволяет напрямую влиять на решение, выбирая prior. Это уменьшает переобучение. θML = ∑N i=1 yi N θMAP = ∑N i=1 yi + α − 1 N + α + β − 2 α, β α = 2,β = 2 θMAP = ∑N i=1 yi + 1 N + 2 67 Это и есть сглаживание
  62. Это и есть сглаживание Чем больше , тем больше мы

    доверяем, что монетка падает орлом Чем больше , тем больше мы доверяем, что монетка падает решкой α β 68
  63. Логистическая регрессия Подбрасываем монетку, получаем серию из единиц и нулей.

    Правдоподобие: Когда моделировали монетку, считали что: , если , если То есть каждый бросок мы раньше никак не описывали, считали их все равнозначными. Но мы то знаем, что у броска есть признаки, которые описывают бросок. Например, начальная скорость, стартовый угол, угловая скорость и т.д. Тут то мы и переходим к задаче двухклассовой классификации! L(θ) = N ∏ i=1 p(yi |x, θ) p(yi |x, θ) = θ yi = 1 p(yi |x, θ) = 1 − θ yi = 0 69
  64. Логистическая регрессия Двухклассовая классификация. Понаблюдали обучающую выборку из единиц и

    нулей, правдоподобие выборки: Используем сигмоид, чтобы предки перевести в вероятность: Если , то получаем логистическую регрессию! , находим оптимум градиентным спуском N ∏ i=1 p(y|x, θ)[yi =1] ⋅ (1 − p(y|x, θ))[yi =0] = N ∏ i=1 p(y|x, θ)y ⋅ (1 − p(y|x, θ)1−y log L(θ) = N ∑ i=1 yi log p(y|x, θ) + (1 − yi )log(1 − p(y|x, θ)) p(y|x, θ) = 1 1 + exp(−a(x, θ)) a(x, θ) = xTθ θML = argmax log L(θ) 70
  65. Регуляризация Хотим делать не ММП, а MAP, чтобы уменьшить переобучение.

    Пусть каждая компонента распределена нормально с нулевым средним и все компоненты независимы и имеют одинаковую дисперсию : Берем с минусом, получаем loglocc с l2 регуляризацией! Какой смысл у дисперсии ? θMAP = argmaxL(θ)p(θ) = argmax log L(θ) + log p(θ) p(θ) σ2 p(θ) = D ∏ j=1 1 2πσ exp(− θ2 j 2σ2 ) θMAP = argmax N ∑ i=1 yi log p(y|x, θ) + (1 − yi )log(1 − p(y|x, θ)) − D ∑ j=1 C θ2 j σ2 θMAP = argmax N ∑ i=1 yi log p(y|x, θ) + (1 − yi )log(1 − p(y|x, θ)) − C σ2 . ||θ||2 σ2 71
  66. Регуляризация Мы хотим, чтобы наши веса были маленькими, потому что

    большие веса — источник переобучения. Чем меньше сигма, тем уже нормальное распределение, то есть тем сильнее мы регуляризуем А как тогда получить l1 регуляризацию? 72
  67. L1 регуляризация Проделайте дома аналогичную процедуру для распределения Лапласа Чем

    меньше , тем уже распределение Лапласа, тем больше регуляризация Источник:en.wikipedia.org/wiki/Laplace_distribution p(θ) = D ∏ j=1 1 2b exp(− |θ| b ) b 73
  68. Линейная регрессия Для классификации мы считали правдоподобие распределения Бернулли, потому

    что наблюдали выборку из единиц и нулей. Для регрессии мы наблюдаем вещественное значение. Предположим, что мы нашей моделью можем восстанавливаем нашу переменную с точностью до нормального шума, то есть каждый Распределен нормально со средним в точке и с какой-то дисперсией Правдоподобие: Говорим, что — вот и линейная регрессия , находим оптимум аналитически или градиентным спуском Как добавить сюда регуляризацию? a(x, θ) y a(x, θ) σ2 p(y|x, θ) = 1 2πσ exp(− (y − a(x, θ))2 2σ2 ) L(θ) = N ∏ i=1 p(yi |xi , θ) = 1 2πσ N ∏ i=1 exp(− (y − a(x, θ))2 2σ2 ) log L(θ) = C − N ∑ i=1 (y − a(x, θ))2 a(x, θ) = xTθ θML = argmax log L(θ) 74
  69. Регуляризация аналогично Добавляем наши априорные знания на веса, переходим оценки

    ММП к MAP оценке. Если нормально, то будет L2 Если по Лапласу, то будет L1 Дома проведите выкладки! θMAP = argmaxL(θ)p(θ) = argmax log L(θ) + log p(θ) p(θ) p(θ) 75
  70. Предсказание Пусть мы полностью выполнили Байесовскую процедуру: Как сделать предсказание?

    Наивный вариант: взять моду этого распределения и подставить в формулу модели . Но мода распределения не всегда лучший вариант! Источник: en.wikipedia.org/wiki/Mode_(statistics) p(θ|X) = p(X|θ)p(θ) p(X) = p(X|θ)p(θ) ∫ p(X|θ)p(θ)dθ θMAP p(y|x, θ) 76
  71. Предсказание Чтобы не терять информацию, мы можем честно посчитать распределение

    (которое требует оптимальный Байесовский классификатор) Для линейной регрессии можно посчитать. Посмотрите внимательно: Это просто усреднение предсказаний модели с разными параметрами с весом, который равен вероятности параметров! Это ансамбль моделей. p(y|x) p(y|x, Xtrain ) = ∫ p(y|x, θ)p(θ|Xtrain )dθ 77
  72. Байесовские методы на практике Байесовский подход позволяет решать многие прикладные

    задачи: • Метод релевантных векторов • Вариационный дропаут • Байесовский автокодировщик • Байесовская оптимизация • etc Однако, в большинстве задач его применить тяжело: • Никто не знает, как правильно задавать априорное распределение. • Если prior и likelihood не сопряжены, то аналитически ничего не посчитается. • Численные методы вычислительно трудоемкие • Проще собрать больше данных/больше признаков, чем использовать полный байесовский вывод 78
  73. Резюме третьей части • Познакомились с байесовским подходом в машинном

    обучению • Сравнили байесовский подход с приниципом максимума правдоподобия • Провели вероятностную интерпретацию для линейных моделей • Научились делать оптимальное предсказание • Байесовский подход позволяет решать практические задачи, однако полный байесовский вывод на практике применять очень тяжело 79