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

Data Mining #4 / Линейные модели классификации

Data Mining #4 / Линейные модели классификации

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

Transcript

  1. Построение разделяющей поверхности • Задача классификации на 2 класса Y={1,-1}

    • Обучающая выборка X=(xi,yi), i=1,L • Построить алгоритм классификации a(x,w)=sign f(x,w) f(x,w)=0 – разделяющая поверхность
  2. Отступ • f(x,w)=0 – разделяющая поверхность • Mi (w)=yi f(xi

    ,w) – отступ объекта I (Margin) • Mi (w) < 0 => ошибка алгоритма a на объекте I
  3. Функционал эмпирического риска • Mi (w) < 0 => ошибка

    алгоритма a на объекте I • Эмпирический риск • ! " = ∑ % &[(% " < 0] • Гладкая аппроксимация ! ≤ !′ " = ∑ % & .((% " ) • Q -> min
  4. Логистическая регрессия на 1 слайде • L = log(1+e-M) •

    !′ # = ∑ & ' ()*(1 + exp(−2& )) -> minw • Оптимизация градиентным спуском • a(xi ,wi )=sign (xi ,wi )
  5. Логистическая регрессия на 1 слайде • L = log(1+e-M) •

    !′ # = ∑ & ' ()*(1 + exp(−2& )) -> minw • Оптимизация градиентным спуском • a(xi ,wi )=sign (xi ,wi )
  6. Логистическая регрессия на 1 слайде • L = log(1+e-M) •

    !′ # = ∑ & ' ()*(1 + exp(−2& )) -> minw • Оптимизация градиентным спуском • a(xi ,wi )=sign (xi ,wi ) • Какое основание у логарифма ?
  7. Сигмоида • Посмотрим на функцию • ! " = $

    $%&'((*+) • Ассимптоты • ! −∞ = 0 • ! +∞ = 1 • ! " = 0.5 • Looks like вероятность ! • 2 "3 = $ $%&'((*+4) - ’’вероятность правильной классификации объекта I’’
  8. Сигмоида • !" # = − ∑ ' ( )*+(-'

    ) -> minw • !" # = ∑ ' ( )*+(-' ) -> maxw – максимизируем ’вероятности’ правильных классификаций • a(xi ,wi )=sign (xi ,wi ) <-> a(xi ,wi ) = sign( . ./012(3(45,#5 )) - 0.5) • Можем даже уточнить алгоритм • a(xi ,wi ) = sign( . ./012(3(45,#5 )) - th)
  9. Логистическая регрессия • Другая формализация – Y = {0,1} •

    !" # = − ∑ ' ( )' *+, -' + (1 − )' ) *+, 1 − -' • Чаще всего это называют log-loss
  10. Логистическая регрессия • На этом вроде бы и все •

    Сформировали лосс • Умеем оптимизировать • Умеем принимать решение • Но слишком много мы просто приняли на веру • Почему и откуда именно? • L = log(1+e-M) • ! " = $ $%&'((*+)
  11. Логистическая регрессия • На этом вроде бы и все •

    Сформировали лосс • Умеем оптимизировать • Умеем принимать решение • Но слишком много мы просто приняли на веру • Почему и откуда именно? • L = log(1+e-M) • ! " = $ $%&'((*+)
  12. Math Recap: Метод Максимального Правдоподобия • Пусть Х – вероятностное

    пространство с плотностью !(#|%) • % – параметры распределения • Примеры • p # = ( ) *+ , (-./)0 01 ; %1 =u; %2 = 2 • p # = ,345; %=6 • Имеем выборку X iid реализаций из Х • Задача – оценить параметры % по выборке • ММП – наиболее правдоподобные ;)
  13. Math Recap: Метод Максимального Правдоподобия • Введем функцию правдоподобия •

    !(#) = ∏ ' ( ) *' |, • Cовместная вероятность наблюдать каждый из элементов I • Перемножаем, т.к. iid • Метод максимального правдоподобия • ,- = arg max3 !(#) • Вероятность выпадения орла методом ММП?
  14. ММП для нашей задачи • Веса признаков – параметры нашей

    задачи • 6(8|:) –> 6 8 < • Оценить наиболее вероятные веса по выборке • Решение – методом ММП • <= = arg maxD E(F) • E(F) = ∏H I 6 8H |< → KL8 • E F → max => log E 8 → max
  15. ММП для нашей задачи • ! " → max =>

    log ! , → max • log ∏ . / 0 ,. |2 = ∑ . / log 0 ,. |2 → max • Ничего не напоминает ?
  16. ММП для нашей задачи • ! " → max =>

    log ! , → max • log ∏ . / 0 ,. |2 = ∑ . / log 0 ,. |2 → max • Ничего не напоминает ?
  17. Recap: Метрическая логика • !" # = − ∑ '

    ( )*+(-' ) -> minw • !" # = ∑ ' ( )*+(-' ) -> maxw – максимизируем вероятности правильных классификаций • a(xi ,wi )=sign (xi ,wi ) <-> a(xi ,wi ) = sign( . ./012(3(45,#5 )) - 0.5) • Можем даже уточнить алгоритм • a(xi ,wi ) = sign( . ./012(3(45,#5 )) - th)
  18. ММП для нашей задачи • ! " → max =>

    log ! , → max • log ∏ . / 0 ,. |2 = ∑ . / log 0 ,. |2 → max • Ничего не напоминает ? • Обосновали log-Loss !
  19. Порождающая модель p(x) Осталось определить p(xi |w) • В данной

    постановке xi – пара объект-ответ (xi ,yi ) • Пусть признаки – только бинарные {0,1} • Тогда порождающее распределение – Бернулли • Можно доказать, что для Бернулли • !(#,%&'(|*) !(#,%&,(|*) = exp(1, 2) • Доказательство (beyond the scope)
  20. Порождающая модель p(x) Осталось определить p(xi |w) • !(#,%&'(|*) !(#,%&,(|*)

    = exp(1, 2) • Из полной вероятности • 3 2, 4 = +1 1 + 3 2, 4 = +1 1 = 1 • 3 2, 4 = +1 1 = ( ('789{ ,(*,#)} ; 3 2, 4 = −1 1 = ( ('789{(*,#)}
  21. Порождающая модель p(x) Осталось определить p(xi |w) • !(#,%&'(|*) !(#,%&,(|*)

    = exp(1, 2) • Из полной вероятности • 3 2, 4 = +1 1 + 3 2, 4 = +1 1 = 1 • 3 2, 4 = +1 1 = ( ('789{ ,(*,#)} ; 3 2, 4 = −1 1 = ( ('789{(*,#)} • Ничего не напоминает ? • 3 2, 4 1 = ( ('789{ ,=}
  22. Порождающая модель p(x) Осталось определить p(xi |w) • !(#,%&'(|*) !(#,%&,(|*)

    = exp(1, 2) • Из полной вероятности • 3 2, 4 = +1 1 + 3 2, 4 = +1 1 = 1 • 3 2, 4 = +1 1 = ( ('789{ ,(*,#)} ; 3 2, 4 = −1 1 = ( ('789{(*,#)} • Ничего не напоминает ? Обосновали сигмоиду! • 3 2, 4 1 = ( ('789{ ,=}
  23. Логистическая регрессия • ∑ " # log ' (" |*

    = ∑ " # log , - → max • - ∑ " # log(1 + exp(−-)) → max • ∑ " # log(1 + exp(−-)) → min
  24. Логистическая регрессия на 1 слайде • L = log(1+e-M) •

    !′ # = ∑ & ' ()*(1 + exp(−2& )) -> minw • Оптимизация градиентным спуском • a(xi ,wi )=sign [4(xi ,wi ) - th]
  25. Логистическая регрессия на 1 слайде • L = log(1+e-M) •

    !′ # = ∑ & ' ()*(1 + exp(−2& )) -> minw • Оптимизация градиентным спуском • a(xi ,wi )=sign [4(xi ,wi ) - th]
  26. Recap • Логистическая регрессия – алгоритм линейной классификации • Аппроксимирует

    эмпирический риск лог-лоссом • ИЛИ порождает признаки из вероятностного пространства • Показали для Бернулли – бинарных признаков • Но не для всех – сигмоиду нельзя трактовать как чистую вероятность. Но можно применять =) • Оптимизирует лог-лосс • Или решает задачу ММП • Удобна для задач скоринга, спама • Важен не только аутпут, но и мера принадлежности
  27. Метрики оценки: ROC AUC • ROC AUC – площадь под

    кривой • ROC = Receiver Operator Characteristics • AUC = Area Under Curve • 0 < ROC AUC < 1 • Random Classifier: ROC AUC = 0.5
  28. Метрики оценки: Алгоритм ROC AUC • Упорядочим нашу выборку по

    убыванию предсказания • Разбиваем квадрат 1х1 на • M (число нулей) вертикальных линий • N (число единиц) горизонтальных линий
  29. Метрики оценки: Алгоритм ROC AUC • Упорядочим нашу выборку по

    убыванию предсказания • Разбиваем квадрат 1х1 на • M (число нулей) вертикальных линий • N (число единиц) горизонтальных линий • Идем сверху вниз • Встретили 1 – идем вверх • Встретили 0 – идем вправо
  30. Метрики оценки: Алгоритм ROC AUC • Упорядочим нашу выборку по

    убыванию предсказания • Разбиваем квадрат 1х1 на • M (число нулей) вертикальных линий • N (число единиц) горизонтальных линий • Идем сверху вниз • Встретили 1 – идем вверх • Встретили 0 – идем вправо • Встретили несколько одинаковых предсказаний • m нулей и n единиц • Идем на m вправо и n вверх
  31. Метрики оценки: ROC AUC • Внутри квадрата – все пары

    точек 1 и 0 из выборки • ROC отделяет верно упорядоченные алгоритмом пары точек • ROC AUC – число верно отранжированных пар • Исчерпывающая интерпретация: • Вероятность, что алгоритм верно упорядочит случайно выбранную пару (1,0)