Новости и статьи об искусственном интеллекте и нейросетях. Мы собираем и обрабатываем самую актуальную информацию из мира AI. О проекте

Статьи

10 концепций вероятности в машинном обучении: простое объяснение

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

14 часов назад
4 мин
25
10 концепций вероятности для машинного обучения — простое объяснение

Введение в вероятностные концепции

Многие поначалу считают теорию вероятностей скучной обязаловкой — чем-то, что нужно выучить, прежде чем перейти к интересному. Однако позже становится ясно: вероятность не просто фундамент, а двигатель машинного обучения. Почти ни одна модель не даёт стопроцентной уверенности. Это кошка на фото? Скорее всего. Мошенническая транзакция или просто кто-то купил носки в два часа ночи? Трудно сказать. Языковая модель не знает, какое слово вы введёте следующим, и не делает вид, что знает. Она распределяет вероятности по вариантам и предлагает наиболее вероятный. Когда это осознаёшь, многое перестаёт быть заучиванием. Чтобы разобраться, не нужна диссертация по статистике — достаточно примерно десяти идей. Вот они, в простом изложении.

1. Случайные величины

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

По соглашению случайные величины обозначают заглавными буквами, например X и Y, а конкретные наблюдаемые значения — строчными: x и y.

Для спам-классификатора метку можно записать так:

\[ Y = \begin{cases} 1 & \text{если письмо — спам} \\ 0 & \text{если не спам} \end{cases} \]

Y бинарна. Пока вы не прочитали письмо, она может быть любой. Как только метка присвоена, загадка исчезает — остаётся просто число.

В обучении с учителем стандартная пара — X для входных признаков и Y для целевой переменной, и модель пытается оценить:

\[ P(Y \mid X) \]

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

Передайте ей слова, отправителя, подозрительные ссылки, и она может ответить:

\[ P(Y = 1 \mid X = x) = 0.92 \]

То есть модель на 92% уверена, что это спам. Не абсолютно, но достаточно.

2. Распределения вероятностей

Итак, переменная может принимать разные значения. Встаёт естественный вопрос: какие значения и как часто? Полная картина — это распределение вероятностей.

Основное правило простое. Для дискретных величин сумма вероятностей должна равняться единице, не больше и не меньше:

\[ \sum_x P(X=x) = 1 \]

Для непрерывных — площадь под кривой равна единице:

\[ \int_{-\infty}^{\infty} p(x)\,dx = 1 \]

Разные данные описываются разными распределениями. Дихотомия вроде «спам/не спам» — это распределение Бернулли:

\[ Y \sim \text{Bernoulli}(p) \]

где \(p\) — вероятность единицы. Например, если

\[ P(Y = 1) = 0.3 \]

то

\[ P(Y = 0) = 0.7 \]

и всё.

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

\[ X \sim \mathcal{N}(\mu, \sigma^2) \]

где:

  • \(\mu\) — среднее,
  • \(\sigma^2\) — дисперсия.

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

\[ p_\theta(y \mid x) \]

Здесь \(\theta\) обозначает параметры, изученные моделью в процессе обучения.

3. Математическое ожидание, дисперсия и стандартное отклонение

Представьте, что вы много раз повторяете эксперимент и записываете результаты. Какое значение вы ожидаете увидеть в среднем? Это среднее называют математическим ожиданием (или просто средним).

Для дискретной переменной:

\[ \mathbb{E}[X] = \sum_x xP(X=x) \]

Для непрерывной:

\[ \mathbb{E}[X] = \int x p(x)\,dx \]

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

Но среднее может обманывать. Две модели, у обеих средняя ошибка — $10 000. Одна почти всегда ошибается примерно на $10 000, другая — то на $1 000, то на $50 000. Среднее одинаковое, а поведение совершенно разное, и вам важно это знать до внедрения.

Здесь вступает дисперсия. Она измеряет разброс:

\[ \mathrm{Var}(X) = \mathbb{E}\left[(X - \mu)^2\right], \quad \mu = \mathbb{E}[X] \]

Квадратный корень из дисперсии — стандартное отклонение:

\[ \sigma = \sqrt{\mathrm{Var}(X)} \]

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

4. Условная вероятность

