- Решения задач на метод максимального правдоподобия
- Примеры решений
- Теория по ММП
- Метод максимального правдоподобия с примерами
- Методы нахождения оценок
- Готовые работы на аналогичную тему
- Сущность метода максимального правдоподобия
- Пример использования метода максимального правдоподобия
- Открытый курс машинного обучения. Тема 4. Линейные модели классификации и регрессии
- 1. Линейная регрессия
- Метод наименьших квадратов
- Метод максимального правдоподобия
- Разложение ошибки на смещение и разброс (Bias-variance decomposition)
- Регуляризация линейной регрессии
- 2. Логистическая регрессия
- Линейный классификатор
- Логистическая регрессия как линейный классификатор
- Принцип максимального правдоподобия и логистическая регрессия
- -регуляризация логистических потерь
- 3. Наглядный пример регуляризации логистической регрессии
- 4. Где логистическая регрессия хороша и где не очень
- Анализ отзывов IMDB к фильмам
- Простой подсчет слов
- XOR-проблема
- 5. Кривые валидации и обучения
- 6. Плюсы и минусы линейных моделей в задачах машинного обучения
- 7. Домашнее задание № 4
- 8. Полезные ресурсы
Решения задач на метод максимального правдоподобия
Для оценивания неизвестных параметров статистических распределений наравне с методом моментов используют метод максимального (наибольшего) правдоподобия.
Суть метода: составить по специальной формуле функцию правдоподобия $L$, и найти оценку параметра $\theta$ из условия максимизации функции правдоподобия (ФП) на определенной выборке $\
Оценки, полученные данным методом, будут состоятельными, асимптотически эффективными и асимптотически нормальными. Несмещенность оценок надо проверять (это метод не гарантирует).
Примеры нахождения оценок по методу наибольшего правдоподобия вы найдете ниже. Удачи!
Примеры решений
Пример 1. Найти методом наибольшего правдоподобия оценку параметра p биномиального распределения, если в $n_1$ независимых испытаниях событие A появилось $m_1$ раз и в $n_2$ независимых испытаниях событие A появилось $m_2$ раз.
Пример 2. Используя метод наибольшего правдоподобия, оценить параметры $a$ и $\sigma^2$ нормального распределения, если в результате $n$ независимых испытаний случайная величина $\xi$ приняла значения $\xi_1, \xi_2,…,\xi_n$.
Пример 3. Случайная величина $X$ (число появлений события $A$ в $m$ независимых испытаниях) подчинена закону распределения Пуассона с неизвестным параметром $\lambda$. Найти методом наибольшего правдоподобия по выборке $x_1, x_2,…,x_n$ точечную оценку неизвестного параметра $\lambda$ распределения Пуассона.
Пример 4. Случайная величина – время безотказной работы изделия имеет показательное распределение. В таблице приведены данные по времени работы в часах для 1000 изделий. Найти методом максимального правдоподобия точечную оценку неизвестного параметра $\lambda$.
Пример 5. Найти методом наибольшего правдоподобия по выборке $x_1, x_2,…,x_n$ точечную оценку параметра $p$ геометрического распределения: $$P(X=x_i)=(1-p)^
Пример 6. Методом максимального правдоподобия найти точечную оценку параметра $\lambda$ по данной выборке
Х 1-3 3-5 5-7 7-9 9-11 11-13 13-15 15-17 17-19
n 5 6 7 15 22 27 30 34 35
при условии, что соответствующая непрерывная случайная величина имеет плотность распределения $f(x)=\lambda \exp(\lambda(x-20)), x \le 20$.
Пример 7. Методом максимального правдоподобия найдите оценку параметра $\theta$, если плотность имеет вид $$ f(x)=\frac<2x^3><\sqrt<2\pi>> \exp (-(x^4-\theta)^2/2) $$ и по наблюдениям 1.4 1.5 3.2 1.4 2.5 3.4 3.1 2.4 3.8 2.6
Теория по ММП
Хотите немного больше знать о теоретических основах метода наибольшего правдоподобия для чайников? Тогда используйте ссылки ниже для изучения.
- Метод максимального правдоподобия
Вводятся свойства оценок параметров распределения (несмещенность, состоятельность, эффективность), доказывются теоремы. Далее рассматривается сам ММП, приводится сводная таблица оценок для разных типов распределений. - Методы нахождения оценок: метод максимального правдоподобия
Лекция по ММП с теоретическими основами и примерами решений. - Видеоролик МФТИ о ММП
Короткий (буквально 4 минуты) ролик о сути метода. - Список учебников по математической статистике со ссылками
- Решенные контрольные по математической статистике
Источник
Метод максимального правдоподобия с примерами
Вы будете перенаправлены на Автор24
Метод максимального правдоподобия – это рациональный способ построения оценки какого-либо неизвестного параметра, суть которого состоит в том, что за «наиболее правдоподобное» значение параметра принимается значение $Ө$, сводящее к максимуму вероятность получения при $n$ опытах следующую выборку $X = (x_1, …, x_n)$.
Методы нахождения оценок
В общем смысле точечная оценка неизвестного параметра $Ө$ – это любая статистика. В практической же деятельности чаще всего рассматриваются самые «качественные» оценки, при которых вероятность принятия ими значения максимально близкого к неизвестному значению $Ө$ при реализации случайной выборки будет наибольшей. Данные оценки делят на несмещенные, состоятельные и эффективные. При этом возникает вопрос о методах получения качественной оценки для произвольного параметра $Ө$ исследуемой случайной величины $X$. Наиболее распространены следующие методы нахождения оценок:
- Метод подстановки;
- Метод моментов;
- Метод наибольшего правдоподобия.
Метод подстановки – это наиболее простой метод отыскания точечных оценок. Он заключается в том, что оценкой неизвестного параметра $Ө$ является соответствующая выбранная числовая характеристика:
Рисунок 1. Формула. Автор24 — интернет-биржа студенческих работ
К примеру, по методу постановки оценка математического ожидания – это выборочное среднее, а оценка дисперсии – это выборочная дисперсия.
Все полученные по методу подстановки оценки являются состоятельными, но не гарантирована их эффективность и несмещенность. Пример смещенной оценки – выборочная дисперсия.
Рассмотрим далее метод моментов. Предположим, что $x_1, …, x_n$ – это выборка наблюдений некоторой случайной величины$X$, которая имеет распределение $Fx (x, Ө)$ содержащее вектор неизвестных параметров $Ө =( Ө_1, …, Ө_k)$. Допустим, что для данного распределения можно рассчитать начальные моменты
Готовые работы на аналогичную тему
Рисунок 2. Формула. Автор24 — интернет-биржа студенческих работ
Рисунок 3. Формула. Автор24 — интернет-биржа студенческих работ
некоторых порядков $r$.
Такие моменты называются функциями соответствующих неизвестных параметров $Ө_1, …, Ө_k$. Однако, для выборки можно рассчитать выборочные начальные моменты
Рисунок 4. Формула. Автор24 — интернет-биржа студенческих работ
Рисунок 5. Формула. Автор24 — интернет-биржа студенческих работ
Метод моментов заключается в том, что необходимо найти такой вектор параметров $Ө$, при котором будут равны теоретические и выборочные моменты, т.е. в решении системы уравнений:
Рисунок 6. Формула. Автор24 — интернет-биржа студенческих работ
Число уравнений в данной системе будет равняться количеству неизвестных параметров $k$. Чтобы получить оценки с помощью метода моментов, может быть выбран любой момент произвольного порядка, но, как правило, в практике используются только моменты низших порядков.
Как и при методе подстановок, все оценки, найденные по методу моментов, характеризуются как состоятельные, но не гарантируется их эффективность и несмещенность.
Точечные оценки, найденные при помощи метода моментов, носят название ММ-оценки.
Метод наибольшего правдоподобия рассмотрим в следующем пункте.
Сущность метода максимального правдоподобия
Под методом максимального правдоподобия в математической статистике понимается метод оценки неизвестного параметра посредством максимизации функции правдоподобия. Основой данного метода является предположение о том, что все данные о статистической выборке содержатся в функции правдоподобия. Описываемый метод был проанализирован Р. Фишером в начале 20-го века, который в дальнейшем его рекомендовал и популяризировал.
Оценка наибольшего правдоподобия – это достаточно популярный статистический метод, используемый с целью построения статистической модели на основе информации и обеспечения оценки всех параметров модели.
Метод наибольшего правдоподобия соответствует многим популярным методам статистической оценки. К примеру, вы рассматриваете такой антропометрический параметр, как рост жителей данной страны. Допустим, что вы располагаете данными о росте определенного количества людей, но не всего населения. Помимо этого, допускается, что рост – это нормально распределенная величина со средним значением и неизвестной дисперсией. Дисперсия роста и среднее значение в выборке будут являться максимально правдоподобными к дисперсии и среднему значению всего населения.
Используя фиксированный набор данных и базовой модели вероятностей в расчетах с помощью метода правдоподобия, будут получены такие значения параметров, которые будут делать данные «наиболее приближенные» к реальным. Метод максимального правдоподобия является уникальным и простым способом определения решения при нормальном распределении.
Метод наибольшего правдоподобия используются во многих статистических моделях:
- В линейных и обобщенных линейных моделях;
- В факторном анализе;
- При моделировании структурных уравнений;
- Во многих ситуациях, предполагающих проверку гипотезу и доверительный интервал формирования;
- В дискретных моделях выбора и т.д.
Метод наибольшего правдоподобия заключается в том, что оценкой вектора неизвестных параметров
Рисунок 7. Формула. Автор24 — интернет-биржа студенческих работ
Рисунок 8. Формула. Автор24 — интернет-биржа студенческих работ
который доставляет максимум функции правдоподобия:
Рисунок 9. Формула. Автор24 — интернет-биржа студенческих работ
Иными словами, сущность метода наибольшего правдоподобия заключается в нахождении такого вектора параметров, при котором была бы наиболее вероятной реализация $x_1, … ,x_n$ случайной выборки $X_1,…, X_n$.
Точечные оценки, получаемые при методе наибольшего правдоподобия, носят название МП-оценки.
Пример использования метода максимального правдоподобия
Пусть необходимо найти при помощи метода максимально правдоподобия оценку заданного параметра p биноминального распределения
Рисунок 10. Формула. Автор24 — интернет-биржа студенческих работ
если в $n_1$ независимых испытания некоторое событие $A$ появлялось $m_1$ раз, а в $n_2 – m_2$ раз.
Для того, чтобы решить данную задачу, необходимо составить функцию правдоподобия:
Рисунок 11. Формула. Автор24 — интернет-биржа студенческих работ
Затем следует отыскать логарифмическую функцию:
Рисунок 12. Формула. Автор24 — интернет-биржа студенческих работ
На следующем этапе определяется первая производная p:
Рисунок 13. Формула. Автор24 — интернет-биржа студенческих работ
Найденную производную необходимо приравнять к нулю, тем самым записав уравнение правдоподобия.
Рисунок 14. Формула. Автор24 — интернет-биржа студенческих работ
После относительного решения полученного уравнения находим значение критической точки:
Рисунок 15. Формула. Автор24 — интернет-биржа студенческих работ
В данной точке вторая производная будет отрицательной, а, следовательно, данная точка является максимумом. Таким образом найденная точка принимается в качестве оценки по методу максимального правдоподобия неизвестной вероятности p биноминального распределения.
Источник
Открытый курс машинного обучения. Тема 4. Линейные модели классификации и регрессии
Сегодня мы детально обсудим очень важный класс моделей машинного обучения – линейных. Ключевое отличие нашей подачи материала от аналогичной в курсах эконометрики и статистики – это акцент на практическом применении линейных моделей в реальных задачах (хотя и математики тоже будет немало).
Пример такой задачи – это соревнование Kaggle Inclass по идентификации пользователя в Интернете по его последовательности переходов по сайтам.
UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.
Все материалы доступны на GitHub.
А вот видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017). В ней, в частности, рассмотрены два бенчмарка соревнования, полученные с помощью логистической регрессии.
План этой статьи:
1. Линейная регрессия
Метод наименьших квадратов
Рассказ про линейные модели мы начнем с линейной регрессии. В первую очередь, необходимо задать модель зависимости объясняемой переменной
– объясняемая (или целевая) переменная; – вектор параметров модели (в машинном обучении эти параметры часто называют весами); – матрица наблюдений и признаков размерности строк на столбцов (включая фиктивную единичную колонку слева) с полным рангом по столбцам: ; – случайная переменная, соответствующая случайной, непрогнозируемой ошибке модели.
Можем выписать выражение для каждого конкретного наблюдения
Также на модель накладываются следующие ограничения (иначе это будет какая то другая регрессия, но точно не линейная):
- матожидание случайных ошибок равно нулю:
; - дисперсия случайных ошибок одинакова и конечна, это свойство называется гомоскедастичностью:
; - случайные ошибки не скоррелированы:
.
Оценка
где
Один из способов вычислить значения параметров модели является метод наименьших квадратов (МНК), который минимизирует среднеквадратичную ошибку между реальным значением зависимой переменной и прогнозом, выданным моделью:
Для решения данной оптимизационной задачи необходимо вычислить производные по параметрам модели, приравнять их к нулю и решить полученные уравнения относительно
Итак, имея в виду все определения и условия описанные выше, мы можем утверждать, опираясь на теорему Маркова-Гаусса, что оценка МНК является лучшей оценкой параметров модели, среди всех линейных и несмещенных оценок, то есть обладающей наименьшей дисперсией.
Метод максимального правдоподобия
У читателя вполне резонно могли возникнуть вопросы: например, почему мы минимизируем среднеквадратичную ошибку, а не что-то другое. Ведь можно минимизировать среднее абсолютное значение невязки или еще что-то. Единственное, что произойдёт в случае изменения минимизируемого значения, так это то, что мы выйдем из условий теоремы Маркова-Гаусса, и наши оценки перестанут быть лучшими среди линейных и несмещенных.
Давайте перед тем как продолжить, сделаем лирическое отступление, чтобы проиллюстрировать метод максимального правдоподобия на простом примере.
Как-то после школы я заметил, что все помнят формулу этилового спирта. Тогда я решил провести эксперимент: помнят ли люди более простую формулу метилового спирта:
Разберемся, откуда берется эта оценка, а для этого вспомним определение распределения Бернулли: случайная величина
Похоже, это распределение – то, что нам нужно, а параметр распределения
Далее будем максимизировать это выражение по
Теперь мы хотим найти такое значение
Получается, что наша интуитивная оценка – это и есть оценка максимального правдоподобия. Применим теперь те же рассуждения для задачи линейной регрессии и попробуем выяснить, что лежит за среднеквадратичной ошибкой. Для этого нам придется посмотреть на линейную регрессию с вероятностной точки зрения. Модель, естественно, остается такой же:
но будем теперь считать, что случайные ошибки берутся из центрированного нормального распределения:
Перепишем модель в новом свете:
Так как примеры берутся независимо (ошибки не скоррелированы – одно из условий теоремы Маркова-Гаусса), то полное правдоподобие данных будет выглядеть как произведение функций плотности
Мы хотим найти гипотезу максимального правдоподобия, т.е. нам нужно максимизировать выражение
Таким образом, мы увидели, что максимизация правдоподобия данных – это то же самое, что и минимизация среднеквадратичной ошибки (при справедливости указанных выше предположений). Получается, что именно такая функция стоимости является следствием того, что ошибка распределена нормально, а не как-то по-другому.
Разложение ошибки на смещение и разброс (Bias-variance decomposition)
Поговорим немного о свойствах ошибки прогноза линейной регрессии (в принципе эти рассуждения верны для всех алгоритмов машинного обучения). В свете предыдущего пункта мы выяснили, что:
- истинное значение целевой переменной складывается из некоторой детерминированной функции
и случайной ошибки : ; - ошибка распределена нормально с центром в нуле и некоторым разбросом:
; - истинное значение целевой переменной тоже распределено нормально:
- мы пытаемся приблизить детерминированную, но неизвестную функцию
линейной функцией от регрессоров , которая, в свою очередь, является точечной оценкой функции в пространстве функций (точнее, мы ограничили пространство функций параметрическим семейством линейных функций), т.е. случайной переменной, у которой есть среднее значение и дисперсия.
Тогда ошибка в точке
Для наглядности опустим обозначение аргумента функций. Рассмотрим каждый член в отдельности, первые два расписываются легко по формуле
И теперь последний член суммы. Мы помним, что ошибка и целевая переменная независимы друг от друга:
Наконец, собираем все вместе:
Итак, мы достигли цели всех вычислений, описанных выше, последняя формула говорит нам, что ошибка прогноза любой модели вида
- квадрата смещения:
– средняя ошибка по всевозможным наборам данных; - дисперсии:
– вариативность ошибки, то, на сколько ошибка будет отличаться, если обучать модель на разных наборах данных; - неустранимой ошибки:
.
Если с последней мы ничего сделать не можем, то на первые два слагаемых мы можем как-то влиять. В идеале, конечно же, хотелось бы свести на нет оба этих слагаемых (левый верхний квадрат рисунка), но на практике часто приходится балансировать между смещенными и нестабильными оценками (высокая дисперсия).
Как правило, при увеличении сложности модели (например, при увеличении количества свободных параметров) увеличивается дисперсия (разброс) оценки, но уменьшается смещение. Из-за того что тренировочный набор данных полностью запоминается вместо обобщения, небольшие изменения приводят к неожиданным результатам (переобучение). Если же модель слабая, то она не в состоянии выучить закономерность, в результате выучивается что-то другое, смещенное относительно правильного решения.
Теорема Маркова-Гаусса как раз утверждает, что МНК-оценка параметров линейной модели является самой лучшей в классе несмещенных линейных оценок, то есть с наименьшей дисперсией. Это значит, что если существует какая-либо другая несмещенная модель
Регуляризация линейной регрессии
Иногда бывают ситуации, когда мы намеренно увеличиваем смещенность модели ради ее стабильности, т.е. ради уменьшения дисперсии модели
Часто матрица Тихонова выражается как произведение некоторого числа на единичную матрицу:
Такая регрессия называется гребневой регрессией (ridge regression). А гребнем является как раз диагональная матрица, которую мы прибавляем к матрице
Такое решение уменьшает дисперсию, но становится смещенным, т.к. минимизируется также и норма вектора параметров, что заставляет решение сдвигаться в сторону нуля. На рисунке ниже на пересечении белых пунктирных линий находится МНК-решение. Голубыми точками обозначены различные решения гребневой регрессии. Видно, что при увеличении параметра регуляризации
Советуем обратиться в наш прошлый пост за примером того, как
2. Логистическая регрессия
Линейный классификатор
Основная идея линейного классификатора заключается в том, что признаковое пространство может быть разделено гиперплоскостью на два полупространства, в каждом из которых прогнозируется одно из двух значений целевого класса.
Если это можно сделать без ошибок, то обучающая выборка называется линейно разделимой.
Мы уже знакомы с линейной регрессией и методом наименьших квадратов. Рассмотрим задачу бинарной классификации, причем метки целевого класса обозначим «+1» (положительные примеры) и «-1» (отрицательные примеры).
Один из самых простых линейных классификаторов получается на основе регрессии вот таким образом:
– вектор признаков примера (вместе с единицей); – веса в линейной модели (вместе со смещением ); – функция «сигнум», возвращающая знак своего аргумента; – ответ классификатора на примере .
Логистическая регрессия как линейный классификатор
Логистическая регрессия является частным случаем линейного классификатора, но она обладает хорошим «умением» – прогнозировать вероятность
Прогнозирование не просто ответа («+1» или «-1»), а именно вероятности отнесения к классу «+1» во многих задачах является очень важным бизнес-требованием. Например, в задаче кредитного скоринга, где традиционно применяется логистическая регрессия, часто прогнозируют вероятность невозврата кредита (
Банк выбирает для себя порог
Итак, мы хотим прогнозировать вероятность
Обозначим
Если вычислить логарифм
Посмотрим, как логистическая регрессия будет делать прогноз
Шаг 1. Вычислить значение
Шаг 2. Вычислить логарифм отношения шансов:
Шаг 3. Имея прогноз шансов на отнесение к классу «+» –
В правой части мы получили как раз сигмоид-функцию.
Итак, логистическая регрессия прогнозирует вероятность отнесения примера к классу «+» (при условии, что мы знаем его признаки и веса модели) как сигмоид-преобразование линейной комбинации вектора весов модели и вектора признаков примера:
Следующий вопрос: как модель обучается? Тут мы опять обращаемся к принципу максимального правдоподобия.
Принцип максимального правдоподобия и логистическая регрессия
Теперь посмотрим, как из принципа максимального правдоподобия получается оптимизационная задача, которую решает логистическая регрессия, а именно, – минимизация логистической функции потерь.
Только что мы увидели, что логистическая регрессия моделирует вероятность отнесения примера к классу «+» как
Тогда для класса «-» аналогичная вероятность:
Оба этих выражения можно ловко объединить в одно (следите за моими руками – не обманывают ли вас):
Выражение
Заметим, что отступ определен для объектов именно обучающей выборки, для которых известны реальные метки целевого класса
Чтобы понять, почему это мы сделали такие выводы, обратимся к геометрической интерпретации линейного классификатора. Подробно про это можно почитать в материалах Евгения Соколова.
Рекомендую решить почти классическую задачу из начального курса линейной алгебры: найти расстояние от точки с радиус-вектором
Когда получим (или посмотрим) ответ, то поймем, что чем больше по модулю выражение
Значит, выражение
- если отступ большой (по модулю) и положительный, это значит, что метка класса поставлена правильно, а объект находится далеко от разделяющей гиперплоскости (такой объект классифицируется уверенно). На рисунке –
. - если отступ большой (по модулю) и отрицательный, значит метка класса поставлена неправильно, а объект находится далеко от разделяющей гиперплоскости (скорее всего такой объект – аномалия, например, его метка в обучающей выборке поставлена неправильно). На рисунке –
. - если отступ малый (по модулю), то объект находится близко к разделяющей гиперплоскости, а знак отступа определяет, правильно ли объект классифицирован. На рисунке –
и .
Теперь распишем правдоподобие выборки, а именно, вероятность наблюдать данный вектор
где
Как водится, возьмем логарифм данного выражения (сумму оптимизировать намного проще, чем произведение):
То есть в даном случае принцип максимизации правдоподобия приводит к минимизации выражения
Это логистическая функция потерь, просуммированная по всем объектам обучающей выборки.
Посмотрим на новую фунцию как на функцию от отступа:
Картинка отражает общую идею, что в задаче классификации, не умея напрямую минимизировать число ошибок (по крайней мере, градиентными методами это не сделать – производная 1/0 функциий потерь в нуле обращается в бесконечность), мы минимизируем некоторую ее верхнюю оценку. В данном случае это логистическая функция потерь (где логарифм двоичный, но это не принципиально), и справедливо
где
То есть уменьшая верхнюю оценку
-регуляризация логистических потерь
L2-регуляризация логистической регрессии устроена почти так же, как и в случае с гребневой (Ridge регрессией). Вместо функционала
В случае логистической регрессии принято введение обратного коэффициента регуляризации
Далее рассмотрим пример, позволяющий интуитивно понять один из смыслов регуляризации.
3. Наглядный пример регуляризации логистической регрессии
В 1 статье уже приводился пример того, как полиномиальные признаки позволяют линейным моделям строить нелинейные разделяющие поверхности. Покажем это в картинках.
Посмотрим, как регуляризация влияет на качество классификации на наборе данных по тестированию микрочипов из курса Andrew Ng по машинному обучению.
Будем использовать логистическую регрессию с полиномиальными признаками и варьировать параметр регуляризации C.
Сначала посмотрим, как регуляризация влияет на разделяющую границу классификатора, интуитивно распознаем переобучение и недообучение.
Потом численно установим близкий к оптимальному параметр регуляризации с помощью кросс-валидации (cross-validation) и перебора по сетке (GridSearch).
Загружаем данные с помощью метода read_csv библиотеки pandas. В этом наборе данных для 118 микрочипов (объекты) указаны результаты двух тестов по контролю качества (два числовых признака) и сказано, пустили ли микрочип в производство. Признаки уже центрированы, то есть из всех значений вычтены средние по столбцам. Таким образом, «среднему» микрочипу соответствуют нулевые значения результатов тестов.
RangeIndex: 118 entries, 0 to 117
Data columns (total 3 columns):
test1 118 non-null float64
test2 118 non-null float64
released 118 non-null int64
dtypes: float64(2), int64(1)
memory usage: 2.8 KB
Посмотрим на первые и последние 5 строк.
Сохраним обучающую выборку и метки целевого класса в отдельных массивах NumPy. Отобразим данные. Красный цвет соответствует бракованным чипам, зеленый – нормальным.
Определяем функцию для отображения разделяющей кривой классификатора
Полиномиальными признаками до степени
Например, для
Нарисовав треугольник Пифагора, Вы сообразите, сколько таких признаков будет для
Попросту говоря, таких признаков экспоненциально много, и строить, скажем, для 100 признаков полиномиальные степени 10 может оказаться затратно (а более того, и не нужно).
Создадим объект sklearn, который добавит в матрицу
Также проверим долю правильных ответов классификатора на обучающей выборке. Видим, что регуляризация оказалась слишком сильной, и модель «недообучилась». Доля правильных ответов классификатора на обучающей выборке оказалась равной 0.627.
Увеличим
Еще увеличим
Доля правильных ответов классификатора на обучающей выборке – 0.873.
Чтоб обсудить результаты, перепишем формулу для функционала, который оптимизируется в логистической регрессии, в таком виде:
– логистическая функция потерь, просуммированная по всей выборке – обратный коэффициент регуляризации (тот самый в sklearn-реализации LogisticRegression)
Промежуточные выводы:
- чем больше параметр
, тем более сложные зависимости в данных может восстанавливать модель (интуитивно соответствует «сложности» модели (model capacity)) - если регуляризация слишком сильная (малые значения
), то решением задачи минимизации логистической функции потерь может оказаться то, когда многие веса занулились или стали слишком малыми. Еще говорят, что модель недостаточно «штрафуется» за ошибки (то есть в функционале «перевешивает» сумма квадратов весов, а ошибка может быть относительно большой). В таком случае модель окажется недообученной (1 случай) - наоборот, если регуляризация слишком слабая (большие значения
), то решением задачи оптимизации может стать вектор с большими по модулю компонентами. В таком случае больший вклад в оптимизируемый функционал имеет и, вольно выражаясь, модель слишком «боится» ошибиться на объектах обучающей выборки, поэтому окажется переобученной (3 случай) - то, какое значение
выбрать, сама логистическая регрессия «не поймет» (или еще говорят «не выучит»), то есть это не может быть определено решением оптимизационной задачи, которой является логистическая регрессия (в отличие от весов ). Так же точно, дерево решений не может «само понять», какое ограничение на глубину выбрать (за один процесс обучения). Поэтому – это гиперпараметр модели, который настраивается на кросс-валидации, как и max_depth для дерева.
Настройка параметра регуляризации
Теперь найдем оптимальное (в данном примере) значение параметра регуляризации
Посмотрим, как качество модели (доля правильных ответов на обучающей и валидационной выборках) меняется при изменении гиперпараметра
Выделим участок с «лучшими» значениями C.
Как мы помним, такие кривые называются валидационными, раньше мы их строили вручную, но в sklearn для них их построения есть специальные методы, которые мы тоже сейчас будем использовать.
4. Где логистическая регрессия хороша и где не очень
Анализ отзывов IMDB к фильмам
Будем решать задачу бинарной классификации отзывов IMDB к фильмам. Имеется обучающая выборка с размеченными отзывами, по 12500 отзывов известно, что они хорошие, еще про 12500 – что они плохие. Здесь уже не так просто сразу приступить к машинному обучению, потому что готовой матрицы
Загрузим данные отсюда (краткое описание — тут). В обучающей и тестовой выборках по 12500 тысяч хороших и плохих отзывов к фильмам.
Пример плохого отзыва:
‘Words can\’t describe how bad this movie is. I can\’t explain it by writing only. You have too see it for yourself to get at grip of how horrible a movie really can be. Not that I recommend you to do that. There are so many clich\xc3\xa9s, mistakes (and all other negative things you can imagine) here that will just make you cry. To start with the technical first, there are a LOT of mistakes regarding the airplane. I won\’t list them here, but just mention the coloring of the plane. They didn\’t even manage to show an airliner in the colors of a fictional airline, but instead used a 747 painted in the original Boeing livery. Very bad. The plot is stupid and has been done many times before, only much, much better. There are so many ridiculous moments here that i lost count of it really early. Also, I was on the bad guys\’ side all the time in the movie, because the good guys were so stupid. «Executive Decision» should without a doubt be you\’re choice over this one, even the «Turbulence»-movies are better. In fact, every other movie in the world is better than this one.’
Пример хорошего отзыва:
‘Everyone plays their part pretty well in this «little nice movie». Belushi gets the chance to live part of his life differently, but ends up realizing that what he had was going to be just as good or maybe even better. The movie shows us that we ought to take advantage of the opportunities we have, not the ones we do not or cannot have. If U can get this movie on video for around $10, it\xc2\xb4d be an investment!’
Простой подсчет слов
Составим словарь всех слов с помощью CountVectorizer. Всего в выборке 74849 уникальных слов. Если посмотреть на примеры полученных «слов» (лучше их называть токенами), то можно увидеть, что многие важные этапы обработки текста мы тут пропустили (автоматическая обработка текстов – это могло бы быть темой отдельной серии статей).
[’00’, ‘000’, ‘0000000000001’, ‘00001’, ‘00015’, ‘000s’, ‘001’, ‘003830’, ‘006’, ‘007’, ‘0079’, ‘0080’, ‘0083’, ‘0093638’, ’00am’, ’00pm’, ’00s’, ’01’, ’01pm’, ’02’, ‘020410’, ‘029’, ’03’, ’04’, ‘041’, ’05’, ‘050’, ’06’, ’06th’, ’07’, ’08’, ‘087’, ‘089’, ’08th’, ’09’, ‘0f’, ‘0ne’, ‘0r’, ‘0s’, ’10’, ‘100’, ‘1000’, ‘1000000’, ‘10000000000000’, ‘1000lb’, ‘1000s’, ‘1001’, ‘100b’, ‘100k’, ‘100m’]
[‘pincher’, ‘pinchers’, ‘pinches’, ‘pinching’, ‘pinchot’, ‘pinciotti’, ‘pine’, ‘pineal’, ‘pineapple’, ‘pineapples’, ‘pines’, ‘pinet’, ‘pinetrees’, ‘pineyro’, ‘pinfall’, ‘pinfold’, ‘ping’, ‘pingo’, ‘pinhead’, ‘pinheads’, ‘pinho’, ‘pining’, ‘pinjar’, ‘pink’, ‘pinkerton’, ‘pinkett’, ‘pinkie’, ‘pinkins’, ‘pinkish’, ‘pinko’, ‘pinks’, ‘pinku’, ‘pinkus’, ‘pinky’, ‘pinnacle’, ‘pinnacles’, ‘pinned’, ‘pinning’, ‘pinnings’, ‘pinnochio’, ‘pinnocioesque’, ‘pino’, ‘pinocchio’, ‘pinochet’, ‘pinochets’, ‘pinoy’, ‘pinpoint’, ‘pinpoints’, ‘pins’, ‘pinsent’]
Закодируем предложения из текстов обучающей выборки индексами входящих слов. Используем разреженный формат. Преобразуем так же тестовую выборку.
Обучим логистическую регрессию и посмотрим на доли правильных ответов на обучающей и тестовой выборках. Получается, на тестовой выборке мы правильно угадываем тональность примерно 86.7% отзывов.
Коэффициенты модели можно красиво отобразить.
Подберем коэффициент регуляризации для логистической регрессии. Используем sklearn.pipeline, поскольку CountVectorizer правильно применять только на тех данных, на которых в текущий момент обучается модель (чтоб не «подсматривать» в тестовую выборку и не считать по ней частоты вхождения слов). В данном случае pipeline задает последовательность действий: применить CountVectorizer, затем обучить логистическую регрессию. Так мы поднимаем долю правильных ответов до 88.5% на кросс-валидации и 87.9% – на отложенной выборке.
Теперь то же самое, но со случайным лесом. Видим, что с логистической регрессией мы достигаем большей доли правильных ответов меньшими усилиями. Лес работает дольше, на отложенной выборке 85.5% правильных ответов.
XOR-проблема
Теперь рассмотрим пример, где линейные модели справляются хуже.
Линейные методы классификации строят все же очень простую разделяющую поверхность – гиперплоскость. Самый известный игрушечный пример, в котором классы нельзя без ошибок поделить гиперплоскостью (то есть прямой, если это 2D), получил имя «the XOR problem».
XOR – это «исключающее ИЛИ», булева функция со следующей таблицей истинности:
XOR дал имя простой задаче бинарной классификации, в которой классы представлены вытянутыми по диагоналям и пересекающимися облаками точек.
Очевидно, нельзя провести прямую так, чтобы без ошибок отделить один класс от другого. Поэтому логистическая регрессия плохо справляется с такой задачей.
А вот если на вход подать полиномиальные признаки, в данном случае до 2 степени, то проблема решается.
Здесь логистическая регрессия все равно строила гиперплоскость, но в 6-мерном пространстве признаков
На практике полиномиальные признаки действительно помогают, но строить их явно – вычислительно неэффективно. Гораздо быстрее работает SVM с ядровым трюком. При таком подходе в пространстве высокой размерности считается только расстояние между объектами (задаваемое функцией-ядром), а явно плодить комбинаторно большое число признаков не приходится. Про это подробно можно почитать в курсе Евгения Соколова (математика уже серьезная).
5. Кривые валидации и обучения
Мы уже получили представление о проверке модели, кросс-валидации и регуляризации.
Теперь рассмотрим главный вопрос:
Если качество модели нас не устраивает, что делать?
- Сделать модель сложнее или упростить?
- Добавить больше признаков?
- Или нам просто нужно больше данных для обучения?
Ответы на данные вопросы не всегда лежат на поверхности. В частности, иногда использование более сложной модели приведет к ухудшению показателей. Либо добавление наблюдений не приведет к ощутимым изменениям. Способность принять правильное решение и выбрать правильный способ улучшения модели, собственно говоря, и отличает хорошего специалиста от плохого.
Будем работать со знакомыми данными по оттоку клиентов телеком-оператора.
Логистическую регрессию будем обучать стохастическим градиентным спуском. Пока объясним это тем, что так быстрее, но далее в программе у нас отдельная статья про это дело. Построим валидационные кривые, показывающие, как качество (ROC AUC) на обучающей и проверочной выборке меняется с изменением параметра регуляризации.
Тенденция видна сразу, и она очень часто встречается.
Для простых моделей тренировочная и валидационная ошибка находятся где-то рядом, и они велики. Это говорит о том, что модель недообучилась: то есть она не имеет достаточное кол-во параметров.
Для сильно усложненных моделей тренировочная и валидационная ошибки значительно отличаются. Это можно объяснить переобучением: когда параметров слишком много либо не хватает регуляризации, алгоритм может «отвлекаться» на шум в данных и упускать основной тренд.
Сколько нужно данных?
Известно, что чем больше данных использует модель, тем лучше. Но как нам понять в конкретной ситуации, помогут ли новые данные? Скажем, целесообразно ли нам потратить N\$ на труд асессоров, чтобы увеличить выборку вдвое?
Поскольку новых данных пока может и не быть, разумно поварьировать размер имеющейся обучающей выборки и посмотреть, как качество решения задачи зависит от объема данных, на котором мы обучали модель. Так получаются кривые обучения (learning curves).
Идея простая: мы отображаем ошибку как функцию от количества примеров, используемых для обучения. При этом параметры модели фиксируются заранее.
Давайте посмотрим, что мы получим для линейной модели. Коэффициент регуляризации выставим большим.
Типичная ситуация: для небольшого объема данных ошибки на обучающей выборке и в процессе кросс-валидации довольно сильно отличаются, что указывает на переобучение. Для той же модели, но с большим объемом данных ошибки «сходятся», что указывается на недообучение.
Если добавить еще данные, ошибка на обучающей выборке не будет расти, но с другой стороны, ошибка на тестовых данных не будет уменьшаться.
Получается, ошибки «сошлись», и добавление новых данных не поможет. Собственно, это случай – самый интересный для бизнеса. Возможна ситуация, когда мы увеличиваем выборку в 10 раз. Но если не менять сложность модели, это может и не помочь. То есть стратегия «настроил один раз – дальше использую 10 раз» может и не работать.
Что будет, если изменить коэффициент регуляризации (уменьшить до 0.05)?
Видим хорошую тенденцию – кривые постепенно сходятся, и если дальше двигаться направо (добавлять в модель данные), можно еще повысить качество на валидации.
А если усложнить модель ещё больше (
Проявляется переобучение – AUC падает как на обучении, так и на валидации.
Строя подобные кривые, можно понять, в какую сторону двигаться, и как правильно настроить сложность модели на новых данных.
Выводы по кривым валидации и обучения
- Ошибка на обучающей выборке сама по себе ничего не говорит о качестве модели
- Кросс-валидационная ошибка показывает, насколько хорошо модель подстраивается под данные (имеющийся тренд в данных), сохраняя при этом способность обобщения на новые данные
- Валидационная кривая представляет собой график, показывающий результат на тренировочной и валидационной выборке в зависимости от сложности модели:
- если две кривые распологаются близко, и обе ошибки велики, — это признак недообучения
- если две кривые далеко друг от друга, — это показатель переобучения
- Кривая обучения — это график, показывающий результаты на валидации и тренировочной подвыборке в зависимости от количества наблюдений:
- если кривые сошлись друг к другу, добавление новых данных не поможет – надо менять сложность модели
- если кривые еще не сошлись, добавление новых данных может улучшить результат.
6. Плюсы и минусы линейных моделей в задачах машинного обучения
- Хорошо изучены
- Очень быстрые, могут работать на очень больших выборках
- Практически вне конкуренции, когда признаков очень много (от сотен тысяч и более), и они разреженные (хотя есть еще факторизационные машины)
- Коэффициенты перед признаками могут интерпретироваться (при условии что признаки масштабированы) – в линейной регрессии как частные производные зависимой переменной от признаков, в логистической – как изменение шансов на отнесение к одному из классов в
раз при изменении признака на 1 ед., подробнее тут - Логистическая регрессия выдает вероятности отнесения к разным классам (это очень ценится, например, в кредитном скоринге)
- Модель может строить и нелинейную границу, если на вход подать полиномиальные признаки
- Плохо работают в задачах, в которых зависимость ответов от признаков сложная, нелинейная
- На практике предположения теоремы Маркова-Гаусса почти никогда не выполняются, поэтому чаще линейные методы работают хуже, чем, например, SVM и ансамбли (по качеству решения задачи классификации/регрессии)
7. Домашнее задание № 4
Актуальные домашние задания объявляются во время очередной сессии курса, следить можно в группе ВК и в репозитории курса.
В качестве закрепления изученного материала предлагаем следующее задание: разобраться с тем, как работает TfidfVectorize r и DictVectorizer , обучить и настроить модель линейной регрессии Ridge на данных о публикациях на Хабрахабре и воспроизвести бенчмарк в соревновании. Проверить себя можно отправив ответы в веб-форме (там же найдете и решение).
8. Полезные ресурсы
Статья написана в соавторстве с mephistopheies (Павлом Нестеровым). Он же – автор домашнего задания. Авторы домашнего задания в первой сессии курса (февраль-май 2017)– aiho (Ольга Дайховская) и das19 (Юрий Исаков). Благодарю bauchgefuehl (Анастасию Манохину) за редактирование.
Источник