Как описать привычные модели на языке статистики. Оптимизация функции потерь vs оценка максимального правоподобия

В этом разделе мы посмотрим на те же самые модели машинного обучения, но с другой стороны: будем интерпретировать их как вероятностные.

В первом параграфе мы расскажем, как обращаться с вероятностными моделями, и покажем, что привычный вам подбор параметров модели с помощью минимизации функции потерь соответствует подбору параметров методом максимального правдоподобия. Это даст возможность транслировать в мир ML известные результаты о свойствах оценок максимального правдоподобия, но в то же время и обнажит их недостатки. Благодаря этому мы сможем по-новому взглянуть на логистическую регрессию и с новым пониманием сформулировать её обобщение — generalized linear model (GLM).

По ходу дела мы обнаружим, что большинство классификаторов, хоть и делают вид, что предсказывают корректные вероятности, на самом деле вводят в заблуждение.

В третьем параграфе мы поговорим о том, как проверить отклонение предсказанных значений от истинных вероятностей и как поправить ситуацию.

Далее мы обсудим генеративный подход к классификации и разберём несколько примеров генеративных моделей, после чего перейдём к байесовскому подходу оценивания параметров, который, хоть зачастую и трудно осуществим вычислительно, однако обладает большей теоретической стройностью. Он позволяет оценивать распределение параметров и предсказаний (например, уверенность в нашей оценке), а кроме того — даёт нам возможность измерить качество модели, не прибегая к проверке на тестовой выборке.

Если вы готовы — давайте приступим!

Случайность как источник несовершенства модели

Практически любая наша модель — несовершенна. Но объяснять это несовершенство можно по-разному.

Представим, что мы решаем задачу регрессии : например, пытаемся по университетским оценкам выпускника предсказать его годовую зарплату. Ясно, что точная зависимость у нас не получится как минимум потому, что мы многого не знаем о выпускнике: куда он пошёл работать, насколько он усерден, как у него с soft skills и так далее. Как же нам быть?

Первый вариант — просто признать, что мы не получим идеальную модель, но постараться выучить оптимальную, насколько это возможно. То есть приблизить таргет предсказаниями наилучшим образом с точки зрения какой-то меры близости, которую мы подберём из экспертных соображений.

Так мы получаем простой инженерный подход к машинному обучению: есть формула, в которой присутствуют некоторые параметры (), есть формализация того, что такое «приблизить» (функция потерь) — и мы бодро решаем задачу оптимизации по параметрам.

Второй вариант — свалить вину за неточности наших предсказаний на случайность. В самом деле: если мы что-то не можем измерить, то для нас это всё равно что случайный фактор. В постановке задачи мы заменяем приближённое равенство на точное

Например, это может быть аддитивный шум (чаще всего так и делают):

где — некоторая случайная величина, которая представляет этот самый случайный шум. Тогда получается, что для каждого конкретного объекта соответствующий ему истинный таргет — это сумма и конкретной реализации шума .

При построении такой модели мы можем выбирать различные распределения шума, кодируя тем самым, какой может быть ошибка. Чаще всего выбирают гауссовский шум: с некоторой фиксированной дисперсией — но могут быть и другие варианты.

Проиллюстрируем, как ведут себя данные, подчиняющиеся закону , :

9

Вопрос на подумать. Зачем человеку может прийти в голову предположить, что в модели линейной регрессии шум имеет распределение Лапласа? А распределение Коши? Чем свойства таких моделей будут отличаться от свойств модели с нормальным шумом?

Ответ (не открывайте сразу; сначала подумайте сами!)

Давайте посмотрим, как выглядят плотности этих трёх распределений:

9

Распределение Лапласа имеет «более тяжёлые хвосты», чем нормальное: это значит, что плотность медленнее падает с удалением от среднего. Таким образом, этому распределению могут подчиняться данные, в которых имеются выбросы. Если не гнаться за строгостью, можно сказать, что модель с нормальным шумом будет пытаться объяснить выбросы, меняя под них , тогда как лапласовский шум потерпит их, не подгоняя .

У распределения Коши хвосты «ещё более тяжёлые», что, в теории, даёт возможность модели с таким шумом описывать даже ещё более шумные данные.

Проиллюстрируем датасеты, сгенерированные из моделей с каждым из типов шума: нормальным, лапласовским и Коши.

9

Как вы могли заметить, в каждом из подходов после того, как мы зафиксировали признаки (то есть координаты ), остаётся своя степень свободы: в инженерном это выбор функции потерь, а в вероятностном — выбор распределения шума.

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

Условное распределение на таргет, непрерывный случай

Допустим, что мы исследуем вероятностную модель таргета с аддитивным шумом

где — некоторая функция, не обязательно линейная с (неизвестными пока) параметрами , а — случайный шум с плотностью распределения . Для каждого конкретного объекта значение — это просто константа, но оно превращается в случайную величину, зависящую от (и ещё от , на самом деле).

Таким образом, можно говорить об условном распределении

Для каждого конкретного и распределение соответствующего — это просто , ведь .

Пример. Рассмотрим вероятностную модель , где . Тогда для фиксированного имеем . Поскольку — константа, мы получаем

Это можно записать и так:

где выражение справа — это значение функции плотности нормального распределения с параметрами в точке . В частности, .

Более сложные вероятностные модели

На самом деле, мы можем для нашей задачи придумывать любую вероятностную модель , не обязательно вида .

Представьте, что мы хотим предсказывать точку в плоскости штанг, в которую попадает мячом бьющий по воротам футболист. Можно предположить, что она имеет нормальное распределение со средним (цель удара), которое определяется ситуацией на поле и состянием игрока, и некоторой дисперсией (то есть скалярной ковариационной матрицей), которая тоже зависит от состояния игрока и ещё разных сложных факторов, которые мы объявим случайными.

Состояние игрока — это сложное понятие, но, вероятно, мы можем выразить его, зная пульс, давление и другие физические показатели. В свою очередь, ситуацию на поле можно описать, как функцию от позиций и движений других игроков, судьи и зрителей — но всего не перечислишь, поэтому нам снова придётся привлекать случайность. Таким образом, мы получаем то, что называется графической моделью:

9

Здесь стрелки означают статистические зависимости, а отсутствие стрелок — допущение о статистической независимости. Конечно же, это лишь допущение, принятое нами для ограничения сложности модели: ведь пульс человека и давление взаимосвязаны, равно как и поведение различных игроков на поле. Но мы уже обсуждали, что каждая модель, в том числе и вероятностная, является лишь приблизительным отражением бесконечно сложного мира. Впрочем, если у нас много вычислительных ресурсов, то никто не мешает нам попробовать учесть и все пропущенные сейчас зависимости.

Расписав всё по определению условной вероятности, мы получаем следующую вероятностную модель:

9

в которой, конечно же, мы должны все вероятности расписать через какие-то понятные и логически обоснованные распределения — но пока воздержимся от этого.

Оценка максимального правдоподобия = оптимизация функции потерь

Мы хотим подобрать такие значения параметров , для которых модель была бы наиболее адекватна обучающим данным. Суть метода максимального правдоподобия (maximum likelihood estimation) состоит в том, чтобы найти такое , для которого вероятность (а в данном, непрерывном, случае плотность вероятности) появления выборки была бы максимальной, то есть

Величина называется функцией правдоподобия (likelihood). Если мы считаем, что все объекты независимы, то функция правдоподобия распадается в произведение:

Теперь, поскольку перемножать сложно, а складывать легко (и ещё поскольку мы надеемся, что раз наши объекты всё-таки наблюдаются в природе, их правдоподобие отлично от нуля), мы переходим к логарифму функции правдоподобия:

эту функцию мы так или иначе максимизируем по , находя оценку максимального правдоподобия .

Как мы уже обсуждали выше, , то есть

Максимизация функции правдоподобия соответствует минимизации

а это выражением можно интерпретировать, как функцию потерь. Вот и оказывается, что подбор параметров вероятностей модели с помощью метода максимального правдоподобия — это то же самое, что «инженерная» оптимизация функции потерь. Давайте посмотрим, как это выглядит в нескольких простых случаях.

Пример. Давайте предположим, что наш таргет связан с данными вот так:

где , то есть

Случайная величина получается из шума сдвигом на постоянный вектор , так что она тоже распределена нормально с той же дисперсией и со средним

Правдоподобие выборки имеет вид

Логарифм правдоподобия можно переписать в виде

Постоянными слагаемыми можно пренебречь, и тогда оказывается, что максимизация этой величины равносильна минимизации

Мы получили обычную квадратичную функцию потерь. Итак, обучать вероятностную модель линейной регрессии с нормальным шумом — это то же самое, что учить «инженерную» модель с функцией потерь MSE.

Вопрос на подумать. Какая вероятностная модель соответствует обучению линейной регрессии с функцией потерь MAE

