Вероятность

Максимальное правдоподобие

Правдоподобие — функция параметра при фиксированных данных, и логарифм в ней не косметика

Шаг 45 из 117 · ~32 мин

Правдоподобие — это не плотность

Одна и та же формула p(xθ)p(x \mid \theta) читается двумя способами, и путать их нельзя:

  • как плотность: xx переменная, θ\theta фиксирован. Интегрируется в единицу;
  • как правдоподобие: θ\theta переменная, xx фиксирован. Не интегрируется ни во что осмысленное.

Правдоподобие не является распределением над θ\theta. Именно поэтому пишут L(θ)=p(xθ)L(\theta) = p(x \mid \theta) и говорят «правдоподобие параметра», а не «вероятность параметра» — вероятностью параметра будет posterior, и для него нужен prior.

MLE

θ^=arg maxθ i=1nlogp(xiθ)\hat{\theta} = \htmlData{k=arg}{\argmax_\theta} \ \htmlData{k=sum}{\sum_{i=1}^{n} \log p(x_i \mid \theta)}

Для iid-выборки правдоподобие — произведение ip(xiθ)\prod_i p(x_i \mid \theta), и логарифм превращает его в сумму. Причины брать логарифм три, и все практические:

  1. Численная. Произведение тысячи вероятностей underflow’ится в нуль. Проверить легко: у сбалансированной монеты правдоподобие при θ=0.5\theta = 0.5 уже равно 810318 \cdot 10^{-31} на ста наблюдениях и точно нулю чуть больше тысячи.
  2. Вычислительная. Производная суммы — сумма производных; производная произведения — кошмар.
  3. Аргмаксимум не меняется. Логарифм монотонен, поэтому максимум там же.

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

L(θ), нормировано на пик

log L(θ)

успехов s 7
неудач f 3
MLE
0.7
log L в пике
-6.11

Поднимите число наблюдений до сотни: пик становится узким. Это не случайность — кривизна log-правдоподобия в максимуме растёт как nn, и с ней падает неопределённость оценки. Величина этой кривизны называется информацией Фишера, и она вернётся в блоке 5 в разговоре про natural gradient.

Вывод для Бернулли

logL(θ)=slogθ+flog(1θ)\log L(\theta) = s\log\theta + f\log(1-\theta)

где ss — число успехов, ff — неудач. Дифференцируем и приравниваем нулю:

sθf1θ=0  s(1θ)=fθ  θ^=ss+f\frac{s}{\theta} - \frac{f}{1-\theta} = 0 \ \Longrightarrow \ s(1-\theta) = f\theta \ \Longrightarrow \ \hat{\theta} = \frac{s}{s+f}

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

Вывод для гауссианы

logL(μ,σ2)=n2log(2πσ2)12σ2i(xiμ)2\log L(\mu, \sigma^2) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_i (x_i - \mu)^2

По μ\mu: производная даёт i(xiμ)=0\sum_i (x_i - \mu) = 0, откуда μ^=xˉ\hat{\mu} = \bar{x} — выборочное среднее.

По σ2\sigma^2: получается σ^2=1ni(xixˉ)2\hat{\sigma}^2 = \frac{1}{n}\sum_i (x_i - \bar{x})^2 — и обратите внимание на делитель nn, а не n1n-1. MLE дисперсии смещена, и это не ошибка вывода, а свойство метода. Разберём в уроке про смещение.

Но самое важное здесь другое. При фиксированном σ\sigma максимизация log-правдоподобия сводится к

minμi(xiμ)2\min_\mu \sum_i (x_i - \mu)^2

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

Как узнавать лоссы

Та же логика превращает каждую стандартную функцию потерь в предположение о шуме:

предположение о данныхминус log-правдоподобие
гауссовский шумMSE
Бернуллибинарная кросс-энтропия
категориальноекросс-энтропия
Пуассонапуассоновский лосс
Лаплас (тяжёлые хвосты)MAE

Последняя строка полезна практически: MAE устойчивее к выбросам не «потому что модуль», а потому что распределение Лапласа имеет более тяжёлые хвосты и не считает далёкую точку невероятной.

Ограничения MLE

Три, и все встречаются постоянно:

  • переобучение. MLE максимизирует правдоподобие данных, а не будущих наблюдений. При богатой модели она подгонит шум;
  • вырожденные решения. Ноль успехов из четырёх даёт θ^=0\hat{\theta} = 0 — «успех невозможен». Проверьте на виджете, выставив f=4f = 4, s=0s = 0;
  • смещение. Как у σ^2\hat{\sigma}^2 выше.

Все три лечатся одним и тем же — добавлением prior, то есть переходом к MAP. Это следующий урок.

Источники

  • Bishop — Pattern Recognition and Machine Learning, гл. 1.2.4–1.2.5 — Максимальное правдоподобие, связь с наименьшими квадратами
  • Blitzstein, Hwang — Introduction to Probability, гл. 9 — Оценивание параметров

Проверки

0 из 2
  1. Что такое правдоподобие

    Отметьте все верные утверждения о правдоподобии L(θ)=p(xθ)L(\theta) = p(x \mid \theta) и об оценке максимального правдоподобия.

  2. MLE для гауссианы

    Реализуйте gaussian_mle(xs) — верните список [mu, var_mle, var_unbiased, nll] для выборки xs.

    • mu — оценка среднего: μ^=1nixi\hat{\mu} = \frac{1}{n}\sum_i x_i;
    • var_mle — оценка дисперсии по методу максимального правдоподобия, σ^2=1ni(xiμ^)2\hat{\sigma}^2 = \frac{1}{n}\sum_i (x_i - \hat{\mu})^2 — с делителем nn;
    • var_unbiased — та же сумма квадратов, но делённая на n1n-1;
    • nll — минус log-правдоподобие в точке (μ^,σ^2)(\hat{\mu}, \hat{\sigma}^2):

    logL=n2log(2πσ^2)+12σ^2i(xiμ^)2-\log L = \frac{n}{2}\log(2\pi\hat{\sigma}^2) + \frac{1}{2\hat{\sigma}^2}\sum_i (x_i - \hat{\mu})^2

    Сумму квадратов посчитайте один раз и переиспользуйте — все три остальных числа выражаются через неё.

    функция gaussian_mle

    Загрузка редактора…

    Ctrl/⌘ + Enter