Теория вероятностей

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

Цели урока

  • Понять глубокий смысл теоремы Байеса - "переворот" условной вероятности
  • Научиться применять формулу в задачах
  • Освоить байесовское обновление - как накапливать информацию
  • Распознавать и избегать "ошибки прокурора"
  • Увидеть применение Байеса в ML, медицине, спам-фильтрах

Предварительные знания

  • Условная вероятность P(A|B) - понимание формулы и интуиции
  • Формула полной вероятности - разбиение на сценарии
  • Урок: Условная вероятность

Томас Байес умер в 1761 году, так и не опубликовав свою работу. Его друг нашёл рукопись и отправил в Королевское общество два года спустя. Прошло ещё 260 лет - и та же формула стала основой ChatGPT, вариационного вывода в глубоком обучении и обновления весов при RLHF. Байес не знал, что изобретал. Просто спрашивал: как рассуждать о причинах, зная следствия?

  • **RLHF:** обновление политики языковой модели по человеческой обратной связи - это байесовское обновление приора (политики) по данным (оценкам)
  • **Вариационный вывод (VAE, диффузия):** апостериорное распределение $q(z \mid x)$ аппроксимирует истинный posterior $p(z \mid x)$ через KL-дивергенцию - формула Байеса под капотом
  • **Спам-фильтры:** Naive Bayes - $P(\text{спам} \mid \text{слова}) \propto P(\text{спам}) \cdot \prod P(\text{слово} \mid \text{спам})$
  • **Tesla Autopilot:** каждый кадр - обновление posterior: "это пешеход или тень?" с учётом предыдущих кадров
  • **Байесовские нейросети:** вместо точечных весов - распределение над весами. Uncertainty quantification.

Священник, который изменил науку

Томас Байес (1702-1761) был пресвитерианским священником в английском городке Танбридж-Уэллс. Математикой занимался как хобби. Его мучил философский вопрос: **можно ли от следствий рассуждать о причинах?** Он нашёл ответ, но так и не опубликовал - считал работу незавершённой. После смерти Байеса его друг Ричард Прайс обнаружил рукопись и отправил в Королевское общество. Сегодня "байесианство" - это не только формула. Это целая философия в статистике, AI и философии науки. Каждый раз, когда учёный обновляет теорию при новых данных - он мыслит по-байесовски.

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

**1999 год, Великобритания.** Салли Кларк, успешный адвокат, потеряла двух младенцев с разницей в год. Оба умерли от синдрома внезапной детской смерти. Её обвинили в убийстве.

Педиатр Рой Медоу выступил на суде: *"Вероятность СВДС - 1 к 8 543. Два случая подряд - это 1 к 73 миллионам. Совпадения быть не может."* Присяжные поверили. Пожизненный срок.

Три года тюрьмы. Потом математики объяснили суду, что Медоу перепутал $P(\text{СВДС} \mid \text{невиновна})$ с $P(\text{невиновна} \mid \text{СВДС})$. Это разные числа. Разница между ними называется теоремой Байеса.

Теорема Байеса связывает $P(A|B)$ с $P(B|A)$ следующим образом:

Теорема Байеса позволяет 'перевернуть' условие: зная вероятность симптома при болезни и априорную вероятность болезни, найти вероятность болезни при наблюдении симптома.

Формула, которая переворачивает причину и следствие

Формула, которая переворачивает причину и следствие

В прошлом уроке про условную вероятность мы узнали: $P(A|B) \neq P(B|A)$. Но **как** связаны эти величины? Теорема Байеса даёт ответ:

Или через формулу полной вероятности (для бинарных событий):

Каждый элемент формулы имеет своё имя и живёт в реальных системах: - $P(A)$ - **prior** (априорная). Что известно до данных. В RLHF - исходная политика модели - $P(A \mid B)$ - **posterior** (апостериорная). Убеждение после данных. В VAE - $q(z \mid x)$ - $P(B \mid A)$ - **likelihood** (правдоподобие). Насколько данные согласуются с гипотезой - $P(B)$ - **evidence**. Нормировочная константа - насколько вероятны такие данные вообще Формула словами: posterior = prior × likelihood / evidence

Ключевое упрощение: в большинстве практических задач (классификация, ML) нужно только сравнить posterior для разных гипотез - и тогда evidence $P(B)$ сокращается. Остаётся пропорция:

Если данные хорошо согласуются с гипотезой ($P(B \mid A)$ высока), posterior растёт. Если prior низкий - даже сильные данные не делают гипотезу достоверной мгновенно. Именно это объясняет парадокс медицинского теста: prior (1% больных) перевешивает даже 99% чувствительность.

