Условная вероятность 🎯
Открой любую модель машинного обучения — логистическую регрессию, градиентный бустинг, свёрточную сеть, распознающую опухоли на снимке, или GPT, дописывающую твою фразу. Загляни ей внутрь и спроси: что именно она возвращает? Не «класс», не «ответ», не «решение». Она возвращает число от нуля до единицы, и у этого числа есть точное математическое имя: $P(y \mid x)$ — вероятность того, что метка равна $y$, при условии что на вход подан объект $x$.
Вот и всё. Весь машинный обучение — это гигантская индустрия по оцениванию условных вероятностей. Спам-фильтр оценивает $P(\text{спам} \mid \text{текст письма})$. Скоринговая модель банка — $P(\text{дефолт} \mid \text{анкета заёмщика})$. Рекомендательная система — $P(\text{клик} \mid \text{пользователь, товар})$. Языковая модель — $P(\text{следующее слово} \mid \text{всё, что уже написано})$. Меняются данные, архитектуры, названия конференций — а математический объект под капотом остаётся один и тот же, и определяется он одной короткой формулой, которую мы разберём в этом уроке.
При этом условная вероятность — самая коварная вещь во всей элементарной теории вероятностей. Именно здесь интуиция ломается чаще всего: здесь живут парадокс Монти Холла, из-за которого в 1990 году тысячи людей (включая профессиональных математиков) публично опозорились в американской прессе; задача о двух детях, где ответ меняется от одного лишнего слова в условии; и парадокс Симпсона, из-за которого твоя модель может быть лучше конкурента в каждой группе пользователей и одновременно хуже него в целом. Все три ловушки — не софистика, а живые производственные грабли: на них наступают дата-сайентисты каждый день, когда усредняют метрики по сегментам.
Давай разберёмся по-настоящему: что значит «при условии», почему деление на $P(B)$ — не формальный трюк, а буквальная перенормировка мира, как из одного определения вырастает цепное правило, на котором стоит вся авторегрессионная генерация текста, и почему «независимость» в теории вероятностей определяется совсем не так, как её понимает бытовая интуиция.
🎯 Ты узнаешь:
- Что такое $P(A \mid B) = \dfrac{P(A \cap B)}{P(B)}$ и почему это буквально «сужение вселенной до события $B$»
- Как теорема умножения разворачивается в цепное правило $P(w_1 \dots w_n) = \prod_i P(w_i \mid w_{
- Почему независимость $P(A \mid B) = P(A)$ — лучшее определение, чем любое «интуитивное», и чем условная независимость отличается от обычной
- Как честно, с явными предположениями, решается парадокс Монти Холла и почему задача о двух детях не имеет единственного ответа
- Почему парадокс Симпсона — это не курьёз, а реальная ловушка при агрегировании ML-метрик по группам
История: откуда это взялось?
Идея «вероятности при условии» появилась задолго до того, как её записали формулой. Абрахам де Муавр в трактате «The Doctrine of Chances» (первое издание — 1718 год) уже свободно рассуждал в духе: «вероятность того, что произойдут два события подряд, равна вероятности первого, умноженной на вероятность второго, вычисленную в предположении, что первое уже наступило». Это в точности теорема умножения — только словами, без символов. Де Муавр решал задачи азартных игроков про вытягивание карт без возвращения, где каждое следующее извлечение очевидно зависит от предыдущего: колода-то уменьшилась.
Следующий шаг сделал преподобный Томас Байес — пресвитерианский священник и математик-любитель. Его знаменитый «Essay Towards Solving a Problem in the Doctrine of Chances» был прочитан в Королевском обществе Ричардом Прайсом в 1763 году, через два года после смерти автора. Байеса интересовал обратный вопрос: не «какова вероятность данных при известной причине», а «какова вероятность причины при наблюдаемых данных». Чтобы поставить этот вопрос, ему пришлось аккуратно определить, что вообще значит «вероятность одного события при условии другого». Независимо и чуть позже к тем же идеям пришёл Пьер-Симон Лаплас, который в «Théorie analytique des probabilités» (1812) придал всему аппарату современный вид и применил его к астрономии, демографии и судебной статистике.
Но окончательную точку поставил Андрей Николаевич Колмогоров в 1933 году в книге «Grundbegriffe der Wahrscheinlichkeitsrechnung» («Основные понятия теории вероятностей»). Он сделал неожиданный ход: перестал пытаться объяснить, что такое условная вероятность, и просто определил её как отношение $P(A \cap B) / P(B)$. Не теорема, не следствие — определение. Всё остальное (теорема умножения, формула полной вероятности, формула Байеса) стало из него выводиться в две строки. Это классический приём современной математики: то, что интуитивно кажется сложным понятием, объявляется коротким определением, а вся сложность переезжает в проверку того, что определение ведёт себя правильно.
А сегодня эта конструкция — рабочий инструмент индустрии. Когда в 1948 году Клод Шеннон в «A Mathematical Theory of Communication» оценивал вероятность следующей буквы английского текста при условии предыдущих, он строил первую в истории языковую модель — ровно ту же цепочку условных вероятностей, что сегодня считает трансформер с сотнями миллиардов параметров. Между Шенноном и GPT — семьдесят с лишним лет инженерии, но математический объект не изменился ни на йоту.
Сужение мира: что вообще значит «при условии»
Интуиция
Представь, что ты бросаешь обычный игральный кубик. Вероятность выпадения шестёрки — $1/6$, тут спорить не о чем: шесть равновозможных исходов, один благоприятный.
А теперь кто-то, кто уже видел результат, говорит тебе: «Выпало чётное число». Он не назвал само число — только сообщил факт. Изменилась ли твоя оценка шансов на шестёрку?
Конечно, изменилась. Мир сжался. Раньше в игре были исходы $\{1, 2, 3, 4, 5, 6\}$, теперь остались только $\{2, 4, 6\}$ — три штуки, по-прежнему равновозможные между собой. Шестёрка среди них одна. Значит, вероятность шестёрки стала $1/3$ — вдвое больше, чем была.
Вот это и есть вся идея условной вероятности: новая информация не меняет мир, она сужает пространство рассматриваемых исходов и заставляет перенормировать вероятности внутри того, что осталось.
Слово «перенормировать» тут ключевое. Смотри: исходы $\{2, 4, 6\}$ имели вероятности $1/6$ каждый, в сумме $1/2$ — а не единицу. Но условная вероятность обязана быть настоящей вероятностью, то есть сумма по всем оставшимся исходам должна давать ровно $1$. Значит, надо каждую вероятность разделить на суммарный «вес» выжившего куска, то есть на $P(B) = 1/2$. Получаем по $\frac{1/6}{1/2} = \frac{1}{3}$ на каждый из трёх исходов. Сумма — единица. Порядок.
Есть ещё одна полезная картинка. Представь пространство всех исходов как прямоугольный лист бумаги площадью 1, а события — как области на нём. Вероятность события = его площадь. Условие «произошло $B$» означает: возьми ножницы, вырежи область $B$ и объяви её новым листом. Но новый лист имеет площадь $P(B)$, а не 1 — значит, его надо отмасштабировать, растянуть до единичной площади. Все площади внутри при этом делятся на $P(B)$. Кусок события $A$, попавший внутрь $B$, — это $A \cap B$, его площадь $P(A \cap B)$, а после растяжения — $P(A \cap B)/P(B)$.
Определение: Пусть $B$ — событие с $P(B) > 0$. Условной вероятностью события $A$ при условии $B$ называется число
$$P(A \mid B) = \frac{P(A \cap B)}{P(B)}.$$Читается: «вероятность $A$ при условии $B$». Обозначение $A \cap B$ (пересечение) часто сокращают до $AB$.
Разберём формулу по частям, потому что каждый её элемент несёт смысл:
- Числитель $P(A \cap B)$ — это «сколько $A$ поместилось внутрь $B$». Не весь $A$, а только его часть, совместимая с известным фактом. Та часть $A$, что лежит вне $B$, отброшена: она противоречит информации, которую нам дали.
- Знаменатель $P(B)$ — это размер нового мира. Именно на него делим, чтобы новый мир получил вероятность $1$.
- Черта $\mid$ — это не деление и не «такое, что». Это указатель на то, что мы сменили точку отсчёта.
Проверим на кубике формально. $A = \{6\}$, $B = \{2,4,6\}$. Тогда $A \cap B = \{6\}$, $P(A \cap B) = 1/6$, $P(B) = 3/6 = 1/2$. Итого $P(A \mid B) = \frac{1/6}{1/2} = \frac{1}{3}$ — совпало с рассуждением «на пальцах». ✅
Почему требуется $P(B) > 0$
Условие $P(B) > 0$ в определении — не придирка педантов. Если $P(B) = 0$, деление просто не определено, и никакой доопределяющий трюк тут не спасает: любое число можно было бы объявить «условной вероятностью», и все свойства формально сохранились бы. Информация «произошло невозможное событие» логически противоречива — из неё, как известно из логики, следует что угодно.
Практический смысл этого ограничения такой: обусловливаться можно только на то, что ты реально можешь наблюдать с ненулевым шансом. Если ты строишь модель и делишь данные на группы, а в какой-то группе оказалось ноль объектов — метрика для неё не «равна нулю» и не «равна чему-то по умолчанию», она не существует. Любой код, который в этом месте возвращает $0$ или $0{,}5$, врёт. Правильное поведение — вернуть NaN или явно отказаться считать.
Отдельная тонкость возникает в непрерывном случае, и её стоит увидеть заранее. Если $X$ — непрерывная случайная величина, то $P(X = 3{,}7) = 0$ для любого конкретного значения. А ведь запись $p(y \mid x)$ в машинном обучении — это ровно обусловливание на конкретное значение признака! Как так? Дело в том, что там используется не эта формула, а её предельный аналог через плотности:
$$p(y \mid x) = \frac{p(x, y)}{p(x)}, \qquad p(x) = \int p(x, y)\, dy,$$где $p$ — плотности, а не вероятности, и требуется $p(x) > 0$, а не $P(X = x) > 0$. Это корректное обобщение, но получается оно предельным переходом, а не подстановкой нулей в дробь. Кстати, наивная попытка обусловиться на событие нулевой вероятности «в лоб» приводит к настоящему парадоксу Бореля — Колмогорова, где ответ зависит от того, каким именно предельным переходом ты пользовался. Так что осторожность с $P(B) > 0$ — не формальность.
Примеры с разбором
Пример 1 (простой): две кости, известна первая
Бросаем две игральные кости. Событие $A$ — «сумма очков не меньше $10$». Событие $B$ — «на первой кости выпало $5$». Найди $P(A)$ и $P(A \mid B)$.
Решение:
Шаг 1. Пространство исходов — все упорядоченные пары $(i, j)$, где $i, j \in \{1,\dots,6\}$. Всего $6 \cdot 6 = 36$ равновозможных исходов.
Шаг 2. Найдём $P(A)$. Сумма $\geq 10$ достигается парами: $(4,6), (5,5), (6,4), (5,6), (6,5), (6,6)$ — это $6$ исходов.
$$P(A) = \frac{6}{36} = \frac{1}{6}$$Шаг 3. Найдём $P(B)$. Первая кость равна $5$ в шести случаях: $(5,1), \dots, (5,6)$.
$$P(B) = \frac{6}{36} = \frac{1}{6}$$Шаг 4. Найдём $P(A \cap B)$ — первая кость $5$ и сумма $\geq 10$. Нужно $5 + j \geq 10$, то есть $j \geq 5$: подходят $(5,5)$ и $(5,6)$ — два исхода.
$$P(A \cap B) = \frac{2}{36} = \frac{1}{18}$$Шаг 5. Подставляем в определение:
$$P(A \mid B) = \frac{P(A \cap B)}{P(B)} = \frac{1/18}{1/6} = \frac{6}{18} = \frac{1}{3}$$Проверим наш ответ прямым счётом: если первая кость точно $5$, остались $6$ равновозможных исходов для второй, из них подходят $5$ и $6$ — то есть $2/6 = 1/3$ ✅
Ответ: $P(A) = \dfrac{1}{6}$, $P(A \mid B) = \dfrac{1}{3}$ — информация о первой кости удвоила шансы.
Пример 2 (средний): спам-фильтр и таблица сопряжённости
В обучающей выборке $1000$ писем, из них $300$ помечены как спам. Слово «выигрыш» встречается в $180$ письмах, и $150$ из них — спам. Найди $P(\text{спам})$, $P(\text{спам} \mid \text{слово «выигрыш»})$ и оцени, насколько сильный это признак.
Решение:
Шаг 1. Выпишем таблицу сопряжённости — это лучший способ не запутаться:
| Спам | Не спам | Всего | |
|---|---|---|---|
| Слово есть | 150 | 30 | 180 |
| Слова нет | 150 | 670 | 820 |
| Всего | 300 | 700 | 1000 |
Проверим арифметику: $180 - 150 = 30$ писем со словом и не спам; $300 - 150 = 150$ спамных писем без слова; $700 - 30 = 670$. Сумма всех клеток: $150 + 30 + 150 + 670 = 1000$ ✅
Шаг 2. Безусловная (априорная) вероятность спама:
$$P(S) = \frac{300}{1000} = 0{,}3$$Шаг 3. Условная вероятность. Событие $W$ — «слово есть», $P(W) = 180/1000 = 0{,}18$; $P(S \cap W) = 150/1000 = 0{,}15$.
$$P(S \mid W) = \frac{0{,}15}{0{,}18} = \frac{150}{180} = \frac{5}{6} \approx 0{,}833$$Шаг 4. Посчитаем и обратную сторону — что если слова нет:
$$P(S \mid \overline{W}) = \frac{150}{820} \approx 0{,}183$$Шаг 5. Сравним. Без информации — $30\%$. Со словом — $83{,}3\%$. Без слова — $18{,}3\%$. Отношение $P(S \mid W)/P(S) = 0{,}833/0{,}3 \approx 2{,}78$ — в терминологии рекомендательных систем и анализа ассоциативных правил эту величину называют lift, «подъём».
Ответ: $P(S) = 0{,}3$, $P(S \mid W) \approx 0{,}833$, lift $\approx 2{,}78$ — признак очень сильный.
📌 Обрати внимание: вся «магия» наивного байесовского классификатора, который десятилетиями работал в почтовых фильтрах, — это ровно такая таблица, посчитанная для каждого слова словаря.
Пример 3 (сложный): извлечение без возвращения
В коробке $12$ микросхем, из них $4$ бракованные. Наугад достают три штуки подряд без возвращения. Найди вероятность того, что третья окажется бракованной, при условии что первые две были годными.
Решение:
Шаг 1. Обозначим: $G_1, G_2$ — «первая (вторая) годная», $D_3$ — «третья бракованная». Нужно $P(D_3 \mid G_1 \cap G_2)$.
Шаг 2. Здесь удобнее рассуждать прямо через сужение мира, а не через дробь. Если первые две вынутые микросхемы были годными, то в коробке осталось $12 - 2 = 10$ штук, из которых годных $8 - 2 = 6$, а бракованных по-прежнему $4$.
Шаг 3. Все оставшиеся $10$ микросхем равновозможны для третьего извлечения:
$$P(D_3 \mid G_1 \cap G_2) = \frac{4}{10} = 0{,}4$$Шаг 4. Проверим наш ответ через определение, честно посчитав обе вероятности. Вероятность вытащить подряд «годная, годная, бракованная»:
$$P(G_1 \cap G_2 \cap D_3) = \frac{8}{12} \cdot \frac{7}{11} \cdot \frac{4}{10} = \frac{224}{1320}$$Вероятность «первые две годные»:
$$P(G_1 \cap G_2) = \frac{8}{12} \cdot \frac{7}{11} = \frac{56}{132} = \frac{560}{1320}$$Делим:
$$P(D_3 \mid G_1 \cap G_2) = \frac{224/1320}{560/1320} = \frac{224}{560} = \frac{2}{5} = 0{,}4 \ ✅$$Ответ: $0{,}4$. Для сравнения: безусловная вероятность брака была $4/12 \approx 0{,}333$ — информация о двух годных повысила риск для третьей.
Почему это важно
Формула $P(A \mid B) = P(A \cap B)/P(B)$ выглядит скромно, но именно она превращает теорию вероятностей из науки об азартных играх в науку о выводе. Безусловная вероятность отвечает на вопрос «как устроен мир вообще». Условная — на вопрос «как устроен мир вот здесь, при вот этих известных обстоятельствах». А любая практическая задача — медицинская диагностика, кредитный скоринг, распознавание объектов, антифрод — это всегда второй вопрос, никогда не первый. Врачу не нужна доля больных в популяции; ему нужна вероятность болезни у этого пациента с этими анализами.
Условная вероятность — это тоже вероятность
Интуиция
Когда мы «вырезали» кусок $B$ и растянули его до целого листа, мы не просто получили какое-то число. Мы получили новую полноценную вероятностную модель на том же самом наборе событий. И это не метафора: функция $Q(A) = P(A \mid B)$ при фиксированном $B$ удовлетворяет всем аксиомам вероятности до единой.
Почему это важно практически? Потому что это разрешает тебе применять к условным вероятностям все теоремы, которые ты уже знаешь, — сложение, вычитание противоположного, формулу включений-исключений — не доказывая их заново. Условная вероятность не «особый вид» вероятности, к которому нужны специальные правила. Это обычная вероятность в перенастроенном мире.
Утверждение: Пусть $P(B) > 0$. Тогда функция $Q(A) = P(A \mid B)$, определённая на всех событиях, является вероятностной мерой:
- $Q(A) \geq 0$ для любого $A$;
- $Q(\Omega) = 1$, где $\Omega$ — всё пространство исходов;
- если $A_1, A_2, \dots$ попарно несовместны, то $Q\left(\bigcup_i A_i\right) = \sum_i Q(A_i)$.
Разберём доказательство по шагам — оно короткое и очень поучительное.
Шаг 1 (неотрицательность). $Q(A) = \dfrac{P(A \cap B)}{P(B)}$. Числитель неотрицателен как вероятность, знаменатель строго положителен по условию. Значит, дробь неотрицательна. ✅
Шаг 2 (нормировка). Подставим $A = \Omega$. Так как $\Omega \cap B = B$:
$$Q(\Omega) = \frac{P(\Omega \cap B)}{P(B)} = \frac{P(B)}{P(B)} = 1 \ ✅$$Шаг 3 (аддитивность). Пусть $A_1, A_2, \dots$ попарно несовместны. Тогда события $A_1 \cap B, A_2 \cap B, \dots$ тоже попарно несовместны (пересечение с $B$ не может создать общих точек там, где их не было). Пользуемся аддитивностью исходной меры $P$:
$$Q\left(\bigcup_i A_i\right) = \frac{P\left(\left(\bigcup_i A_i\right) \cap B\right)}{P(B)} = \frac{P\left(\bigcup_i (A_i \cap B)\right)}{P(B)} = \frac{\sum_i P(A_i \cap B)}{P(B)} = \sum_i \frac{P(A_i \cap B)}{P(B)} = \sum_i Q(A_i) \ ✅$$Всё. Три строчки — и мы получили право пользоваться всем арсеналом.
Что из этого немедленно следует:
- $P(\overline{A} \mid B) = 1 - P(A \mid B)$ — противоположное событие ведёт себя как обычно
- $P(A \cup C \mid B) = P(A \mid B) + P(C \mid B) - P(A \cap C \mid B)$ — формула сложения работает
- $0 \leq P(A \mid B) \leq 1$ — условная вероятность всегда в границах
- $P(B \mid B) = 1$ и $P(\overline{B} \mid B) = 0$ — условие само по себе достоверно
- если $A \subset C$, то $P(A \mid B) \leq P(C \mid B)$ — монотонность сохраняется
Опасная асимметрия: по какую сторону черты стоит событие
А вот чего не следует — и это источник огромного количества ошибок:
$$P(A \mid \overline{B}) \neq 1 - P(A \mid B)$$$$P(A \mid B) \neq P(B \mid A)$$Разберёмся, почему. Свойства вероятностной меры работают по первому аргументу, тому, что стоит слева от черты. Условие справа от черты — это не событие внутри модели, это выбор самой модели. Меняя $B$ на $\overline{B}$, ты не «берёшь дополнение» — ты переезжаешь в совершенно другой мир, с другой нормировкой.
Числовой контрпример. Возьмём кубик. $A = \{6\}$, $B = \{2,4,6\}$ (чётное).
- $P(A \mid B) = \dfrac{1/6}{1/2} = \dfrac{1}{3}$
- $P(A \mid \overline{B}) = \dfrac{P(\{6\} \cap \{1,3,5\})}{P(\{1,3,5\})} = \dfrac{0}{1/2} = 0$
А $1 - P(A \mid B) = 2/3 \neq 0$. Вот и всё опровержение.
Вторая пара — $P(A \mid B)$ против $P(B \mid A)$ — ещё опаснее, потому что подмена происходит незаметно, прямо в естественном языке. Возьмём тот же кубик:
- $P(\text{чётное} \mid \text{шесть}) = 1$ — если выпала шестёрка, она точно чётная
- $P(\text{шесть} \mid \text{чётное}) = 1/3$
Разница — в три раза, а формулировки на слух почти неотличимы. В медицине эта путаница называется ошибкой прокурора: «вероятность такого совпадения ДНК у случайного человека — одна миллионная, значит вероятность невиновности подсудимого — одна миллионная». Это неправда: перепутаны $P(\text{совпадение} \mid \text{невиновен})$ и $P(\text{невиновен} \mid \text{совпадение})$, а связывает их формула Байеса, до которой мы доберёмся в уроке 232. Пока просто запомни: черта не симметрична, менять стороны местами нельзя.
В ML эта же ловушка сидит в паре метрик precision и recall. Обе — условные вероятности, но с противоположным обусловливанием:
$$\text{precision} = P(y = 1 \mid \hat{y} = 1), \qquad \text{recall} = P(\hat{y} = 1 \mid y = 1)$$Precision спрашивает: «из тех, кого модель обвинила, сколько виновны?». Recall: «из тех, кто виновен, скольких модель поймала?». Это разные числа, и они могут отличаться в десятки раз. Мы посчитаем конкретный пример в заданиях 15 и 29.
Почему это важно
Понимание, что $P(\cdot \mid B)$ — полноценная вероятность, экономит тебе половину работы: не нужно доказывать условные аналоги теорем. А понимание асимметрии по второму аргументу спасает от самой распространённой ошибки интерпретации в прикладной статистике. Между «доля больных среди тех, у кого положительный тест» и «доля положительных тестов среди больных» — пропасть, и в неё регулярно падают целые исследовательские статьи.
Теорема умножения и цепное правило
Интуиция
Определение условной вероятности можно прочитать «задом наперёд». Умножим обе части на $P(B)$:
$$P(A \cap B) = P(B) \cdot P(A \mid B)$$И тут же получаем рецепт для последовательных событий: вероятность того, что случатся оба, равна вероятности первого, умноженной на вероятность второго при условии первого.
Представь, что ты идёшь по коридору с дверями. Чтобы попасть в конечную комнату, надо пройти несколько дверей подряд. Вероятность пройти всю цепочку — произведение вероятностей открыть каждую дверь, но вероятность каждой следующей двери считается уже из той комнаты, где ты стоишь, а не из начала коридора. Это и есть цепное правило.
Определение (теорема умножения): Для любых событий $A$ и $B$ с $P(B) > 0$
$$P(A \cap B) = P(B) \cdot P(A \mid B) = P(A) \cdot P(B \mid A),$$причём второе равенство требует $P(A) > 0$.
Симметрия этой записи — не декорация. Именно из приравнивания двух правых частей через один шаг получится формула Байеса (урок 232). Пока просто отметим: одно и то же пересечение можно разложить двумя способами, и выбор способа — вопрос удобства.
Определение (цепное правило, chain rule): Для событий $A_1, A_2, \dots, A_n$ таких, что $P(A_1 \cap \dots \cap A_{n-1}) > 0$, верно
$$P(A_1 A_2 \dots A_n) = P(A_1) \cdot P(A_2 \mid A_1) \cdot P(A_3 \mid A_1 A_2) \cdot \ldots \cdot P(A_n \mid A_1 A_2 \dots A_{n-1}).$$Компактно: $\displaystyle P\left(\bigcap_{i=1}^{n} A_i\right) = \prod_{i=1}^{n} P\left(A_i \;\middle|\; \bigcap_{j
Разберём доказательство по шагам — это индукция, и она красивая.
Шаг 1 (база). При $n = 2$ формула превращается в теорему умножения $P(A_1 A_2) = P(A_1) P(A_2 \mid A_1)$, которая есть просто переписанное определение. ✅
Шаг 2 (переход). Пусть формула верна для $n-1$ событий. Обозначим $C = A_1 A_2 \dots A_{n-1}$. Применим теорему умножения к паре $C$ и $A_n$:
$$P(A_1 \dots A_n) = P(C \cap A_n) = P(C) \cdot P(A_n \mid C)$$Шаг 3. Теперь $P(C)$ раскрываем по предположению индукции — получается произведение первых $n-1$ множителей. Дописываем к нему $P(A_n \mid C) = P(A_n \mid A_1 \dots A_{n-1})$ — и получаем ровно требуемое. ✅
Шаг 4 (про условие). Требование $P(A_1 \dots A_{n-1}) > 0$ гарантирует, что все промежуточные условия имеют положительную вероятность: ведь $A_1 \supset A_1 A_2 \supset \dots$, вероятности убывают, и если самая маленькая положительна, то и все предыдущие тоже. Аккуратно и без дырок.
Примеры с разбором
Пример 4 (простой): три туза подряд
Из колоды в $36$ карт последовательно, без возвращения, вынимают три карты. Найди вероятность того, что все три — тузы.
Решение:
Шаг 1. Обозначим $A_i$ — «$i$-я карта туз». Нужно $P(A_1 A_2 A_3)$.
Шаг 2. Цепное правило:
$$P(A_1 A_2 A_3) = P(A_1) \cdot P(A_2 \mid A_1) \cdot P(A_3 \mid A_1 A_2)$$Шаг 3. Считаем множители, каждый раз глядя на «остаток колоды»:
- $P(A_1) = \dfrac{4}{36}$ — четыре туза из тридцати шести
- $P(A_2 \mid A_1) = \dfrac{3}{35}$ — один туз ушёл, карт стало $35$
- $P(A_3 \mid A_1 A_2) = \dfrac{2}{34}$
Шаг 4. Перемножаем:
$$P = \frac{4}{36} \cdot \frac{3}{35} \cdot \frac{2}{34} = \frac{24}{42840} = \frac{1}{1785} \approx 0{,}00056$$Проверим наш ответ комбинаторно: способов выбрать $3$ карты из $36$ — это $C_{36}^3 = \dfrac{36 \cdot 35 \cdot 34}{6} = 7140$; способов выбрать $3$ туза из $4$ — это $C_4^3 = 4$. Отношение: $4/7140 = 1/1785$ ✅
Ответ: $\dfrac{1}{1785} \approx 0{,}056\%$
Пример 5 (средний): вероятность фразы в языковой модели
Языковая модель оценивает вероятности следующего токена. Для фразы «модель предсказывает следующее слово» она выдала:
- $P(\text{«модель»}) = 0{,}004$
- $P(\text{«предсказывает»} \mid \text{«модель»}) = 0{,}05$
- $P(\text{«следующее»} \mid \text{«модель предсказывает»}) = 0{,}2$
- $P(\text{«слово»} \mid \text{«модель предсказывает следующее»}) = 0{,}6$
Найди вероятность всей фразы и её перплексию.
Решение:
Шаг 1. Цепное правило для последовательности токенов $w_1 w_2 w_3 w_4$:
$$P(w_1 w_2 w_3 w_4) = P(w_1) \cdot P(w_2 \mid w_1) \cdot P(w_3 \mid w_1 w_2) \cdot P(w_4 \mid w_1 w_2 w_3)$$Шаг 2. Подставляем:
$$P = 0{,}004 \cdot 0{,}05 \cdot 0{,}2 \cdot 0{,}6$$Шаг 3. Считаем аккуратно: $0{,}004 \cdot 0{,}05 = 0{,}0002$; далее $0{,}0002 \cdot 0{,}2 = 0{,}00004$; наконец $0{,}00004 \cdot 0{,}6 = 0{,}000024$.
$$P = 2{,}4 \cdot 10^{-5}$$Шаг 4. Перплексия — это геометрическое среднее «обратных вероятностей», то есть $\text{PP} = P^{-1/n}$ при $n = 4$:
$$\text{PP} = (2{,}4 \cdot 10^{-5})^{-1/4}$$Считаем через логарифм: $\log_{10}(2{,}4 \cdot 10^{-5}) = \log_{10} 2{,}4 - 5 \approx 0{,}380 - 5 = -4{,}620$. Делим на $4$ и меняем знак: $1{,}155$. Значит $\text{PP} \approx 10^{1{,}155} \approx 14{,}3$.
Ответ: $P \approx 2{,}4 \cdot 10^{-5}$, перплексия $\approx 14{,}3$.
📌 Именно поэтому в коде никогда не перемножают вероятности напрямую, а складывают логарифмы: произведение тысячи чисел вида $0{,}05$ мгновенно превращается в машинный ноль (arithmetic underflow). Стандартный приём — работать с $\log P = \sum_i \log P(w_i \mid w_{
Пример 6 (сложный): последовательный отбор с меняющимися условиями
На складе $20$ изделий: $12$ первого сорта, $6$ второго, $2$ брака. Контролёр берёт изделия по одному без возвращения, пока не встретит брак, но проверяет не более трёх. Найди вероятность того, что за три проверки брак так и не встретится, и вероятность того, что брак встретится ровно на третьей проверке.
Решение:
Шаг 1. Обозначим $H_i$ — «$i$-е изделие годное (не брак)», $D_i$ — «$i$-е бракованное». Годных всего $12 + 6 = 18$.
Шаг 2. Первое событие: $H_1 H_2 H_3$. По цепному правилу
$$P(H_1 H_2 H_3) = \frac{18}{20} \cdot \frac{17}{19} \cdot \frac{16}{18}$$Шаг 3. Сократим до умножения: $\dfrac{18}{20} \cdot \dfrac{17}{19} \cdot \dfrac{16}{18} = \dfrac{17 \cdot 16}{20 \cdot 19} = \dfrac{272}{380} = \dfrac{68}{95} \approx 0{,}7158$
Шаг 4. Второе событие: $H_1 H_2 D_3$.
$$P(H_1 H_2 D_3) = \frac{18}{20} \cdot \frac{17}{19} \cdot \frac{2}{18} = \frac{17 \cdot 2}{20 \cdot 19} = \frac{34}{380} = \frac{17}{190} \approx 0{,}0895$$Шаг 5. Проверим наш ответ на здравый смысл. Посчитаем ещё два оставшихся варианта: брак на первой проверке — $\dfrac{2}{20} = \dfrac{1}{10} = \dfrac{19}{190}$; брак на второй — $\dfrac{18}{20} \cdot \dfrac{2}{19} = \dfrac{36}{380} = \dfrac{18}{190}$. Сумма всех четырёх исходов:
$$\frac{68}{95} + \frac{17}{190} + \frac{19}{190} + \frac{18}{190} = \frac{136}{190} + \frac{54}{190} = \frac{190}{190} = 1 \ ✅$$Полная группа сошлась — значит, нигде не ошиблись.
Ответ: $P(\text{три годных подряд}) = \dfrac{68}{95} \approx 0{,}716$; $P(\text{брак ровно на третьей}) = \dfrac{17}{190} \approx 0{,}089$.
Почему это важно
Цепное правило — это, без преувеличения, самая используемая формула в современном ИИ. Любая авторегрессионная модель — GPT, Llama, Claude, любой генератор текста, кода, музыки или белковых последовательностей — устроена так: она разбивает вероятность длинной последовательности на произведение условных вероятностей отдельных токенов и учится предсказывать только один следующий шаг. Мы разберём это подробно в отдельном разделе ниже, но фундамент — вот эта формула, выведенная из определения условной вероятности за две строки индукции.
Независимость: почему «интуитивное» определение плохое
Интуиция
Спроси человека с улицы, что такое независимые события, и услышишь что-то вроде: «это когда одно никак не влияет на другое». Звучит разумно — и никуда не годится как математическое определение. Слово «влияет» подразумевает причинность, направление во времени, физический механизм. Ничего этого в вероятностной модели нет и быть не может: она оперирует только числами $P$.
Условная вероятность даёт точный смысл этой расплывчатой фразе. Событие $B$ «не влияет» на $A$ ровно тогда, когда знание о наступлении $B$ не меняет оценку шансов $A$:
$$P(A \mid B) = P(A)$$Вот теперь всё строго: никакой причинности, только сравнение двух чисел. Информация о $B$ бесполезна для предсказания $A$ — это и есть независимость.
Но у такой записи есть техническая проблема: она требует $P(B) > 0$, иначе левая часть не определена. Поэтому в качестве официального определения берут эквивалентную, но симметричную форму:
Определение: События $A$ и $B$ называются независимыми, если
$$P(A \cap B) = P(A) \cdot P(B).$$Если $P(B) > 0$, это равносильно $P(A \mid B) = P(A)$; если ещё и $P(A) > 0$ — то и $P(B \mid A) = P(B)$.
Проверим эквивалентность. Пусть $P(B) > 0$. Тогда
$$P(A \mid B) = P(A) \iff \frac{P(A \cap B)}{P(B)} = P(A) \iff P(A \cap B) = P(A) P(B)$$Все переходы — умножение и деление на положительное число $P(B)$, так что цепочка равносильна в обе стороны. ✅
Чем симметричная форма лучше:
- Она симметрична явно: из неё сразу видно, что независимость — свойство пары, а не «$B$ влияет на $A$». Никакого направления.
- Она работает при нулевых вероятностях: если $P(B) = 0$, то $P(A \cap B) = 0 = P(A) \cdot 0$, и любое событие независимо с невозможным. Формула не ломается.
- Она напрямую обобщается на любое число событий (см. ниже).
- Она вычислительно удобна: проверить одно равенство проще, чем считать условную вероятность.
Независимость трёх и более событий: ловушка
Здесь новичков ждёт неожиданность. Казалось бы, чтобы три события были независимы, достаточно проверить их попарно. Не достаточно.
Определение: События $A_1, \dots, A_n$ называются независимыми в совокупности, если для любого поднабора индексов $i_1 < i_2 < \dots < i_k$ выполнено
$$P(A_{i_1} \cap A_{i_2} \cap \dots \cap A_{i_k}) = P(A_{i_1}) \cdot P(A_{i_2}) \cdot \ldots \cdot P(A_{i_k}).$$Если равенство выполнено только для пар ($k = 2$), события называются попарно независимыми.
Для трёх событий это $2^3 - 3 - 1 = 4$ условия: три парных плюс одно тройное. И тройное не следует из парных — это показывает классический пример Сергея Натановича Бернштейна (1928).
Пример 7 (сложный): тетраэдр Бернштейна
Возьмём правильный тетраэдр (четыре грани). Раскрасим его так: одна грань целиком красная, вторая — синяя, третья — зелёная, а четвёртая содержит все три цвета сразу. Бросаем тетраэдр и смотрим на грань, на которую он упал.
События: $R$ — «на выпавшей грани есть красный», $B$ — «есть синий», $G$ — «есть зелёный». Проверь попарную независимость и независимость в совокупности.
Решение:
Шаг 1. Всего $4$ равновозможных исхода — четыре грани. Красный присутствует на двух гранях: чисто красной и трёхцветной. Значит
$$P(R) = \frac{2}{4} = \frac{1}{2}$$По симметрии $P(B) = P(G) = \dfrac{1}{2}$.
Шаг 2. Пересечение $R \cap B$ — грань, где есть и красный, и синий. Такая грань ровно одна — трёхцветная.
$$P(R \cap B) = \frac{1}{4}$$Шаг 3. Проверяем условие независимости для пары:
$$P(R) \cdot P(B) = \frac{1}{2} \cdot \frac{1}{2} = \frac{1}{4} = P(R \cap B) \ ✅$$По симметрии то же самое верно для пар $(R, G)$ и $(B, G)$. Все три пары независимы.
Шаг 4. Теперь тройное пересечение. $R \cap B \cap G$ — грань со всеми тремя цветами, снова одна:
$$P(R \cap B \cap G) = \frac{1}{4}$$А произведение:
$$P(R) P(B) P(G) = \frac{1}{2} \cdot \frac{1}{2} \cdot \frac{1}{2} = \frac{1}{8}$$Шаг 5. $\dfrac{1}{4} \neq \dfrac{1}{8}$ — условие нарушено.
Ответ: события попарно независимы, но не независимы в совокупности. Более того, тут видно и содержательно: зная, что есть красный и есть синий, ты уже точно знаешь, что грань трёхцветная, а значит зелёный тоже есть — $P(G \mid R \cap B) = 1$, а вовсе не $1/2$. Информация двух событий вместе даёт то, чего не даёт ни одно по отдельности.
📌 В машинном обучении этот эффект встречается постоянно: два признака по отдельности могут быть некоррелированы с целевой переменной, а вместе — предсказывать её идеально (классический пример — XOR). Именно поэтому отбор признаков «по одному, по корреляции с таргетом» — плохая стратегия.
Условная независимость: не то же самое
А теперь понятие, которое в ML важнее обычной независимости.
Определение: События $A$ и $B$ называются условно независимыми при условии $C$ (обозначение $A \perp B \mid C$), если при $P(C) > 0$
$$P(A \cap B \mid C) = P(A \mid C) \cdot P(B \mid C),$$что при $P(B \cap C) > 0$ равносильно $P(A \mid B \cap C) = P(A \mid C)$.
Читается так: «если мы уже знаем $C$, то дополнительное знание о $B$ ничего не добавляет к нашей оценке $A$».
Ключевой факт, который надо усвоить твёрдо:
Условная независимость НЕ следует из обычной, и обычная НЕ следует из условной. Это два логически независимых свойства.
Разберём оба направления на числах.
Пример 8 (средний): независимы, но условно зависимы («объяснение прочь»)
Бросаем две честные монеты. $A$ — «первая монета орёл», $B$ — «вторая монета орёл», $C$ — «выпал ровно один орёл».
Решение:
Шаг 1. Пространство: $\{\text{ОО}, \text{ОР}, \text{РО}, \text{РР}\}$, по $1/4$ каждый исход (первая буква — первая монета).
Шаг 2. Безусловная независимость $A$ и $B$:
$$P(A) = \frac{1}{2}, \quad P(B) = \frac{1}{2}, \quad P(A \cap B) = P(\text{ОО}) = \frac{1}{4} = \frac{1}{2} \cdot \frac{1}{2} \ ✅$$Независимы — как и ожидалось от двух отдельных монет.
Шаг 3. Теперь обусловимся на $C = \{\text{ОР}, \text{РО}\}$, $P(C) = 1/2$.
$$P(A \mid C) = \frac{P(\{\text{ОР}\})}{P(C)} = \frac{1/4}{1/2} = \frac{1}{2}, \qquad P(B \mid C) = \frac{P(\{\text{РО}\})}{P(C)} = \frac{1}{2}$$Шаг 4. А совместная условная:
$$P(A \cap B \mid C) = \frac{P(\{\text{ОО}\} \cap C)}{P(C)} = \frac{P(\varnothing)}{1/2} = 0$$Шаг 5. Сравниваем: $0 \neq \dfrac{1}{2} \cdot \dfrac{1}{2} = \dfrac{1}{4}$.
Ответ: $A$ и $B$ независимы, но условно зависимы при условии $C$. Более того, зависимость максимальная: зная $C$, знание $A$ полностью определяет $\overline{B}$.
📌 Этот эффект в байесовских сетях называется explaining away («объяснение прочь»): два независимых потенциальных объяснения становятся зависимыми, как только известно следствие. Если сигнализация сработала, и ты узнал, что был грабитель, вероятность землетрясения падает — грабитель «объяснил» тревогу. При этом сами по себе грабители и землетрясения совершенно независимы.
Пример 9 (средний): зависимы, но условно независимы (наивный Байес)
Модель определяет тональность отзыва. $Y$ — «отзыв положительный», $P(Y) = 0{,}5$. Признаки: $X_1$ — «в тексте есть слово отлично», $X_2$ — «есть слово рекомендую». Известно:
$$P(X_1 \mid Y) = 0{,}9, \quad P(X_1 \mid \overline{Y}) = 0{,}2, \quad P(X_2 \mid Y) = 0{,}8, \quad P(X_2 \mid \overline{Y}) = 0{,}1,$$и внутри каждого класса признаки условно независимы. Проверь, независимы ли $X_1$ и $X_2$ безусловно.
Решение:
Шаг 1. Разложим каждое событие по двум взаимоисключающим случаям $Y$ и $\overline{Y}$, пользуясь теоремой умножения (это уже подступ к формуле полной вероятности, которую мы формализуем в уроке 231):
$$P(X_1) = P(Y) P(X_1 \mid Y) + P(\overline{Y}) P(X_1 \mid \overline{Y}) = 0{,}5 \cdot 0{,}9 + 0{,}5 \cdot 0{,}2 = 0{,}45 + 0{,}10 = 0{,}55$$$$P(X_2) = 0{,}5 \cdot 0{,}8 + 0{,}5 \cdot 0{,}1 = 0{,}40 + 0{,}05 = 0{,}45$$Шаг 2. Совместная вероятность. Внутри класса признаки условно независимы, поэтому
$$P(X_1 \cap X_2 \mid Y) = 0{,}9 \cdot 0{,}8 = 0{,}72, \qquad P(X_1 \cap X_2 \mid \overline{Y}) = 0{,}2 \cdot 0{,}1 = 0{,}02$$$$P(X_1 \cap X_2) = 0{,}5 \cdot 0{,}72 + 0{,}5 \cdot 0{,}02 = 0{,}36 + 0{,}01 = 0{,}37$$Шаг 3. Проверяем независимость:
$$P(X_1) \cdot P(X_2) = 0{,}55 \cdot 0{,}45 = 0{,}2475$$Шаг 4. $0{,}37 \neq 0{,}2475$ — равенство не выполнено, и разрыв большой.
Ответ: $X_1$ и $X_2$ зависимы безусловно (слова «отлично» и «рекомендую» встречаются вместе чаще, чем случайно), но условно независимы при известной тональности. Именно это предположение и называется «наивным» в наивном байесовском классификаторе.
Как это понимать содержательно. Общая причина (тональность отзыва) порождает корреляцию между следствиями (словами). Как только причина известна, корреляция исчезает. Это зеркальное отражение эффекта explaining away из примера 8: там общее следствие создавало зависимость между причинами, здесь общая причина создаёт зависимость между следствиями. Оба эффекта — про одно и то же: зависимость и независимость живут не в событиях, а в том, что ты уже знаешь.
Почему это важно
Условная независимость — рабочая лошадка вероятностного моделирования. На ней стоят: наивный Байес (признаки условно независимы при известном классе), скрытые марковские модели, байесовские сети целиком, марковское свойство в цепях Маркова ($P(s_{t+1} \mid s_t, s_{t-1}, \dots) = P(s_{t+1} \mid s_t)$), а также вся идея латентных переменных в глубоком обучении: эмбеддинг — это попытка найти такое представление $z$, при условии которого наблюдаемые признаки становятся (почти) независимыми. Без этого предположения совместное распределение $100$ бинарных признаков потребовало бы $2^{100}$ чисел — больше, чем атомов в наблюдаемой Вселенной. С условной независимостью хватает $200$.
$P(y \mid x)$: то, что на самом деле выдаёт классификатор
Интуиция
Давай сформулируем прямо, без обиняков. Задача обучения с учителем — это задача оценивания условного распределения $P(y \mid x)$ по конечной выборке пар $(x_i, y_i)$.
Не «научить машину отличать кошек от собак». Не «найти закономерность». А приблизить одну конкретную функцию: сопоставление каждому объекту $x$ распределения вероятностей на множестве меток $y$.
Почему именно условное, а не совместное $P(x, y)$? Потому что тебе никогда не нужно генерировать объекты — тебе нужно отвечать на вопрос про уже данный объект. Пациент уже пришёл, письмо уже получено, снимок уже сделан. Распределение самих $x$ (какие бывают пациенты вообще) для принятия решения не нужно. Модели, которые учат $P(y \mid x)$ напрямую, называются дискриминативными (логистическая регрессия, бустинг, обычные нейросети-классификаторы); те, что учат $P(x, y)$ или $P(x \mid y)$ и потом разворачивают, — генеративными (наивный Байес, LDA, диффузионные модели). Первые почти всегда точнее в задачах классификации именно потому, что не тратят ёмкость на моделирование ненужной части.
Логистическая регрессия моделирует условную вероятность буквально
Возьмём самый прозрачный случай. Логистическая регрессия для бинарной задачи устроена так:
$$P(y = 1 \mid x) = \sigma(w^\top x + b) = \frac{1}{1 + e^{-(w^\top x + b)}}$$Здесь нет никакого «предсказания класса». Выход модели — число из интервала $(0, 1)$, которое интерпретируется как условная вероятность. А раз это вероятность, то автоматически
$$P(y = 0 \mid x) = 1 - \sigma(w^\top x + b)$$— и это как раз работает свойство $P(\overline{A} \mid B) = 1 - P(A \mid B)$, которое мы доказали выше.
Особенно красиво выглядит отношение шансов (odds). Поделим одну условную вероятность на другую:
$$\frac{P(y = 1 \mid x)}{P(y = 0 \mid x)} = \frac{\sigma(z)}{1 - \sigma(z)} = e^{z}, \quad \text{где } z = w^\top x + b$$Логарифмируем:
$$\ln \frac{P(y = 1 \mid x)}{P(y = 0 \mid x)} = w^\top x + b$$Вот теперь понятно, почему модель называется линейной: линейна не сама вероятность, а логарифм отношения условных вероятностей (логит). И отсюда сразу читается смысл коэффициентов: увеличение признака $x_j$ на единицу умножает шансы на $e^{w_j}$. Именно так интерпретируют логистическую регрессию в медицине и скоринге — «этот фактор увеличивает шансы в $1{,}8$ раза».
А функция потерь? Кросс-энтропия для одного объекта — это
$$\mathcal{L} = -\ln P(y_i \mid x_i)$$то есть буквально «минус логарифм условной вероятности правильного ответа». Минимизируя её по всей выборке, мы максимизируем $\prod_i P(y_i \mid x_i)$ — а это, по цепному правилу для независимых наблюдений, вероятность увидеть именно наши данные. Обучение классификатора = метод максимального правдоподобия для условного распределения. Ни больше ни меньше.
Пример 10 (средний): считаем условную вероятность руками
Модель оценивает вероятность оттока клиента. Признаки: $x_1$ — число обращений в поддержку за месяц, $x_2$ — стаж в годах. Обученные веса: $w = (1{,}2;\ -0{,}8)$, $b = -0{,}5$. Клиент: $x = (2;\ 1)$. Найди $P(\text{отток} \mid x)$ и шансы оттока.
Решение:
Шаг 1. Считаем линейную часть (логит):
$$z = w_1 x_1 + w_2 x_2 + b = 1{,}2 \cdot 2 + (-0{,}8) \cdot 1 + (-0{,}5) = 2{,}4 - 0{,}8 - 0{,}5 = 1{,}1$$Шаг 2. Применяем сигмоиду:
$$P(y = 1 \mid x) = \frac{1}{1 + e^{-1{,}1}}$$Шаг 3. $e^{-1{,}1} \approx 0{,}3329$. Тогда
$$P(y = 1 \mid x) \approx \frac{1}{1{,}3329} \approx 0{,}750$$Шаг 4. Шансы: $\dfrac{0{,}750}{0{,}250} = 3$. Проверим наш ответ: по формуле шансы должны равняться $e^{z} = e^{1{,}1} \approx 3{,}004$ ✅ (небольшое расхождение — от округления сигмоиды).
Шаг 5. Интерпретация коэффициента: каждое дополнительное обращение в поддержку умножает шансы оттока на $e^{1{,}2} \approx 3{,}32$; каждый год стажа — на $e^{-0{,}8} \approx 0{,}45$, то есть более чем вдвое снижает.
Ответ: $P(\text{отток} \mid x) \approx 0{,}75$, шансы $3 : 1$.
Порог классификации: где вероятность превращается в решение
Модель выдала $0{,}75$. Что делать? Ничего — до тех пор, пока не задан порог.
$$\hat{y} = \begin{cases} 1, & \text{если } P(y = 1 \mid x) \geq t \\ 0, & \text{иначе} \end{cases}$$Порог $t = 0{,}5$ выглядит «естественным», но естественен он только в одном очень частном случае: когда ошибки обоих типов стоят одинаково. В реальности это почти никогда не так.
Давай выведем оптимальный порог честно. Пусть $c_{FP}$ — цена ложной тревоги, $c_{FN}$ — цена пропуска. Обозначим $p = P(y = 1 \mid x)$. Ожидаемые потери:
- при решении $\hat{y} = 1$: с вероятностью $1 - p$ мы ошиблись ложной тревогой, потери $= (1-p) \, c_{FP}$
- при решении $\hat{y} = 0$: с вероятностью $p$ мы пропустили, потери $= p \, c_{FN}$
Выбираем $\hat{y} = 1$, когда это выгоднее:
$$(1 - p)\, c_{FP} < p \, c_{FN} \iff c_{FP} < p\,(c_{FN} + c_{FP}) \iff p > \frac{c_{FP}}{c_{FP} + c_{FN}}$$Определение: Оптимальный порог классификации при ценах ошибок $c_{FP}$ и $c_{FN}$ равен
$$t^{*} = \frac{c_{FP}}{c_{FP} + c_{FN}}.$$
Проверим на крайних случаях:
- $c_{FP} = c_{FN}$ — получаем $t^* = 1/2$, тот самый «естественный» порог
- пропуск в $9$ раз дороже ложной тревоги ($c_{FN} = 9 c_{FP}$) — получаем $t^* = \dfrac{1}{10} = 0{,}1$: срабатываем даже при $10\%$ вероятности. Так работают системы раннего обнаружения онкологии или мошеннических транзакций
- ложная тревога дороже ($c_{FP} = 4 c_{FN}$) — $t^* = \dfrac{4}{5} = 0{,}8$: тревожим только при сильной уверенности
Ключевой вывод, который стоит выписать отдельно: модель отвечает за число $P(y=1 \mid x)$, а порог — это уже не математика модели, а бизнес-решение. Одна и та же обученная модель с разными порогами даёт разные precision/recall, и именно перебор всех порогов рисует ROC-кривую. Модель не «ошибается» и не «права» — она сообщает степень уверенности, а решение принимает тот, кто знает цены ошибок.
Отсюда же — важность калибровки. Модель называется калиброванной, если среди объектов, которым она приписала $0{,}7$, действительно примерно $70\%$ положительных. Формально: $P(y = 1 \mid \hat{p}(x) = q) = q$. Обрати внимание — это опять условная вероятность, только обусловливаемся мы теперь на выход самой модели. Градиентный бустинг и SVM печально известны плохой калибровкой (выдают уверенности, смещённые к краям), поэтому их выходы прогоняют через Platt scaling или изотоническую регрессию. Логистическая регрессия калибрована почти автоматически — потому что её функция потерь и есть правдоподобие условного распределения.
Цепное правило как фундамент языковых моделей
Интуиция
Задача: научиться приписывать вероятность любому тексту. Например, чтобы отличать осмысленное от бессмысленного, чтобы генерировать продолжение, чтобы ранжировать варианты распознавания речи.
Проблема в лоб нерешаема. Пусть словарь — $50\,000$ токенов, а текст длиной $100$ токенов. Тогда возможных текстов $50\,000^{100} \approx 10^{469}$. Хранить таблицу вероятностей для них невозможно ни при каком развитии техники.
И тут в дело вступает цепное правило. Оно позволяет разложить одну невообразимо сложную вероятность в произведение обозримых кусочков:
$$P(w_1, w_2, \dots, w_n) = \prod_{i=1}^{n} P(w_i \mid w_1, \dots, w_{i-1}) = \prod_{i=1}^{n} P(w_i \mid w_{Теперь модели не нужно знать распределение на всех текстах. Ей нужно уметь только одно: по данному префиксу выдать распределение вероятностей на следующем токене — то есть вектор из $50\,000$ чисел, сумма которых равна $1$. Это и делает финальный softmax-слой трансформера.Разберём на конкретной фразе. Для «кот сел на коврик»:
$$P(\text{кот сел на коврик}) = P(\text{кот}) \cdot P(\text{сел} \mid \text{кот}) \cdot P(\text{на} \mid \text{кот сел}) \cdot P(\text{коврик} \mid \text{кот сел на})$$Каждый множитель — обычная условная вероятность, ровно в смысле нашего определения из начала урока. Никакой новой математики.
Что здесь особенно красиво
Цепное правило не просто удобно — оно гарантирует корректность. Возьми любой набор функций $q_i(w \mid \text{префикс})$, каждая из которых даёт неотрицательные числа с суммой $1$ по словарю. Перемножь их по цепному правилу. Получится корректное распределение вероятностей на всех последовательностях — сумма по всем текстам длины $n$ автоматически даст ровно $1$.
Проверим это на игрушечном примере. Словарь из двух токенов $\{a, b\}$, длина $2$. Пусть $q(a) = 0{,}6$, $q(b) = 0{,}4$; $q(a \mid a) = 0{,}7$, $q(b \mid a) = 0{,}3$; $q(a \mid b) = 0{,}2$, $q(b \mid b) = 0{,}8$. Считаем все четыре последовательности:
- $P(aa) = 0{,}6 \cdot 0{,}7 = 0{,}42$
- $P(ab) = 0{,}6 \cdot 0{,}3 = 0{,}18$
- $P(ba) = 0{,}4 \cdot 0{,}2 = 0{,}08$
- $P(bb) = 0{,}4 \cdot 0{,}8 = 0{,}32$
Сумма: $0{,}42 + 0{,}18 + 0{,}08 + 0{,}32 = 1{,}00$ ✅
Именно поэтому обучение авторегрессионной модели устроено так просто: достаточно на каждом шаге минимизировать кросс-энтропию одного токена, и «само собой» получится согласованная модель всего языка. Никаких дополнительных ограничений накладывать не надо — цепное правило делает работу за нас.
Как это выглядит в устройстве трансформера
- Маскированное внимание (causal mask). Чтобы $i$-й токен предсказывался только по $w_{
- Softmax на выходе. Логиты $z_1, \dots, z_V$ превращаются в $P(w_i = k \mid w_{
- Функция потерь. $\mathcal{L} = -\dfrac{1}{n}\sum_{i=1}^{n} \ln P(w_i \mid w_{
- Перплексия. $\text{PP} = \exp(\mathcal{L})$ — «эффективное число равновероятных вариантов», между которыми модель колеблется на каждом шаге. Перплексия $10$ означает: модель в среднем так же неуверена, как при честном выборе из десяти равновозможных слов.
- Генерация. Выбираем $w_1$ из $P(w_1)$, дописываем к префиксу, считаем $P(w_2 \mid w_1)$, выбираем, дописываем — и так далее. Это буквальное «прохождение по цепному правилу слева направо». Отсюда и слово авторегрессионная.
- Температура. При сэмплировании часто используют $P_T(k) \propto e^{z_k / T}$. При $T \to 0$ распределение схлопывается в argmax (жадная генерация), при $T = 1$ — исходное условное распределение модели, при $T > 1$ — сглаженное, более разнообразное. Температура не меняет модель, она искажает условное распределение на этапе выборки.
- Softmax на выходе. Логиты $z_1, \dots, z_V$ превращаются в $P(w_i = k \mid w_{
Почему разложение слева направо не единственное
Стоит отметить честно: цепное правило работает при любом порядке разложения. Можно писать
$$P(w_1 w_2 w_3) = P(w_3) \cdot P(w_2 \mid w_3) \cdot P(w_1 \mid w_2 w_3)$$и это будет столь же верно. Порядок «слева направо» выбран не математикой, а удобством: он совпадает с тем, как текст читается и порождается человеком, и позволяет генерировать продолжение. Модели вроде BERT используют другое разложение (предсказание замаскированных токенов по обеим сторонам), а диффузионные текстовые модели — вообще не последовательное. Математически все варианты законны; различаются они тем, какие условные вероятности легче выучить и что удобнее делать с готовой моделью.
Почему это важно
Когда следующий раз увидишь фразу «языковая модель просто предсказывает следующее слово», знай: за этой фразой стоит точная математика. Модель приближает набор условных вероятностей $P(w_i \mid w_{
Парадокс Монти Холла: где ломается интуиция
Постановка
Телеигра. Перед тобой три закрытые двери. За одной — автомобиль, за двумя другими — козы. Ты называешь дверь, скажем номер $1$. Ведущий, который знает, где что, открывает одну из оставшихся дверей — пусть номер $3$ — и там оказывается коза. Затем он предлагает: «Хочешь поменять свой выбор на дверь $2$?»
Менять или нет?
Подавляющее большинство людей отвечает: «без разницы, осталось две двери, шансы $50/50$». Когда Мэрилин вос Савант в 1990 году опубликовала в журнале Parade правильный ответ — менять, это даёт $2/3$ вместо $1/3$ — редакция получила около десяти тысяч писем с возражениями, из них примерно тысяча от людей с учёными степенями. Среди сомневавшихся был даже Пал Эрдёш, один из величайших математиков XX века: он согласился только после того, как ему показали компьютерную симуляцию. Кстати, впервые задачу опубликовал не вос Савант, а статистик Стив Селвин — в письме в The American Statistician в 1975 году.
Сначала — явные предположения
Вот главное, чему учит эта задача: условная вероятность не определена, пока не задана полная вероятностная модель. Спор 1990 года был во многом спором о том, какая модель имеется в виду. Выпишем предположения явно — без них у задачи нет однозначного ответа:
- Автомобиль изначально размещён за одной из трёх дверей равновероятно, по $1/3$.
- Ведущий всегда открывает дверь после твоего выбора — не иногда, не по настроению, а по правилам шоу.
- Ведущий никогда не открывает дверь с автомобилем — он знает расположение и открывает только козу.
- Ведущий никогда не открывает выбранную тобой дверь.
- Если у ведущего есть выбор (то есть автомобиль за твоей дверью, и обе оставшиеся с козами), он выбирает между ними равновероятно, с вероятностью $1/2$ каждую.
Только при всех пяти предположениях ответ равен $2/3$. Измени любое — и ответ изменится, мы это сейчас увидим.
Пример 11 (сложный): формальный расчёт Монти Холла
Пусть $C_i$ — «автомобиль за дверью $i$», $H_3$ — «ведущий открыл дверь $3$». Игрок выбрал дверь $1$. Найди $P(C_1 \mid H_3)$ и $P(C_2 \mid H_3)$.
Решение:
Шаг 1. Априорные вероятности из предположения 1:
$$P(C_1) = P(C_2) = P(C_3) = \frac{1}{3}$$Шаг 2. Найдём условные вероятности действия ведущего — это ключевой момент, здесь и живут все предположения.
- Если $C_1$ (машина за выбранной дверью): у ведущего обе двери $2$ и $3$ с козами, он выбирает равновероятно (предположение 5). Значит $P(H_3 \mid C_1) = \dfrac{1}{2}$.
- Если $C_2$ (машина за дверью $2$): ведущий не может открыть дверь $1$ (предположение 4) и не может открыть дверь $2$ (предположение 3). Остаётся только дверь $3$. Значит $P(H_3 \mid C_2) = 1$.
- Если $C_3$: там машина, открывать нельзя. $P(H_3 \mid C_3) = 0$.
Шаг 3. По теореме умножения считаем совместные вероятности:
$$P(C_1 \cap H_3) = \frac{1}{3} \cdot \frac{1}{2} = \frac{1}{6}$$$$P(C_2 \cap H_3) = \frac{1}{3} \cdot 1 = \frac{1}{3}$$
$$P(C_3 \cap H_3) = \frac{1}{3} \cdot 0 = 0$$
Шаг 4. Три случая несовместны и покрывают всё, поэтому
$$P(H_3) = \frac{1}{6} + \frac{1}{3} + 0 = \frac{1}{6} + \frac{2}{6} = \frac{3}{6} = \frac{1}{2}$$Шаг 5. Применяем определение условной вероятности:
$$P(C_1 \mid H_3) = \frac{P(C_1 \cap H_3)}{P(H_3)} = \frac{1/6}{1/2} = \frac{1}{3}$$$$P(C_2 \mid H_3) = \frac{P(C_2 \cap H_3)}{P(H_3)} = \frac{1/3}{1/2} = \frac{2}{3}$$Шаг 6. Проверим наш ответ: сумма $\dfrac{1}{3} + \dfrac{2}{3} + 0 = 1$ ✅ — полная группа сошлась.
Ответ: оставаться — $1/3$, менять — $2/3$. Менять вдвое выгоднее.
Почему интуиция ошибается
Вся суть в том, что открытие двери $3$ — не случайное событие. Ведущий не наугад ткнул пальцем: он действовал по правилам, зная расположение. И эти правила устроены несимметрично относительно твоей двери и остальных.
Смотри на числа из шага 2. Наблюдение «открылась дверь $3$» имело вероятность $1/2$ в мире, где машина за твоей дверью, и вероятность $1$ в мире, где машина за дверью $2$. Наблюдение вдвое «типичнее» для второго мира — вот второй мир и получает вдвое больший вес после перенормировки. Это и есть механика условной вероятности: сужение мира не сохраняет пропорции, если событие-условие по-разному вероятно в разных сценариях.
Другая формулировка того же: твоя дверь была выбрана до того, как поступила информация, и на неё правила ведущего не действуют — её вероятность заморожена на $1/3$ навсегда. А оставшиеся $2/3$, которые изначально были размазаны по двум дверям, после открытия одной из них целиком концентрируются на второй.
Усилитель интуиции: сто дверей. Представь $100$ дверей, за одной машина. Ты выбираешь дверь $1$ (шанс $1\%$). Ведущий, знающий расположение, открывает $98$ дверей из оставшихся — все с козами — и оставляет закрытой, скажем, дверь $37$. Будешь менять? Тут почти все отвечают «конечно да»: очевидно, что ведущий целенаправленно расчищал дорогу вокруг двери $37$. Твоя дверь так и стоит на $1\%$, дверь $37$ забрала себе $99\%$. Механика ровно та же, что при трёх дверях, просто эффект нагляднее.
Вариант «неосведомлённый ведущий» (Monty Fall)
Теперь сломаем предположение 3. Пусть ведущий не знает, где машина, и открывает одну из двух оставшихся дверей наугад. Нам повезло: там оказалась коза. Менять?
Шаг 1. Теперь $P(H_3 \mid C_1) = 1/2$, $P(H_3 \mid C_2) = 1/2$, $P(H_3 \mid C_3) = 1/2$ — ведущий одинаково слеп во всех мирах. Но теперь возможен исход «открылась машина», который в исходной задаче невозможен.
Шаг 2. Обозначим $K$ — «открылась дверь $3$ и там коза». Тогда
$$P(K \mid C_1) = \frac{1}{2}, \quad P(K \mid C_2) = \frac{1}{2}, \quad P(K \mid C_3) = 0$$Шаг 3. Совместные: $P(C_1 \cap K) = \dfrac{1}{3} \cdot \dfrac{1}{2} = \dfrac{1}{6}$; $P(C_2 \cap K) = \dfrac{1}{6}$; $P(C_3 \cap K) = 0$. Итого $P(K) = \dfrac{1}{3}$.
Шаг 4.
$$P(C_1 \mid K) = \frac{1/6}{1/3} = \frac{1}{2}, \qquad P(C_2 \mid K) = \frac{1}{2}$$Ответ варианта: здесь действительно $50/50$, и менять бессмысленно.
Вдумайся: внешне произошло ровно то же самое — ты выбрал дверь, открылась другая дверь с козой. А ответ другой: $2/3$ против $1/2$. Разница целиком в механизме порождения информации, которого ты не видишь на картинке. Это, пожалуй, главный урок всей задачи, и он прямо переносится в анализ данных: пропуски в датасете, отбор наблюдений, логика сбора выборки — всё это влияет на выводы не меньше самих чисел. Вопрос «как эти данные попали ко мне?» математически не менее важен, чем «что в этих данных написано».
Вариант «предвзятый ведущий»
Сломаем предположение 5. Пусть при наличии выбора ведущий открывает дверь $3$ с вероятностью $q$ (а дверь $2$ — с вероятностью $1 - q$). Повторим расчёт:
$$P(C_1 \cap H_3) = \frac{1}{3} q, \qquad P(C_2 \cap H_3) = \frac{1}{3}, \qquad P(H_3) = \frac{1}{3}(q + 1)$$$$P(C_1 \mid H_3) = \frac{q}{1 + q}, \qquad P(C_2 \mid H_3) = \frac{1}{1 + q}$$Проверим частные случаи:
- $q = 1/2$ (честный ведущий): $P(C_1 \mid H_3) = \dfrac{1/2}{3/2} = \dfrac{1}{3}$ ✅ — совпало с основным ответом
- $q = 1$ (ведущий при возможности всегда открывает третью): $P(C_1 \mid H_3) = \dfrac{1}{2}$ — менять бессмысленно
- $q = 0$ (ведущий при возможности никогда не открывает третью): $P(C_1 \mid H_3) = 0$ — менять надо обязательно, выигрыш гарантирован
Заметь: при любом $q$ вероятность выигрыша при смене $\dfrac{1}{1+q} \geq \dfrac{1}{2}$. Менять никогда не хуже — это верно даже без предположения 5. Но конкретное число $2/3$ требует именно честной монетки в голове у ведущего.
Задача о двух детях: как формулировка меняет ответ
Классика, которую придумал Мартин Гарднер в колонке Scientific American в 1959 году — и сам же потом признал, что задача сформулирована неоднозначно.
В семье двое детей. Известно, что хотя бы один из них — мальчик. Какова вероятность, что оба мальчики?
Пример 12 (сложный): четыре формулировки — четыре ответа
Решение:
Шаг 1. Строим модель. Считаем, что пол каждого ребёнка равновероятен и независим, и учитываем порядок рождения. Пространство исходов:
$$\Omega = \{\text{МM}, \text{МД}, \text{ДМ}, \text{ДД}\}$$Каждый исход имеет вероятность $1/4$ (первая буква — старший ребёнок).
Шаг 2. Версия A: «хотя бы один мальчик». Условие $B_A = \{\text{ММ}, \text{МД}, \text{ДМ}\}$, $P(B_A) = 3/4$. Событие $A = \{\text{ММ}\}$, $P(A \cap B_A) = 1/4$.
$$P(A \mid B_A) = \frac{1/4}{3/4} = \frac{1}{3}$$Шаг 3. Версия B: «старший ребёнок — мальчик». Теперь условие $B_B = \{\text{ММ}, \text{МД}\}$, $P(B_B) = 1/2$.
$$P(A \mid B_B) = \frac{1/4}{1/2} = \frac{1}{2}$$Шаг 4. Версия C: «вы встретили одного из детей случайно, и это мальчик». Здесь модель другая: сначала выбирается семья, потом наугад один из двух детей. Вероятность встретить мальчика: в семье ММ — $1$, в МД и ДМ — по $1/2$, в ДД — $0$.
$$P(\text{встретили мальчика}) = \frac{1}{4}\cdot 1 + \frac{1}{4}\cdot\frac{1}{2} + \frac{1}{4}\cdot\frac{1}{2} + 0 = \frac{1}{4} + \frac{1}{8} + \frac{1}{8} = \frac{1}{2}$$$$P(\text{ММ} \cap \text{встретили мальчика}) = \frac{1}{4} \cdot 1 = \frac{1}{4}$$$$P(\text{ММ} \mid \text{встретили мальчика}) = \frac{1/4}{1/2} = \frac{1}{2}$$Шаг 5. Версия D: «хотя бы один мальчик, родившийся во вторник». Самая контринтуитивная. Теперь исход ребёнка — пара (пол, день недели), всего $2 \cdot 7 = 14$ вариантов, а на двоих детей — $14 \cdot 14 = 196$ равновозможных исходов.
Считаем условие «хотя бы один мальчик-вторник» через дополнение. У одного ребёнка «не мальчик-вторник» — это $14 - 1 = 13$ вариантов. У двоих: $13 \cdot 13 = 169$. Значит благоприятных условию:
$$196 - 169 = 27$$Теперь пересечение с «оба мальчики». Оба мальчики — $7 \cdot 7 = 49$ комбинаций дней. Из них без единого вторника: $6 \cdot 6 = 36$. Значит с хотя бы одним вторником:
$$49 - 36 = 13$$$$P(\text{оба мальчики} \mid \text{есть мальчик-вторник}) = \frac{13}{27} \approx 0{,}481$$Ответ: A — $\dfrac{1}{3}$; B — $\dfrac{1}{2}$; C — $\dfrac{1}{2}$; D — $\dfrac{13}{27}$.
Что тут вообще происходит
Ответ прыгает от $1/3$ до $1/2$ и обратно, хотя «фактическое содержание» новости вроде бы одно и то же: в семье есть мальчик. Почему?
Потому что различаются события, на которые мы обусловливаемся, а не факты о мире.
- В версии A мы узнали свойство пары детей целиком («в этой паре встречается мальчик»). Это условие отсекает только исход ДД, оставляя три равновозможных, и лишь в одном из них оба мальчики.
- В версии B мы узнали свойство конкретного, заранее определённого ребёнка (старшего). Второй ребёнок остаётся полностью неопределённым — отсюда честная $1/2$.
- В версии C механизм получения информации был случайным, и он «отдаёт предпочтение» семьям с двумя мальчиками: в такой семье мальчика встретишь наверняка, а в смешанной — только с шансом $1/2$. Эта неравномерность как раз компенсирует эффект версии A.
- В версии D упоминание вторника кажется абсолютно бессмысленным — при чём тут день недели?! Но оно частично идентифицирует конкретного ребёнка, сдвигая задачу от версии A к версии B. Чем реже упомянутое свойство, тем ближе ответ к $1/2$: если бы вместо «вторника» была характеристика с вероятностью $1/1000$, ответ был бы почти ровно $1/2$.
Мораль для практика: словосочетание «известно, что» в задаче по теории вероятностей — не факт, а процедура получения информации. Пока ты не описал процедуру, задача не поставлена. Это ровно та же болезнь, что в Монти Холле, и та же, что в анализе данных: «в выборке 60% мужчин» означает совершенно разное в зависимости от того, как выборка собиралась.
Парадокс Симпсона: когда агрегирование врёт
Интуиция
Это самая практически опасная ловушка из всех трёх — потому что она возникает не в телешоу и не в головоломках, а в обычных дашбордах и отчётах о метриках.
Определение (парадокс Симпсона): Направление связи между двумя признаками, наблюдаемое в каждой группе по отдельности, может измениться на противоположное при объединении групп.
На языке условных вероятностей это выглядит так: может одновременно выполняться
$$P(A \mid B, C) > P(A \mid \overline{B}, C) \quad \text{и} \quad P(A \mid B, \overline{C}) > P(A \mid \overline{B}, \overline{C}),$$но при этом
$$P(A \mid B) < P(A \mid \overline{B}).$$Никакого противоречия в математике тут нет — все четыре числа считаются по разным моделям, и никакая теорема не обязывает их согласовываться. Противоречие живёт только в нашей привычке думать, что «в среднем» — это «везде понемногу».
Явление описал Эдвард Симпсон в 1951 году, но заметили его раньше: Карл Пирсон в 1899-м и Удни Юл в 1903-м. Иногда его называют «обращением Юла — Симпсона».
Пример 13 (сложный): две модели и парадокс Симпсона в метриках
Сравниваем две модели классификации на тестовой выборке. Выборка делится на два сегмента: «лёгкие» запросы и «сложные». Результаты:
| Сегмент | Модель A | Модель B |
|---|---|---|
| Лёгкие запросы | 95 из 100 | 940 из 1000 |
| Сложные запросы | 700 из 1000 | 68 из 100 |
Какая модель лучше?
Решение:
Шаг 1. Считаем точность по сегментам.
Лёгкие запросы:
$$\text{acc}_A = \frac{95}{100} = 0{,}95 = 95\%, \qquad \text{acc}_B = \frac{940}{1000} = 0{,}94 = 94\%$$Модель A лучше на $1$ п.п.
Шаг 2. Сложные запросы:
$$\text{acc}_A = \frac{700}{1000} = 0{,}70 = 70\%, \qquad \text{acc}_B = \frac{68}{100} = 0{,}68 = 68\%$$Модель A снова лучше, на $2$ п.п. Итак, A выигрывает в обоих сегментах.
Шаг 3. Теперь суммарная точность. Модель A:
$$\text{acc}_A = \frac{95 + 700}{100 + 1000} = \frac{795}{1100} \approx 0{,}7227 = 72{,}3\%$$Модель B:
$$\text{acc}_B = \frac{940 + 68}{1000 + 100} = \frac{1008}{1100} \approx 0{,}9164 = 91{,}6\%$$Шаг 4. Модель B выигрывает на 19 процентных пунктов. При том, что в каждом сегменте она проигрывает!
Шаг 5. Разбираемся, откуда взялся фокус. Обе модели тестировались на $1100$ объектах, но с совершенно разным составом:
- модель A: $9\%$ лёгких и $91\%$ сложных
- модель B: $91\%$ лёгких и $9\%$ сложных
Модель B почти целиком проверяли на простых примерах, модель A — на трудных. Итоговая цифра отражает не качество моделей, а состав тестовой выборки. Формально: суммарная точность — это взвешенное среднее посегментных точностей, где веса зависят от размеров групп:
$$\text{acc} = P(\text{лёгкий}) \cdot \text{acc}_{\text{лёгкий}} + P(\text{сложный}) \cdot \text{acc}_{\text{сложный}}$$Для A: $0{,}0909 \cdot 0{,}95 + 0{,}9091 \cdot 0{,}70 \approx 0{,}0864 + 0{,}6364 = 0{,}7227$ ✅ Для B: $0{,}9091 \cdot 0{,}94 + 0{,}0909 \cdot 0{,}68 \approx 0{,}8545 + 0{,}0618 = 0{,}9164$ ✅
Разные веса — разные ответы.
Шаг 6. Как посчитать честно. Уравняем веса — возьмём макро-усреднение (одинаковый вес каждому сегменту):
$$\text{macro}_A = \frac{0{,}95 + 0{,}70}{2} = 0{,}825, \qquad \text{macro}_B = \frac{0{,}94 + 0{,}68}{2} = 0{,}810$$Ответ: при сравнении «яблок с яблоками» лучше модель A. Микро-усреднённая (общая) точность в этой ситуации бессмысленна как метрика сравнения, потому что модели проверялись на разных распределениях.
Классические примеры из реальности
Почечные камни (Charig et al., 1986). Сравнивали два метода лечения:
| Тип камней | Метод A | Метод B |
|---|---|---|
| Мелкие | 81 из 87 (93%) | 234 из 270 (87%) |
| Крупные | 192 из 263 (73%) | 55 из 80 (69%) |
| Итого | 273 из 350 (78%) | 289 из 350 (83%) |
Метод A лучше и на мелких камнях, и на крупных — но хуже суммарно. Причина: метод A (более инвазивный) врачи назначали преимущественно в тяжёлых случаях с крупными камнями. Тип камня — конфаундер, общая причина и для выбора лечения, и для исхода.
Приём в Беркли (Bickel, Hammel, O'Connell, Science, 1975). В 1973 году на аспирантские программы Калифорнийского университета в Беркли поступило около $8\,400$ мужчин и $4\,300$ женщин; приняли примерно $44\%$ мужчин и $35\%$ женщин. Разница выглядела как явная дискриминация, и университету грозил иск. Но когда данные разобрали по факультетам, оказалось, что на большинстве факультетов процент приёма женщин был выше мужского. Объяснение: женщины чаще подавали документы на факультеты с очень низким процентом приёма (гуманитарные), мужчины — на факультеты с высоким (инженерные и естественнонаучные). Выбор факультета — тот же конфаундер.
Почему это ловушка именно для ML
Ситуация из примера 13 в проде выглядит совершенно буднично:
- A/B-тест с неравномерным трафиком. Новая модель раскатана на $5\%$ пользователей, но эти $5\%$ — ранние адоптеры, у которых поведение другое. Агрегированная метрика сравнивает не модели, а аудитории.
- Смена состава трафика во времени. Модель выкатили в понедельник, а к пятнице доля мобильных пользователей выросла. Метрика упала — а модель не при чём.
- Дообучение на «сложных» примерах. Собрали датасет из хард-кейсов, измерили на нём точность, сравнили с историческим числом на старом датасете. Числа несопоставимы в принципе.
- Микро- против макро-усреднения в многоклассовых задачах. Микро-F1 и макро-F1 могут ранжировать модели в противоположном порядке — и это в чистом виде эффект Симпсона.
- Метрика справедливости. Модель может иметь одинаковый FPR внутри каждой подгруппы и разный в целом, если подгруппы по-разному представлены. Отсюда — большая часть споров про «предвзятость алгоритмов».
Что с этим делать
- Всегда смотри разрез, а не только общее число. Дашборд с одной цифрой — это дашборд, который однажды тебя обманет.
- Сравнивай на одном и том же распределении. Если распределения разные — репрезентативно перевзвешивай (importance weighting) или строй общий пул.
- Осознанно выбирай микро или макро. Микро отражает «средний объект», макро — «средний класс/сегмент». Это разные вопросы, и надо понимать, на какой ты отвечаешь.
- Ищи конфаундер. Спроси: есть ли переменная, которая влияет и на «лечение», и на «исход»? Если да — агрегировать по ней нельзя, надо стратифицировать.
- Рандомизируй, если можешь. Честный A/B-тест со случайным распределением пользователей убивает конфаундинг на корню — именно поэтому рандомизация так ценится.
Важное уточнение. Математически парадокс Симпсона не говорит, какое из двух чисел «правильное». Он говорит, что вопрос «какая модель лучше» без указания распределения объектов не имеет ответа. Выбор между агрегированным и стратифицированным взглядом — это вопрос причинной структуры данных, и решается он не статистикой, а знанием предметной области. Именно с этого наблюдения выросла вся современная теория причинного вывода Джудеа Перла.
Практика: 30 заданий
Базовые (задания 1-10)
Задание 1: Бросают игральный кубик. Известно, что выпало чётное число очков. Найди вероятность того, что выпала двойка.
Задание 2: Известно, что $P(A) = 0{,}6$, $P(B) = 0{,}5$, $P(A \cap B) = 0{,}3$. Найди $P(A \mid B)$ и $P(B \mid A)$. Независимы ли события?
Задание 3: Из колоды в $36$ карт наугад вынимают одну. Известно, что карта красной масти. Какова вероятность, что это туз?
Задание 4: В урне $5$ белых и $3$ чёрных шара. Достают два шара подряд без возвращения. Найди вероятность того, что второй шар белый, если первый оказался белым.
Задание 5: В выборке $200$ писем, из них $80$ — спам. Слово «кредит» встречается в $50$ письмах, и $44$ из них спамные. Найди $P(\text{спам})$, $P(\text{спам} \mid \text{«кредит»})$ и lift этого признака.
Задание 6: Бросают две игральные кости. Известно, что на первой выпало $3$. Найди вероятность того, что сумма очков равна $8$.
Задание 7: Известно, что $P(A \mid B) = 0{,}4$ и $P(B) = 0{,}25$. Найди $P(A \cap B)$.
Задание 8: События $A$ и $B$ таковы, что $P(A) = 0{,}3$, $P(B) = 0{,}4$, $P(A \cap B) = 0{,}12$. Независимы ли они? Найди $P(A \mid B)$ и $P(A \mid \overline{B})$.
Задание 9: Известно, что $P(A \mid B) = 0{,}7$. Найди $P(\overline{A} \mid B)$. Можно ли отсюда найти $P(A \mid \overline{B})$?
Задание 10: Классификатор выдал для объекта $P(y = 1 \mid x) = 0{,}62$. Какой класс он предскажет при пороге $t = 0{,}5$? При $t = 0{,}7$? А если известно, что пропуск положительного объекта втрое дороже ложной тревоги?
Средние (задания 11-20)
Задание 11: В семье двое детей. Найди вероятность того, что оба мальчики, если: (а) известно, что хотя бы один мальчик; (б) известно, что старший ребёнок — мальчик.
Задание 12: Из колоды в $36$ карт последовательно без возвращения вынимают три карты. Найди вероятность того, что все три — тузы.
Задание 13: В задаче Монти Холла игрок выбрал дверь $1$, ведущий (знающий расположение, всегда открывающий дверь с козой, при выборе бросающий честную монетку) открыл дверь $3$. Строго посчитай вероятность выигрыша при смене выбора.
Задание 14: Языковая модель оценила: $P(w_1) = 0{,}02$, $P(w_2 \mid w_1) = 0{,}3$, $P(w_3 \mid w_1 w_2) = 0{,}5$. Найди вероятность всей последовательности и её логарифм по основанию $2$.
Задание 15: В тестовой выборке $1000$ объектов, из них $100$ положительного класса. Модель пометила как положительные $150$ объектов, и $90$ из них действительно положительные. Найди precision, recall и $F_1$.
Задание 16: В ящике $10$ деталей, из них $3$ бракованные. Наугад извлекают две детали подряд без возвращения. Найди: (а) вероятность того, что обе годные; (б) вероятность того, что вторая бракованная, если первая была годной.
Задание 17: Две рекламные кампании измеряли по конверсии в двух сегментах:
| Сегмент | Кампания A | Кампания B |
|---|---|---|
| Мобильные | 80 из 800 | 18 из 200 |
| Десктоп | 60 из 200 | 232 из 800 |
Посчитай конверсию по сегментам, суммарную конверсию и объясни результат.
Задание 18: Известно, что $P(A \mid C) = 0{,}6$, $P(B \mid C) = 0{,}5$, и события $A$ и $B$ условно независимы при условии $C$. Найди $P(A \cap B \mid C)$ и $P(A \cup B \mid C)$.
Задание 19: Даны $P(A) = 0{,}5$, $P(B) = 0{,}4$, $P(A \cup B) = 0{,}7$. Найди $P(A \mid B)$ и проверь независимость.
Задание 20: Наивный байесовский классификатор считает признаки условно независимыми при известном классе. Дано: $P(x_1 = 1 \mid y = 1) = 0{,}8$, $P(x_2 = 1 \mid y = 1) = 0{,}5$. Найди $P(x_1 = 1, x_2 = 1 \mid y = 1)$. Как изменится ответ, если на самом деле $P(x_2 = 1 \mid x_1 = 1, y = 1) = 0{,}7$?
Продвинутые (задания 21-30)
Задание 21: В семье двое детей. Известно, что хотя бы один из них — мальчик, родившийся во вторник. Найди вероятность того, что оба ребёнка мальчики. (Пол и день рождения считаем равновероятными и независимыми.)
Задание 22: Монти Холл с предвзятым ведущим. Игрок выбрал дверь $1$. Если у ведущего есть выбор, он открывает дверь $3$ с вероятностью $q = \dfrac{3}{4}$. Ведущий открыл дверь $3$. Стоит ли менять выбор и с какой вероятностью выигрыш?
Задание 23: Бросают две честные монеты. События: $A$ — «на первой орёл», $B$ — «на второй орёл», $C$ — «выпали одинаковые стороны». Проверь попарную независимость и независимость в совокупности.
Задание 24: Языковая модель присвоила четырём токенам последовательности условные вероятности $0{,}5$; $0{,}25$; $0{,}125$; $0{,}5$. Найди вероятность последовательности, кросс-энтропию в битах на токен и перплексию.
Задание 25: Из $15$ деталей $4$ бракованные. Наугад извлекают три детали подряд без возвращения. Найди вероятность того, что все три годные, и вероятность того, что ровно последняя бракованная.
Задание 26: Модель антифрода выдаёт $P(\text{мошенничество} \mid x)$. Ручная проверка ложной тревоги обходится в $200$ рублей, пропущенное мошенничество — в $5000$ рублей. Найди оптимальный порог. Какое решение примет система при $P = 0{,}03$?
Задание 27: Докажи, что при фиксированном $B$ с $P(B) > 0$ функция $Q(A) = P(A \mid B)$ является вероятностной мерой. Выведи из этого формулу $P(A \cup C \mid B) = P(A \mid B) + P(C \mid B) - P(A \cap C \mid B)$.
Задание 28: Докажи неравенство $P(A \mid B) \geq 1 - \dfrac{P(\overline{A})}{P(B)}$ при $P(B) > 0$. Проверь его на примере $P(A) = 0{,}9$, $P(B) = 0{,}5$.
Задание 29: Тестовая выборка — $10\,000$ объектов, из них $500$ положительных. При пороге $t = 0{,}5$ модель дала $TP = 400$, $FP = 800$. При пороге $t = 0{,}8$ — $TP = 250$, $FP = 50$. Посчитай precision, recall и $F_1$ для обоих порогов и объясни, какой порог выбрать.
Задание 30: Три независимых датчика проверяют одну деталь. Вероятность брака $P(y = 1) = 0{,}5$. Каждый датчик срабатывает с вероятностью $0{,}9$ на бракованной детали и $0{,}2$ на годной; при известном состоянии детали срабатывания условно независимы. Найди $P(\text{все три сработали})$ и проверь, независимы ли срабатывания безусловно.
Частые ошибки
❌ Ошибка 1: путают $P(A \mid B)$ и $P(B \mid A)$
Неправильно: «Тест на болезнь даёт положительный результат у $99\%$ больных, значит при положительном тесте я болен с вероятностью $99\%$».
Правильно: $P(\text{тест}^{+} \mid \text{болен}) = 0{,}99$ — это чувствительность теста. А вопрос пациента — про $P(\text{болен} \mid \text{тест}^{+})$, и это совсем другое число. Если болезнь редкая (скажем, $1$ на $10\,000$), а тест даёт $1\%$ ложных срабатываний, то среди положительных тестов подавляющее большинство — здоровые люди. Полный расчёт мы проведём в уроке 232 по формуле Байеса.
💡 Почему важно: это самая дорогая ошибка интерпретации в прикладной статистике. У неё есть даже юридическое имя — «ошибка прокурора», и из-за неё выносились реальные обвинительные приговоры. В ML та же путаница живёт в паре precision/recall.
❌ Ошибка 2: считают, что $P(A \mid \overline{B}) = 1 - P(A \mid B)$
Неправильно: «Раз $P(\text{отток} \mid \text{жаловался}) = 0{,}8$, то $P(\text{отток} \mid \text{не жаловался}) = 0{,}2$».
Правильно: правило дополнения работает только по первому аргументу: $P(\overline{A} \mid B) = 1 - P(A \mid B)$. Смена события справа от черты — это переход к другой вероятностной модели, и никакой связи между $P(A \mid B)$ и $P(A \mid \overline{B})$ в общем случае нет (см. контрпример в задании 9).
💡 Почему важно: на этой ошибке строятся ложные выводы вида «если признак предсказывает класс, то его отсутствие предсказывает противоположный класс». В реальных данных отсутствие признака часто вообще не информативно.
❌ Ошибка 3: путают независимость и несовместность
Неправильно: «События $A$ и $B$ несовместны, значит они независимы — одно ведь никак не связано с другим».
Правильно: это противоположные понятия. Если $A$ и $B$ несовместны и оба имеют ненулевую вероятность, то они максимально зависимы: $P(A \mid B) = \dfrac{P(\varnothing)}{P(B)} = 0 \neq P(A)$. Знание о наступлении $B$ полностью исключает $A$ — сильнее зависимости не бывает.
💡 Почему важно: несовместность — про геометрию событий (не пересекаются), независимость — про информацию (не влияют на оценку). Их путаница ломает решение задачи на первом же шаге.
❌ Ошибка 4: считают, что попарной независимости достаточно
Неправильно: проверить три события попарно, получить три галочки и объявить их независимыми в совокупности.
Правильно: для $n$ событий требуется $2^n - n - 1$ равенств — для всех поднаборов размера $\geq 2$. Пример Бернштейна (тетраэдр в теоретической части, монеты в задании 23) показывает: попарная независимость может выполняться, а тройная — нет.
💡 Почему важно: в отборе признаков это приводит к грубым ошибкам. Два признака могут быть попарно бесполезны для предсказания, а вместе давать идеальную разделимость (классический XOR). Именно поэтому фильтрация признаков «по одному» — плохая стратегия.
❌ Ошибка 5: путают условную независимость с обычной
Неправильно: «Наивный Байес предполагает, что слова в тексте независимы».
Правильно: он предполагает условную независимость слов при фиксированном классе. Безусловно слова текста, конечно, зависимы — это и есть язык. Обратное направление тоже неверно: обычная независимость не влечёт условную (задание 8 и пример с explaining away).
💡 Почему важно: это две разные гипотезы, и подменяя одну другой, ты не поймёшь, почему модель ведёт себя так, а не иначе. Вся байесовская сеть — это карта того, какие переменные условно независимы при каких условиях.
❌ Ошибка 6: агрегируют метрики по группам, не глядя на состав групп
Неправильно: сравнить среднюю точность двух моделей на разных срезах данных и объявить победителя.
Правильно: сначала убедиться, что модели сравниваются на одинаковом распределении объектов. Если состав групп различается, суммарное число измеряет состав, а не качество — это парадокс Симпсона (пример 13 и задание 17). Лекарство — стратифицировать, перевзвешивать или честно рандомизировать.
💡 Почему важно: в проде это ошибка стоимостью в реальные деньги: команды выкатывают худшую модель, потому что дашборд показал более красивую агрегированную цифру.
❌ Ошибка 7: считают выход классификатора «уверенностью», а не вероятностью
Неправильно: «Модель выдала $0{,}9$, значит она на $90\%$ уверена — почти наверняка правда».
Правильно: число $0{,}9$ является вероятностью только у калиброванной модели: среди объектов с предсказанием $0{,}9$ действительно должно оказываться примерно $90\%$ положительных. Бустинг, SVM и глубокие сети без калибровки систематически завышают уверенность.
💡 Почему важно: любые решения на основе ожидаемых потерь (оптимальный порог, стоимость ошибки, отказ от предсказания) требуют, чтобы выход был настоящей условной вероятностью. На некалиброванных числах вся экономика решений разваливается.
Главное запомнить
✅ Определение: $P(A \mid B) = \dfrac{P(A \cap B)}{P(B)}$ при $P(B) > 0$. Это буквально сужение пространства исходов до $B$ с последующей перенормировкой всех вероятностей делением на $P(B)$.
✅ Требование $P(B) > 0$ — не формальность: обусловливаться можно только на наблюдаемое событие. В непрерывном случае используют плотности $p(y \mid x) = \dfrac{p(x,y)}{p(x)}$, а не подстановку нулей.
✅ $P(\cdot \mid B)$ — полноценная вероятностная мера: неотрицательна, нормирована, аддитивна. Значит, все теоремы (сложение, дополнение, включения-исключения) работают по первому аргументу без изменений.
✅ Но по второму аргументу ничего не работает: $P(A \mid \overline{B}) \neq 1 - P(A \mid B)$ и $P(A \mid B) \neq P(B \mid A)$. Черта не симметрична.
✅ Теорема умножения: $P(A \cap B) = P(B) P(A \mid B) = P(A) P(B \mid A)$. Цепное правило: $P(A_1 \dots A_n) = \prod_i P(A_i \mid A_1 \dots A_{i-1})$.
✅ Независимость определяется как $P(A \cap B) = P(A) P(B)$ — это симметрично, работает при нулевых вероятностях и равносильно $P(A \mid B) = P(A)$ при $P(B) > 0$. Независимость — про информацию, несовместность — про геометрию, и это противоположные вещи.
✅ Для трёх и более событий попарной независимости недостаточно — нужны равенства для всех поднаборов (пример Бернштейна).
✅ Условная независимость $P(A \cap B \mid C) = P(A \mid C) P(B \mid C)$ логически не связана с обычной: возможна любая комбинация. Общая причина создаёт зависимость следствий; общее следствие создаёт зависимость причин (explaining away).
✅ Классификатор выдаёт $P(y \mid x)$; логистическая регрессия моделирует её напрямую через сигмоиду, а линейна она в логите — логарифме отношения условных вероятностей. Кросс-энтропия $= -\ln P(y \mid x)$, то есть обучение = максимум правдоподобия условного распределения.
✅ Порог классификации — не часть модели, а решение по ценам ошибок: $t^{*} = \dfrac{c_{FP}}{c_{FP} + c_{FN}}$. Значение $0{,}5$ оптимально только при равных ценах.
✅ Языковые модели работают на цепном правиле: $P(w_1 \dots w_n) = \prod_i P(w_i \mid w_{
✅ Парадоксы Монти Холла, двух детей и Симпсона — не курьёзы, а напоминания: пока не описан механизм получения информации и состав групп, условная вероятность попросту не определена.
Связь с другими темами курса
Что было до: в уроке 226 мы разобрали случайные события и операции над ними — пересечение $A \cap B$, объединение, дополнение; без этого языка невозможно даже записать определение условной вероятности. Урок 227 дал классическое определение $P(A) = m/n$ — а условная вероятность в классической схеме есть не что иное, как то же самое отношение, посчитанное внутри суженного множества исходов (мы этим пользовались в каждом примере с кубиком и картами). Урок 228 про геометрическую вероятность даёт наглядную картинку «вырезали область и перенормировали площадь». Урок 229 про теоремы сложения и умножения — прямой фундамент: теорема умножения в общем виде $P(A \cap B) = P(A) P(B \mid A)$ и есть переписанное определение из этого урока, а частный случай для независимых событий теперь получил строгое обоснование.
Что дальше: урок 231 — формула полной вероятности. Мы фактически уже пользовались ею в примере 9 и задании 30, когда разбивали событие на два взаимоисключающих сценария и складывали. В следующем уроке это будет оформлено строго: если $H_1, \dots, H_n$ — полная группа гипотез, то $P(A) = \sum_i P(H_i) P(A \mid H_i)$. Затем урок 232 — формула Байеса, кульминация всей линии: она отвечает на обратный вопрос «какова вероятность гипотезы при наблюдённых данных» и получается из приравнивания двух разложений $P(A \cap B)$ по теореме умножения. Именно там мы честно посчитаем задачу про медицинский тест из «частых ошибок». Дальше урок 233 — схема Бернулли, где независимость испытаний из этого урока становится рабочим предположением для серии опытов. А в уроках 243-244 условные распределения вернутся уже для случайных величин: условное математическое ожидание $E[Y \mid X]$ — это буквально то, что приближает регрессионная модель.
Где это применяется в жизни и в ML/данных:
📊 В машинном обучении: любой классификатор оценивает $P(y \mid x)$; логистическая регрессия и softmax моделируют её явно; кросс-энтропия — минус логарифм условной вероятности; калибровка проверяет, что выход действительно вероятность; выбор порога — решение по ожидаемым потерям.
🤖 В генеративных моделях: цепное правило — математический скелет любой авторегрессионной архитектуры (GPT, Llama, генерация кода, музыки, белковых последовательностей); маскированное внимание физически реализует обусловливание только на префикс; перплексия — экспонента от средней условной кросс-энтропии.
📈 В анализе данных: таблицы сопряжённости, lift в ассоциативных правилах, парадокс Симпсона при агрегировании метрик, конфаундеры и стратификация, A/B-тесты и важность рандомизации.
🧠 В вероятностном моделировании: байесовские сети, скрытые марковские модели, марковское свойство, наивный Байес, латентные переменные — всё это построено на условной независимости.
🏥 В медицине и праве: чувствительность и специфичность тестов, положительная предсказательная ценность, «ошибка прокурора» при интерпретации улик.
💰 В финансах и рисках: условная вероятность дефолта при известных характеристиках заёмщика, антифрод, стресс-тестирование портфелей при заданных сценариях.
Интересные факты
💡 Тысяча писем от учёных — и все с ошибкой. После публикации решения задачи Монти Холла в 1990 году Мэрилин вос Савант получила около $10\,000$ писем от читателей, из которых примерно $92\%$ утверждали, что она неправа. Около тысячи писем пришло от людей с научными степенями. Один из корреспондентов написал: «Вы допустили ошибку, но с положительной стороны — если все эти доктора наук ошиблись, страна в серьёзной беде». Ирония в том, что доктора наук как раз и ошиблись. Пал Эрдёш, автор полутора тысяч математических статей, согласился с правильным ответом только увидев компьютерную симуляцию.
💡 Шеннон построил первую языковую модель в 1948 году. В статье «A Mathematical Theory of Communication» Клод Шеннон приводил примеры текстов, сгенерированных по цепному правилу с условными вероятностями букв: сначала по одиночным частотам (получалась абракадабра), потом по парам, потом по тройкам. Уже на уровне триграмм текст начинал выглядеть «почти по-английски». Шеннон генерировал эти примеры вручную, случайно открывая книгу и выискивая нужные сочетания букв — компьютера у него под рукой не было. Математически это ровно то же самое, что делает современный трансформер, только с длиной контекста $2$ вместо десятков тысяч.
💡 Иск против Беркли, который развалила стратификация. История 1973 года с приёмом в аспирантуру Калифорнийского университета — редчайший случай, когда парадокс Симпсона попал в суд и в журнал Science. Агрегированные цифры показывали разницу приёма в $9$ процентных пунктов не в пользу женщин; после разбивки по факультетам обнаружилось, что на большинстве отделений картина обратная. Авторы статьи (Бикел, Хаммел, О'Коннелл) аккуратно показали, что причина — в разном распределении заявок по факультетам с разной конкуренцией.
💡 Байес свою теорему не публиковал. Томас Байес написал работу, но не отправил её в печать — при жизни он опубликовал только две вещи, и обе не по вероятностям. Рукопись нашёл среди бумаг покойного его друг Ричард Прайс, доработал и представил Королевскому обществу в 1763 году. Само название «теорема Байеса» появилось много позже, а современную форму аппарату придал Лаплас, который, судя по всему, пришёл к нему независимо.
💡 Условная независимость экономит астрономические объёмы. Совместное распределение $100$ бинарных признаков описывается $2^{100} - 1 \approx 1{,}3 \cdot 10^{30}$ числами — их физически негде хранить. Наивное предположение об условной независимости при известном классе сводит задачу к $200$ числам. Именно эта экономия сделала возможным вероятностное моделирование до эпохи нейросетей — и она же остаётся принципом, на котором строятся графовые вероятностные модели.
Лайфхаки и полезные трюки
1. Рисуй таблицу сопряжённости $2 \times 2$ вместо жонглирования формулами
Как только в задаче встретились два бинарных признака, рисуй таблицу с итогами по строкам и столбцам. Все четыре условные вероятности читаются из неё прямым делением клетки на итог строки или столбца, а формулу можно вообще не вспоминать. Дополнительный бонус: если суммы не сходятся, ты сразу видишь опечатку в условии.
2. Проверяй, что условные вероятности по полной группе дают ровно $1$
Любая цепочка расчётов проверяется одним движением: перечисли все взаимоисключающие исходы при фиксированном условии и сложи их условные вероятности. Должна получиться единица. Мы делали это в примере 6, в задании 13 и в задании 25 — и каждый раз это ловило бы арифметическую ошибку, если бы она была.
3. Считай последовательные извлечения «остатком колоды», а не дробью
Для задач без возвращения не подставляй ничего в формулу — просто рассуждай, что осталось в урне/колоде после того, как условие выполнено. «Осталось $10$ штук, из них $4$ бракованных» даёт ответ мгновенно. Формулу используй как проверку.
4. Формулируй условие вслух до конца предложения
Прежде чем писать $P(A \mid B)$, произнеси вслух: «вероятность того, что ..., при условии что ...». Если фразу трудно закончить или получается что-то двусмысленное — значит, событие определено плохо, и именно тут родится ошибка. Так ловится большинство подмен $P(A \mid B)$ на $P(B \mid A)$.
5. Всегда спрашивай «как эта информация ко мне попала»
Монти Холл, задача о двух детях и любой реальный датасет учат одному и тому же: механизм порождения наблюдения — часть модели. Открыл ли ведущий дверь наугад или зная ответ? Как отбирались объекты в выборку? Почему в этом поле пропуск? Ответ на эти вопросы часто важнее самих чисел.
6. В коде складывай логарифмы, а не перемножай вероятности
Произведение сотни множителей вида $0{,}05$ обнуляется в float64 уже на четвёртой сотне шагов. Стандартная практика — работать с $\log P = \sum_i \log P_i$, а при необходимости вернуться к вероятностям использовать устойчивые приёмы вроде logsumexp. Это же даёт бесплатный бонус: сумма логарифмов сразу интерпретируется как кросс-энтропия в битах или натах.
7. Никогда не сравнивай агрегированные метрики без разреза по сегментам
Возьми за правило: любая цифра качества сопровождается разбивкой хотя бы по одному значимому признаку (устройство, регион, тип запроса, длина текста). Если по сегментам и в целом выводы расходятся — ты поймал Симпсона и спас себя от неверного решения о выкатке.
8. Проверяй порог, а не только модель
Если метрика в проде хуже ожидаемой, прежде чем переобучать модель, проверь порог. Часто модель прекрасно ранжирует объекты (высокий ROC-AUC), а порог унаследован из ноутбука со значением $0{,}5$, которое никто не пересчитывал под реальные цены ошибок. Формула $t^{*} = c_{FP}/(c_{FP} + c_{FN})$ занимает одну строку и иногда даёт больше пользы, чем неделя экспериментов с архитектурой.
Условная вероятность — это точка, в которой теория вероятностей перестаёт быть наукой об азартных играх и становится наукой о рассуждении в условиях неопределённости. Одна короткая дробь $P(A \cap B)/P(B)$ разворачивается в теорему умножения, в цепное правило, из которого растёт вся генеративная революция последних лет, в понятие независимости, в фундамент байесовских сетей — и в набор ловушек, на которых спотыкались лучшие математики XX века.
Если ты усвоил из этого урока одну-единственную мысль, пусть это будет вот какая: вероятность всегда существует относительно того, что ты знаешь. Не бывает «вероятности события вообще» — бывает вероятность при определённой информации, и стоит информации измениться, как меняется и число. Именно поэтому вопрос «откуда взялись эти данные?» математически столь же важен, как и «что в этих данных написано».
Дальше — формула полной вероятности, которая научит собирать вероятность из кусочков по гипотезам, а за ней формула Байеса, которая перевернёт направление рассуждения и позволит выводить причины из следствий. Всё это — прямые следствия одной дроби, которую ты только что разобрал. 🚀
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку