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

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

Метод максимального правдоподобия (MLE) подбирает параметры модели так, чтобы вероятность увидеть имеющиеся данные при этих параметрах была наибольшей.

Идея: какие параметры лучше всего объясняют данные

Перевернём привычный вопрос. Обычно спрашивают «какова вероятность данных при заданных параметрах?». MLE спрашивает обратное: «какие параметры делают наблюдаемые данные наиболее вероятными?». Это «правдоподобие» (likelihood) — та же вероятность, но рассматриваемая как функция параметров при фиксированных данных. Мы крутим параметры, чтобы её максимизировать.

Пример: оценка вероятности монеты

Подбросили монету 10 раз, выпало 7 орлов. Какое p (вероятность орла) лучше всего объясняет данные? Посчитаем правдоподобие для разных p и найдём максимум.

from math import comb

# Данные: 7 орлов из 10 бросков
n, k = 10, 7

def likelihood(p):
    # вероятность увидеть ровно k орлов при данном p
    return comb(n, k) * p**k * (1 - p)**(n - k)

best_p, best_L = None, -1
for i in range(0, 101):
    p = i / 100
    L = likelihood(p)
    if L > best_L:
        best_L, best_p = L, p

print("Лучшее p (максимум правдоподобия):", best_p)
print("Совпадает с долей орлов 7/10 =", 7/10)

Вывод:

Лучшее p (максимум правдоподобия): 0.7
Совпадает с долей орлов 7/10 = 0.7

MLE выдал p = 0.7 — ровно наблюдённую частоту. Это не совпадение: для монеты максимальное правдоподобие всегда даёт долю успехов. Простая «здравая» оценка оказалась математически обоснованной.

Логарифм правдоподобия

На практике правдоподобие — произведение вероятностей по всем объектам, и оно становится исчезающе малым числом. Поэтому максимизируют логарифм правдоподобия: логарифм превращает произведение в сумму (удобнее и численно устойчивее), а максимум остаётся в той же точке. А поскольку оптимизаторы любят минимизировать, берут минус логарифма — получается «negative log-likelihood», и это уже функция потерь.

import math
from math import comb

n, k = 10, 7

def neg_log_likelihood(p):
    if p <= 0 or p >= 1:
        return float("inf")
    return -math.log(comb(n, k) * p**k * (1 - p)**(n - k))

# Минимум -log L там же, где максимум L
best_p, best_nll = None, float("inf")
for i in range(1, 100):
    p = i / 100
    nll = neg_log_likelihood(p)
    if nll < best_nll:
        best_nll, best_p = nll, p

print("p минимизирующее -logL:", best_p, " (тот же максимум правдоподобия)")

Вывод:

p минимизирующее -logL: 0.7  (тот же максимум правдоподобия)

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

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

Предположение о данныхMLE даёт потерюГде применяется
Ошибки нормальныMSE (средний квадрат)регрессия
Метки Бернулли (0/1)кросс-энтропия (log loss)классификация

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

Итог

  • MLE подбирает параметры, при которых наблюдаемые данные наиболее вероятны.
  • Для монеты MLE даёт долю успехов — здравая оценка оказывается оптимальной.
  • На практике максимизируют логарифм правдоподобия (сумма вместо произведения).
  • MSE и кросс-энтропия — это минус-логарифм правдоподобия при разных моделях шума; так MLE объединяет вероятность, потери и оптимизацию.
Проверьте себя
1. Что максимизирует метод максимального правдоподобия?
AЧисло параметров модели
BВероятность наблюдаемых данных как функцию параметров
CСкорость обучения
DРазмер выборки
2. Почему на практике работают с логарифмом правдоподобия?
AЛогарифм увеличивает значения
BОн превращает произведение вероятностей в сумму, что удобнее и численно устойчивее, а максимум остаётся там же
CБез него нельзя посчитать вероятность
DЛогарифм меняет положение максимума на лучшее
3. Как MSE и кросс-энтропия связаны с максимальным правдоподобием?
AНикак не связаны
BЭто минус-логарифм правдоподобия при разных предположениях: нормальный шум → MSE, метки Бернулли → кросс-энтропия
CОни всегда дают одинаковый результат
DОни не являются функциями потерь
Поддержать проект