Врач видит симптом S. P(S|болезнь) = 0.9 (симптом есть у 90% больных). Что это говорит о P(болезнь|S)?

По формуле Байеса: $P(\text{болезнь}|S) = \frac{P(S|\text{болезнь}) \cdot P(\text{болезнь})}{P(S)}$ Даже если симптом характерен для болезни (высокий $P(S|\text{болезнь})$), редкость болезни (низкий $P(\text{болезнь})$) может сделать $P(\text{болезнь}|S)$ низким. Это ключевая идея: **априорная вероятность критически важна!**

Парадокс медицинского теста

Парадокс медицинского теста

Это **самое важное** применение теоремы Байеса. Непонимание этого примера стоило жизней - буквально.

Редкая болезнь и "точный" тест

Почему положительный тест - не приговор

**Дано:** • Болезнь у **1%** населения: $P(D) = 0.01$ • Тест находит **99%** больных: $P(+|D) = 0.99$ (чувствительность) • У **5%** здоровых тест ложноположительный: $P(+|\bar{D}) = 0.05$ **Вопрос:** Тест положительный. Какова вероятность болезни? **Интуитивный ответ:** "99%! Тест же почти идеальный!" **Байес:** $$P(D|+) = \frac{P(+|D) \cdot P(D)}{P(+|D) \cdot P(D) + P(+|\bar{D}) \cdot P(\bar{D})}$$ $$= \frac{0.99 \cdot 0.01}{0.99 \cdot 0.01 + 0.05 \cdot 0.99} = \frac{0.0099}{0.0099 + 0.0495}$$ $$= \frac{0.0099}{0.0594} \approx \mathbf{16.7\%}$$ **Реальный ответ: ~17%, не 99%!**

**Почему так?** Давай посмотрим на 10,000 человек:

Больны (100 чел.)Здоровы (9,900 чел.)Итого
Тест +99 (истинно+)495 (ложно+)594
Тест −1 (ложно−)9,405 (истинно−)9,406
1009,90010,000

Из 594 положительных тестов только 99 - реально больные. **Ложноположительных в 5 раз больше!** Причина: здоровых людей намного больше, и даже небольшой процент ошибок даёт много случаев.

**Парадокс базовой вероятности** - игнорирование априорной вероятности при оценке. Чем **реже** событие (болезнь, преступление, дефект), тем **больше** среди положительных результатов будет ложных срабатываний. Это не недостаток теста - это математика!

Если болезнь встречается у 50% населения (эпидемия!), как изменится P(болезнь|тест+)?

$P(D|+) = \frac{0.99 \cdot 0.5}{0.99 \cdot 0.5 + 0.05 \cdot 0.5} = \frac{0.495}{0.495 + 0.025} = \frac{0.495}{0.52} \approx 95\%$ Когда болезнь распространена, положительный тест гораздо надёжнее! База (априорная вероятность) критична.

Байесовское обновление: накопление информации

Байесовское обновление: накопление информации

Байес - это не разовое вычисление, а **процесс**. После первого наблюдения апостериорная вероятность становится априорной для следующего:

Два положительных теста подряд

Как накапливается уверенность

После первого положительного теста: $P(D|+_1) \approx 17\%$ Делаем второй независимый тест. Теперь априорная вероятность = 17%. $$P(D|+_2) = \frac{0.99 \cdot 0.17}{0.99 \cdot 0.17 + 0.05 \cdot 0.83}$$ $$= \frac{0.168}{0.168 + 0.042} = \frac{0.168}{0.21} \approx \mathbf{80\%}$$ После **третьего** положительного теста: **~98%** Информация накапливается! Поэтому врачи назначают повторные тесты, а не один "суперточный".

Обновление - это не разовое вычисление, а цикл. Posterior сегодня - prior завтра: 1. Начать с разумного prior (не 0% и не 100%) 2. При новых данных - обновлять через формулу 3. Сильные доказательства сдвигают сильно, слабые - слабо 4. Никогда не фиксировать 100% уверенность Этот цикл встроен в фильтр Калмана (сенсоры Tesla), в онлайн-обучение классификаторов, в Thompson Sampling для A/B тестов.

У монеты равные шансы быть честной или с двумя орлами. Выпал орёл. Какова теперь вероятность, что монета честная?

$P(Ч|О) = \frac{P(О|Ч) \cdot P(Ч)}{P(О|Ч) \cdot P(Ч) + P(О|Н) \cdot P(Н)}$ $= \frac{0.5 \cdot 0.5}{0.5 \cdot 0.5 + 1 \cdot 0.5} = \frac{0.25}{0.75} = \frac{1}{3} \approx 33\%$ Один орёл снижает уверенность в честности монеты с 50% до 33%.

