Вероятность

Дискретные распределения

Бернулли, биномиальное, категориальное, мультиномиальное и Пуассона — и что каждое из них моделирует

Шаг 40 из 117 · ~28 мин

Бернулли: одно испытание

P(X=1)=p,P(X=0)=1pP(X = 1) = p, \qquad P(X = 0) = 1 - p

E[X]=p,Var(X)=p(1p)E[X] = p, \qquad \operatorname{Var}(X) = p(1-p)

Ожидание совпадает с pp по определению, а дисперсия максимальна при p=0.5p = 0.5 и равна 0.250.25 — та же парабола t(1t)t(1-t), что была максимумом производной сигмоиды в блоке 2. Совпадение не случайно: сигмоида и есть параметризация вероятности Бернулли, а её производная — дисперсия.

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

Биномиальное: сумма испытаний

P(X=k)=(nk)pk(1p)nk,E[X]=np,Var(X)=np(1p)P(X = k) = \binom{n}{k}p^k(1-p)^{n-k}, \qquad E[X] = np, \qquad \operatorname{Var}(X) = np(1-p)

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

Биномиальный коэффициент в коде считать через факториалы не нужно: n!n! переполняет double уже при n=171n = 171. Умножайте нарастающим произведением i<knii+1\prod_{i<k} \frac{n-i}{i+1} или считайте в log-пространстве. Это тот же приём, что в блоке 6 будет называться вычислениями в log-space.

Категориальное и мультиномиальное

Категориальное — обобщение Бернулли на KK исходов: вектор вероятностей π\boldsymbol{\pi} с kπk=1\sum_k \pi_k = 1. Именно это распределение выдаёт softmax, и именно с ним сравнивается ответ в кросс-энтропии.

Стоит отметить, что из-за нормировки у категориального распределения K1K-1 свободных параметров, а не KK — та же лишняя степень свободы, которую мы видели как инвариантность softmax к сдвигу.

Мультиномиальное — сколько раз каждый исход встретился за nn испытаний. Биномиальное это его частный случай при K=2K = 2. Встречается в bag-of-words моделях и в наивном Байесе для текстов.

Пуассона: редкие события

P(X=k)=λkeλk!,E[X]=Var(X)=λP(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}, \qquad E[X] = \operatorname{Var}(X) = \lambda

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

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

Пуассона получается как предел биномиального при nn \to \infty, p0p \to 0, npλnp \to \lambda. Проверьте: возьмите биномиальное с n=30n = 30 и малым pp, потом Пуассона с λ=np\lambda = np, и сравните формы.

p 0.3

вероятности P(X = k)

F(x) = P(X ≤ x)

отметка k 0.5
E[X]
0.3
Var(X)
0.21
P(X ≤ k)
0.7
Дисперсия p(1−p) максимальна при p = 0.5 и равна 0.25. Это та же парабола, что задаёт максимум производной сигмоиды, — и по той же причине.

Переключитесь между биномиальным (n=30n = 30, p=0.1p = 0.1) и Пуассона (λ=3\lambda = 3): столбики почти совпадают. Дисперсии при этом различаются — 2.72.7 против 33, и множитель (1p)(1-p) показывает, насколько приближение недооценивает разброс.

Сводка

распределениечто моделируетсреднеедисперсия
Бернулли(pp)одно да/нетppp(1p)p(1-p)
Бином(n,pn,p)число успеховnpnpnp(1p)np(1-p)
Категориальное(π\boldsymbol{\pi})один из KK
Мультиномиальноесчётчики по KKnπkn\pi_knπk(1πk)n\pi_k(1-\pi_k)
Пуассона(λ\lambda)редкие событияλ\lambdaλ\lambda

Где это в машинном обучении

  • Бернулли — бинарная классификация; логистическая регрессия это MLE для неё, и мы выведем это в уроке про MLE;
  • категориальное — многоклассовая классификация, выход softmax, и распределение следующего токена в языковой модели;
  • мультиномиальное — bag-of-words, наивный Байес для текста;
  • Пуассона — счётные данные: клики, отказы, число событий в окне.

Общая мысль, к которой вернёмся в уроке про экспоненциальное семейство: все эти распределения — члены одного семейства, и потому все связанные с ними лоссы имеют одинаковую структуру. Кросс-энтропия для Бернулли и для категориального — не два разных изобретения, а одна формула.

Источники

Проверки

0 из 2
  1. Какое распределение брать

    Отметьте все верные утверждения.

  2. Биномиальная вероятность без факториалов

    Реализуйте binomial_pmf(n, p, k) — вероятность ровно k успехов в n испытаниях:

    P(X=k)=(nk)pk(1p)nkP(X = k) = \binom{n}{k}p^k(1-p)^{n-k}

    Не считайте факториалы. Стройте коэффициент нарастающим произведением:

    (nk)=i=0k1nii+1\binom{n}{k} = \prod_{i=0}^{k-1} \frac{n-i}{i+1}

    Каждый множитель здесь порядка единицы, поэтому переполнения не возникает даже при больших n, тогда как n!n! выходит за пределы double уже при n=171n = 171. Это первый пример общего приёма: перегруппировать вычисление так, чтобы промежуточные величины оставались умеренными.

    Для k < 0 или k > n верните 0.

    функция binomial_pmf

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

    Ctrl/⌘ + Enter