Модель почти никогда не задаёт вопрос без контекста. Она не спрашивает: «Какова вероятность, что письмо — спам?» Вместо этого: «Какова вероятность, что письмо — спам, учитывая известные нам данные?» Это «учитывая» и есть условная вероятность: шанс одного события при условии, что другое уже произошло.

\[ P(A \mid B) = \frac{P(A \cap B)}{P(B)} \]

Большинство классификаторов пытаются оценить именно:

\[ P(Y \mid X) \]

то есть вероятность метки при наблюдаемых признаках.

Например:

\[ P(\text{Спам} \mid \text{Письмо содержит "бесплатно"}) \]

означает вероятность того, что письмо — спам, если в нём есть слово «бесплатно».

Предположим, среди всех писем со словом «бесплатно» 80% оказываются спамом. Тогда:

\[ P(\text{Спам} \mid \text{содержит "бесплатно"})=0.8 \]

Заметьте, как условие меняет вероятность. В целом спамом могут быть лишь 20% писем, но появление признака «бесплатно» резко повышает эту оценку. Именно так модель делает предсказания: наблюдая признаки, она постоянно обновляет оценку каждого возможного исхода.

5. Теорема Байеса

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

\[ P(A \mid B)=\frac{P(B \mid A)P(A)}{P(B)} \]

В ней четыре важные величины:

  • \(P(A)\) — априорная вероятность (наше исходное убеждение);
  • \(P(B \mid A)\) — насколько вероятно увидеть признак B, если A истинно;
  • \(P(B)\) — насколько вообще распространён признак B;
  • \(P(A \mid B)\) — апостериорная вероятность, обновлённое убеждение после учёта признака.

Вернёмся к спаму. Пусть A — «письмо — спам», B — «содержит слово бесплатно». Тогда теорема Байеса запишется как:

\[ P(\text{Спам} \mid \text{"бесплатно"})= \frac{ P(\text{"бесплатно"} \mid \text{Спам})P(\text{Спам}) }{ P(\text{"бесплатно"}) } \]

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

6. Совместные, маргинальные и условные распределения

До сих пор мы рассматривали переменные по отдельности. Но в машинном обучении часто важно, как несколько переменных связаны друг с другом. При создании спам-фильтра можно отслеживать сразу два факта: содержит ли письмо ссылку и является ли оно спамом. Эти события не независимы. Совместное распределение показывает вероятность их одновременного наступления:

\[ P(X, Y) \]

Если \(X\) — «есть ссылка», \(Y\) — «спам», то

\[ P(X=\text{ссылка},\, Y=\text{спам}) \]

— вероятность, что оба события произойдут вместе.

Иногда нас интересует только одна переменная, а от другой хочется избавиться. Тогда берут маргинальное распределение, суммируя по всем значениям игнорируемой переменной:

\[ P(X) = \sum_y P(X, y) \]

То есть перебирают все возможные \(Y\), оставляя только \(X\).

Условное распределение нам уже знакомо и выражается через совместное:

\[ P(Y \mid X) = \frac{P(X, Y)}{P(X)} \]

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

Теперь интересный момент — независимость. Две переменные независимы, если знание одной ничего не говорит о другой:

\[ P(X, Y) = P(X)\,P(Y) \]

В таком случае они вообще не влияют друг на друга.

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

\[ P(x_1, x_2, \dots, x_d \mid y) = \prod_{j=1}^{d} P(x_j \mid y) \]

Честно говоря, это неправда. Слова в предложении глубоко взаимосвязаны. Однако наивный Байес удивительно хорошо работает, особенно на текстах. Это тот случай, когда неверное предположение всё равно приводит к верному результату.

7. Правдоподобие и метод максимального правдоподобия

При обучении модели машинного обучения мы задаём простой вопрос: насколько хорошо параметры модели объясняют наблюдаемые данные? Ответ даёт правдоподобие.

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

Пусть модель с параметрами \(\theta\) предсказывает вероятности исходов:

\[ p_\theta(y_i \mid x_i) \]

Для набора из \(n\) независимых примеров правдоподобие равно:

\[ \mathcal{L}(\theta) = \prod_{i=1}^{n} p_\theta(y_i \mid x_i) \]

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

Отсюда возникает стратегия обучения — метод максимального правдоподобия (ММП). Идея проста: выбрать такие параметры, чтобы наблюдаемые данные были максимально вероятны. Математически:

\[ \hat{\theta}_{\text{MLE}} = \arg\max_\theta \mathcal{L}(\theta) \]

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

\[ \log \mathcal{L}(\theta) = \sum_{i=1}^{n} \log p_\theta(y_i \mid x_i) \]

Так и считать проще, и оптимизация устойчивее.

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

8. Выборки, закон больших чисел и центральная предельная теорема

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

Выборочное среднее:

\[ \bar{X} = \frac{1}{n} \sum_{i=1}^{n}X_i \]

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

\[ \bar{X}_n \rightarrow \mathbb{E}[X] \]

Именно поэтому средние, вычисленные по большим и репрезентативным наборам данных, надёжнее, чем по маленьким.

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

\[ \bar{X} \approx \mathcal{N} \left( \mu, \frac{\sigma^2}{n} \right) \]

Стандартная ошибка среднего:

\[ \frac{\sigma}{\sqrt{n}} \]

Обратите внимание: с ростом \(n\) знаменатель увеличивается, а неопределённость уменьшается. Грубо говоря, чем больше выборка, тем стабильнее оценки.

И это не академическая trivia. Мини-пакетный градиентный спуск оценивает градиент по случайной горстке примеров. A/B-тесты делают выводы о поведении на основе выборок. Валидационные наборы предсказывают будущее по отложенной части. Пугающе большая доля машинного обучения работает только потому, что эти теоремы позволяют доверять части как представителю целого.

9. Энтропия, кросс-энтропия и дивергенция Кульбака-Лейблера

Не все распределения вероятностей одинаково неопределённы. Сравните два предсказания:

\[ [0.99, 0.01] \]

и

\[ [0.50, 0.50] \]

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

Эту неопределённость измеряют энтропией. Для дискретного распределения \(p\):

\[ H(p) = -\sum_x p(x)\log p(x) \]

Низкая энтропия означает высокую уверенность, высокая — сильную неопределённость.

В машинном обучении часто нужно сравнивать прогнозы модели с правильными ответами. Здесь вступает кросс-энтропия. Она показывает, насколько хорошо предсказанное распределение \(q\) соответствует целевому \(p\):

\[ H(p,q) = -\sum_x p(x)\log q(x) \]

В задачах классификации целевое распределение обычно задают one-hot кодировкой. Пусть истинный класс:

\[ y=[1,0] \]

а модель выдала:

\[ \hat{y}=[0.9,0.1] \]

Тогда кросс-энтропийная ошибка:

\[ -\log(0.9) \]

— относительно небольшая. Если же модель предсказывает:

\[ \hat{y}=[0.01,0.99] \]

то ошибка:

\[ -\log(0.01) \]

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

Другое близкое понятие — дивергенция Кульбака-Лейблера (KL). Она измеряет, насколько одно распределение отличается от другого:

\[ D_{\text{KL}}(p \parallel q) = \sum_x p(x) \log \frac{p(x)}{q(x)} \]

Нулевая KL-дивергенция означает идентичность распределений; чем больше значение, тем сильнее различие.

KL-дивергенция и кросс-энтропия связаны:

\[ H(p,q) = H(p) + D_{\text{KL}}(p \parallel q) \]

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

10. Калибровка и предсказательная неопределённость

Когда модель заявляет: «Я уверена на 95%», стоит ли ей верить?

Этот вопрос приводит к понятию калибровки. Калибровка показывает, насколько вероятностные оценки модели соответствуют реальности.

Для хорошо откалиброванного бинарного классификатора:

\[ P(Y=1 \mid \hat{P}=p) \approx p \]

Допустим, модель сделала 100 предсказаний с уверенностью 80% каждое. Если она откалибрована, примерно 80 из них окажутся верными. В целом модель может быть точной, но плохо откалиброванной. Например, заявляет 99% уверенности, а правильно предсказывает лишь в 75% случаев — это переуверенная модель.

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

Один из распространённых показателей калибровки — Brier Score:

\[ \text{Brier Score} = \frac{1}{n} \sum_{i=1}^{n} (\hat{p}_i-y_i)^2 \]

где \(\hat{p}_i\) — предсказанная вероятность, \(y_i\) — истинная метка.

Заключительные мысли

Вероятность — не просто вспомогательная тема в машинном обучении. Она объясняет многое из того, что модели делают «под капотом».

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

Горячее

Загружаем популярные статьи...