Наивный Байес: как Gmail фильтрует спам

Наивный Байес: как Gmail фильтрует спам

Спам-фильтр - это **байесовский классификатор**. Он оценивает $P(\text{спам}|\text{слова в письме})$ и сравнивает с $P(\text{не спам}|\text{слова})$.

"Наивный" - потому что предполагает **независимость** слов друг от друга (что неверно, но работает удивительно хорошо!):

"Выигран миллион!"

Байес в действии

Письмо содержит слово **"выигрыш"**. **Статистика из базы данных:** • В 80% спам-писем есть "выигрыш": $P(\text{"выигрыш"}|\text{спам}) = 0.8$ • В 1% обычных писем есть "выигрыш": $P(\text{"выигрыш"}|\text{не спам}) = 0.01$ • Априорно 30% писем - спам: $P(\text{спам}) = 0.3$ **Байес:** $$P(\text{спам}|\text{"выигрыш"}) = \frac{0.8 \cdot 0.3}{0.8 \cdot 0.3 + 0.01 \cdot 0.7}$$ $$= \frac{0.24}{0.24 + 0.007} = \frac{0.24}{0.247} \approx \mathbf{97\%}$$ Одно слово - и фильтр на 97% уверен в спаме!

А теперь пусть письмо содержит "выигрыш", "миллион", "срочно", "нажмите здесь"... Вероятности **перемножаются**, и уверенность в спаме становится 99.99%.

Почему спам-фильтр может ошибочно пометить письмо от бабушки как спам?

"Наивный" Байес предполагает **независимость** признаков. Он смотрит только на слова, игнорируя: • Кто отправитель (бабушка vs неизвестный) • Контекст (личное письмо vs массовая рассылка) • Историю переписки Если бабушка напишет "Позвони срочно! У меня есть подарок!" - фильтр может среагировать на "срочно" и "подарок". Современные фильтры учитывают больше признаков, но принцип тот же - Байес!

Ошибка прокурора: почему Салли Кларк попала в тюрьму

Ошибка прокурора: почему Салли Кларк попала в тюрьму

Вернёмся к делу из начала урока. Рой Медоу совершил классическую ошибку:

P(два СВДС) очень мала → P(убийство|два СВДС) очень высока

Нужно сравнить P(два СВДС) и P(два убийства) - обе вероятности малы!

Медоу вычислил $P(\text{два СВДС} \mid \text{невиновна}) \approx 1/73\,000\,000$ и выдал это за $P(\text{невиновна} \mid \text{два СВДС})$. Но это разные числа. Правильный анализ через Байес: нужно сравнить два posterior: - $P(\text{два СВДС}) \approx 1 : 73\,000\,000$ - $P(\text{два детоубийства}) \approx 1 : 2\,000\,000\,000$ - ещё редче Когда оба события редки, нужно сравнивать их, а не объявлять редкость доказательством вины.

Салли Кларк провела **3 года** в тюрьме за преступление, которого не совершала. После освобождения она так и не оправилась от травмы и умерла в 2007 году от алкогольного отравления. Рой Медоу был исключён из медицинского реестра. **Понимание Байеса - это не абстрактная математика. Это может спасти жизни.**

ДНК-анализ показал совпадение с уликой. P(совпадение|невиновен) = 1/1,000,000. Прокурор заявляет: "Вероятность невиновности - один на миллион!" Что не так?

Если в городе 10 миллионов человек, то примерно **10** невиновных дадут совпадение ДНК! $P(\text{невиновен}|\text{совпадение}) = \frac{P(\text{совп}|\text{невиновен}) \cdot P(\text{невиновен})}{P(\text{совпадение})}$ При 1 реальном преступнике и 10 невиновных с совпадением: $P(\text{виновен}|\text{совпадение}) = \frac{1}{11} \approx 9\%$ **Вероятность невиновности - 91%, не 0.0001%!** Это и есть ошибка прокурора.

Практика

Практика

В городе 1% населения употребляет наркотики. Тест даёт положительный результат в 95% случаев для употребляющих и в 3% случаев для неупотребляющих (ложноположительный). Человек получил положительный тест. Какова вероятность, что он употребляет?