Ответ (не открывайте сразу; сначала подумайте сами!)

Минимизация функции потерь MAE соответствует максимизации

Мы хотим найти такое распределение, для которого эта штука является с точностью до константы логарифмом функции правдоподобия. Что ж, возьмём экспоненту:

Если теперь это умножить на , то мы получим функцию правдоподобия для распределения Лапласа:

Итак, учить «инженерную» модель с функцией потерь MAE — это то же самое, что обучать вероятностную модель линейной регрессии с лапласовским шумом.

Предсказание в вероятностных моделях

Теперь представим, что параметры подобраны, и подумаем о том, как же теперь делать предсказания.

Рассмотрим модель линейной регрессии

Если известен, то для нового объекта соответствующий таргет имеет вид

Таким образом, дан нам не точно, а в виде распределения (и логично: ведь мы оговорились выше, что ответы у нас искажены погрешностью, проинтерпретированной, как нормальный шум). Но что делать, если требуют назвать конкретное число? Кажется логичным выдать условное матожидание , тем более что оно совпадает с условной медианой и условной модой этого распределения.

Если же медиана, мода и математическое ожидание различаются, то можно выбрать что-то из них с учётом особенностей задачи. Но на практике в схеме чаще всего рассматривают именно симметричные распределения с нулевым матожиданием, потому что для них совпадает с условным матожиданием и является логичным точечным предсказанием.

Приведём пример. Допустим шум был бы из экспоненциального распределения. Тогда была бы условным минимумом распределения. В принципе, можно придумать задачу, для которой такая постановка (предсказание минимума) была бы логичной. Но это всё же довольно экзотическая ситуация. Приводим для сравнения модели с нормальным, лапласовским и экспоненциальным шумом:

9

Условное распределение на таргет, дискретный случай

Допустим, мы имеем дело с задачей классификации с классами. Как мы можем её решать? Самый наивный вариант — научиться по каждому объекту предсказывать некоторое число для каждого класса, и у кого число больше — тот класс и выбираем! Наверное, так можно сделать, если мы придумаем хорошую функцию потерь. Но сразу в голову приходит мысль: почему бы не начать предсказывать не просто число, а вероятность?

Таким образом, задача классификации сводится к предсказанию

и как будто бы выбору класса с наибольшей вероятностью. Впрочем, как мы увидим дальше, всё не всегда работает так просто.

Одну такую модель — правда, только для бинарной классификации — вы уже знаете. Это логистическая регрессия:

которую также можно записать в виде

где — распределение Бернулли с параметром .

Нахождение вероятностей классов можно разделить на два этапа:

где, напомним, — это сигмоида:

Сигмоида тут не просто так. Она обладает теми счастливыми свойствами, что

  • монотонно возрастает;

  • отображает всю числовую прямую на интервал ;

  • .

Вот такой вид имеет её график:

9

Иными словами, с помощью сигмоиды можно делать «вероятности» из чего угодно, то есть более или менее для любого отображения (из признакового пространства в ) с параметрами построить модель бинарной классификации:

Как и в случае логистической регрессии, такая модель равносильна утверждению о том, что

Похожим способом можно строить и модели для многоклассовой классификации. В этом нам поможет обобщение сигмоиды, которое называется softmax:

А именно, для любого отображения из пространства признаков в мы можем взять модель

Если все наши признаки — вещественные числа, а — просто линейное отображение, то мы получаем однослойную нейронную сеть

9

Предостережение. Всё то, что мы описали выше, вполне работает на практике (собственно, классификационные нейросети зачастую так и устроены), но корректным не является.

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

9

Это говорит нам о некоторой неполноценности такого подхода.

Заметим ещё вот что. В случае бинарной классификации выбор предсказываемого класса как равносилен выбору того класса, для которого . Но если наши оценки вероятностей неадекватны, то этот вариант проваливается, и мы встаём перед проблемой выбора порога: каким должно быть значение , чтобы мы могли приписать класс 1 тем объектам , для которых ?

В одном из следующих параграфов мы обсудим, как всё-таки правильно предсказывать вероятности.

Отмечайте параграфы как прочитанные чтобы видеть свой прогресс обучения

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф3.3. Подбор гиперпараметров

Как эффективно подбирать значения гиперпараметров модели и не переобучиться при этом

Следующий параграф4.2. Экспоненциальный класс распределений и принцип максимальной энтропии

Самые главные семейства распределений в жизни любого data scientist’а