$P(U|+) = \frac{P(+|U) \cdot P(U)}{P(+|U) \cdot P(U) + P(+|\bar{U}) \cdot P(\bar{U})}$ $= \frac{0.95 \cdot 0.01}{0.95 \cdot 0.01 + 0.03 \cdot 0.99} = \frac{0.0095}{0.0095 + 0.0297}$ $= \frac{0.0095}{0.0392} \approx \mathbf{24.2\%}$ Даже при "точном" тесте большинство положительных результатов - ложные!

Две фабрики производят детали. Фабрика А: 60% выпуска, 2% брака. Фабрика Б: 40% выпуска, 5% брака. Случайная деталь оказалась бракованной. С какой фабрики она вероятнее всего?

**Шаг 1:** Полная вероятность брака $P(\text{брак}) = 0.6 \cdot 0.02 + 0.4 \cdot 0.05 = 0.012 + 0.02 = 0.032$ **Шаг 2:** Байес для каждой фабрики $P(A|\text{брак}) = \frac{0.6 \cdot 0.02}{0.032} = \frac{0.012}{0.032} = \mathbf{37.5\%}$ $P(Б|\text{брак}) = \frac{0.4 \cdot 0.05}{0.032} = \frac{0.02}{0.032} = \mathbf{62.5\%}$ **Ответ:** Скорее всего с фабрики Б (62.5%), хотя она производит меньше деталей! Высокий процент брака перевешивает меньший объём.

У охранника есть детектор лжи, который определяет ложь в 90% случаев и истину в 80% случаев. Априорно 1% посетителей - злоумышленники. Детектор показал "ложь". Какова вероятность, что посетитель - злоумышленник?

**Дано:** • $P(Z) = 0.01$ - злоумышленник • $P(L|Z) = 0.9$ - детектор показывает "ложь" для злоумышленника • $P(L|\bar{Z}) = 0.2$ - детектор ошибочно показывает "ложь" для честного **Байес:** $P(Z|L) = \frac{P(L|Z) \cdot P(Z)}{P(L|Z) \cdot P(Z) + P(L|\bar{Z}) \cdot P(\bar{Z})}$ $= \frac{0.9 \cdot 0.01}{0.9 \cdot 0.01 + 0.2 \cdot 0.99} = \frac{0.009}{0.009 + 0.198}$ $= \frac{0.009}{0.207} \approx \mathbf{4.3\%}$ Даже при "ложь" вероятность злоумышленника всего ~4%! Детекторы лжи бесполезны для массовой проверки.

Закрепите ключевую идею раздела «Практика».

Сформулируйте основную мысль раздела своими словами и проверьте по тексту.

Байес - основа современного AI

От спам-фильтров до GPT - байесовское мышление везде.

  • Независимость событий — Когда P(A|B) = P(A) - упрощает вычисления
  • Наивный Байес — Простой, но мощный классификатор в ML
  • Байесовские нейросети — Неопределённость в предсказаниях
  • MCMC — Сэмплирование из сложных апостериорных распределений
  • Калман-фильтр — Байесовское обновление для систем управления

Ключевые идеи

  • **Теорема Байеса:** $P(A \mid B) = \frac{P(B \mid A) \cdot P(A)}{P(B)}$ - переворот причины и следствия
  • **Prior - likelihood - posterior:** цикл обновления убеждений. Posterior сегодня = prior завтра
  • **Base rate fallacy:** редкость события не доказывает вину. Prior критичен
  • **Ошибка прокурора:** $P(\text{улика} \mid \text{невиновен}) \neq P(\text{невиновен} \mid \text{улика})$
  • **RLHF и вариационный вывод:** формула Байеса - за обновлением весов и аппроксимацией posterior в глубоком обучении

Вопросы для размышления

  • Вернёмся к делу Салли Кларк: как присяжные могли бы избежать ошибки, если бы понимали Байес?
  • Почему врачи назначают повторные тесты вместо одного "суперточного"?
  • Когда GPT выбирает следующее слово - какую апостериорную вероятность он вычисляет?
  • Как байесовское мышление может помочь в повседневных решениях - например, при чтении новостей?

Связанные уроки

  • ml-15-naive-bayes — Та же формула - prior × likelihood / evidence - превращается в работающий спам-фильтр и текстовый классификатор
  • stat-11-bayesian — Байесовская статистика как философия: prior → posterior, conjugate priors, MCMC, MAP vs MLE
  • aie-03-llm-fundamentals — Decoder LLM на каждом шаге считает P(token | context) - это posterior над словарём
  • aie-12-rag-fundamentals — RAG = байесовское обновление: retrieved chunks как evidence, изменяют posterior ответа модели
  • alg-01-big-o — Naive Bayes линеен по числу слов - O(n) per классификация, легко масштабируется на миллионы писем
Теорема Байеса

0

1

Войти