Теорема Байеса простыми словами
Формула
P(A|B) = P(B|A) × P(A) / P(B)
Читается так: вероятность события A при условии, что произошло B, равна вероятности B при условии A, умноженной на вероятность A, делённой на вероятность B.
В одно предложение: теорема Байеса — это способ обновить свои убеждения, когда появляются новые данные. Вы начинаете с предварительной оценки (prior), получаете свидетельство (evidence) и пересчитываете вероятность (posterior).
Prior, likelihood, posterior
Формулу удобнее запомнить через три компонента:
- Prior P(A) — ваша оценка вероятности до получения данных. Что вы думали «по умолчанию», ещё ничего не наблюдая.
- Likelihood P(B|A) — насколько вероятно наблюдать такое свидетельство, если A действительно истинно. Это «сила улики».
- Posterior P(A|B) — обновлённая вероятность A после того, как вы увидели B. Это ответ.
P(B) в знаменателе — нормирующая константа. Она гарантирует, что posterior — корректная вероятность (от 0 до 1). Часто её раскладывают по формуле полной вероятности:
P(B) = P(B|A) × P(A) + P(B|не A) × P(не A)
Интуиция: обновление убеждений
Представьте, что вы оцениваете кандидата на позицию аналитика. До собеседования, судя по резюме, вы оцениваете шансы на оффер в 30% (prior). На техническом собеседовании кандидат блестяще решает задачу на SQL (evidence). Вы обновляете оценку до 70% (posterior).
Теорема Байеса формализует именно этот процесс. Prior + свидетельство = posterior. Чем сильнее свидетельство, тем дальше posterior отклоняется от prior.
Пример: медицинский тест
Это классика — и на собеседованиях, и в учебниках. Разберём пошагово.
Условие. Редкое заболевание встречается у 1% населения. Тест на него имеет чувствительность 90% (если человек болен, тест положительный в 90% случаев) и специфичность 95% (если здоров, тест отрицательный в 95% случаев). Тест дал положительный результат. Какова вероятность, что человек действительно болен?
Дано:
- P(болен) = 0.01
- P(положительный | болен) = 0.90
- P(положительный | здоров) = 0.05
Решение.
Шаг 1. Считаем P(положительный) по формуле полной вероятности:
P(+) = P(+|болен) × P(болен) + P(+|здоров) × P(здоров) P(+) = 0.90 × 0.01 + 0.05 × 0.99 = 0.009 + 0.0495 = 0.0585
Шаг 2. Применяем теорему Байеса:
P(болен|+) = P(+|болен) × P(болен) / P(+) = 0.009 / 0.0585 = 0.154
Ответ: ~15.4%. Положительный тест, а вероятность болезни — всего 15%. Интуитивно кажется, что раз тест «точный на 90%», то и вероятность болезни должна быть около 90%. Но нет — потому что заболевание редкое (prior = 1%), и большинство положительных результатов приходится на здоровых людей (ложноположительные).
Дерево вероятностей
Тот же пример удобно представить через дерево. Возьмём 10 000 человек:
- 100 больных (1%): из них 90 получат положительный тест, 10 — отрицательный
- 9 900 здоровых (99%): из них 495 получат положительный тест, 9 405 — отрицательный
Всего положительных тестов: 90 + 495 = 585. Из них действительно больных: 90. Вероятность: 90 / 585 = 15.4%.
Дерево — отличный способ решать задачи Байеса на собеседовании. Никаких формул, только арифметика на натуральных числах.
Пример: спам-фильтр
Байесовская фильтрация спама — одно из первых коммерческих применений теоремы.
Допустим, 40% входящих писем — спам. Слово «бесплатно» встречается в 80% спам-писем и в 10% обычных.
P(спам | «бесплатно») = P(«бесплатно» | спам) × P(спам) / P(«бесплатно»)
P(«бесплатно») = 0.80 × 0.40 + 0.10 × 0.60 = 0.32 + 0.06 = 0.38
P(спам | «бесплатно») = 0.32 / 0.38 = 0.842
Письмо со словом «бесплатно» — спам с вероятностью 84%. Реальные фильтры учитывают тысячи слов и используют наивный байесовский классификатор, но принцип тот же.
Пренебрежение базовой вероятностью (base rate neglect)
Главная ловушка — забыть про prior. В медицинском примере люди фокусируются на точности теста (90%) и игнорируют распространённость заболевания (1%). Это когнитивное искажение называется base rate neglect.
На собеседовании это проверяют регулярно. Если вам дали задачу на Байеса и ответ кажется «очевидным» — скорее всего, вы игнорируете base rate.
Правило: чем реже событие (маленький prior), тем больше ложноположительных результатов среди всех положительных. Даже очень точный тест при редком заболевании даёт больше ложных срабатываний, чем истинных.
Связь с байесовским A/B-тестом
В байесовском A/B-тесте теорема Байеса применяется непрерывно. Вы задаёте prior (например, «конверсия варианта — примерно 10%»), собираете данные (likelihood) и получаете posterior-распределение конверсии. Из posterior вычисляется «вероятность, что B лучше A» — это то, что хочет знать бизнес.
Тот же принцип обновления: prior + данные = posterior. Больше данных — posterior точнее и всё меньше зависит от prior.
Задача с собеседования
Условие. В компании 70% аналитиков знают Python, 40% знают Spark, и 30% знают оба инструмента. Вы встретили аналитика, который знает Python. Какова вероятность, что он также знает Spark?
Решение.
P(Spark | Python) = P(Python и Spark) / P(Python) = 0.30 / 0.70 = 0.429
Ответ: ~43%. Это прямое применение определения условной вероятности, из которого и выводится теорема Байеса.
Вопросы с собеседований
«Что такое теорема Байеса?»
Формула для вычисления условной вероятности: P(A|B) = P(B|A) × P(A) / P(B). Позволяет пересчитать вероятность гипотезы A, получив новое свидетельство B. Ключевые компоненты: prior (до данных), likelihood (сила свидетельства), posterior (после данных).
«Приведите пример из реальной жизни»
Медицинская диагностика: положительный тест при редком заболевании не означает высокую вероятность болезни из-за малого prior. Спам-фильтры: вероятность спама обновляется по наличию характерных слов. A/B-тесты: байесовский подход даёт posterior-распределение эффекта.
«Что такое base rate neglect?»
Когнитивное искажение: люди игнорируют базовую вероятность (prior) и судят только по силе свидетельства (likelihood). Классический пример — переоценка вероятности болезни при положительном тесте на редкое заболевание.
«Чем prior отличается от posterior?»
Prior — вероятность до наблюдения данных, posterior — после. Prior отражает предшествующие знания или предположения, posterior учитывает новую информацию. С ростом объёма данных posterior всё меньше зависит от prior.
«Где теорема Байеса используется в аналитике?»
Байесовские A/B-тесты, спам-фильтрация, рекомендательные системы, оценка вероятностей в задачах классификации, обнаружение мошенничества, медицинская диагностика.
Потренируйтесь решать задачи на вероятность и статистику в тренажёре Карьерник — 1500+ вопросов для подготовки к собеседованию аналитика.
FAQ
Что такое теорема Байеса простыми словами?
Это формула, которая позволяет обновить вероятность события, когда появляются новые данные. Вы начинаете с предварительной оценки (prior), наблюдаете свидетельство и получаете уточнённую вероятность (posterior). P(A|B) = P(B|A) × P(A) / P(B).
Зачем теорема Байеса аналитику данных?
Она лежит в основе байесовских A/B-тестов, наивного байесовского классификатора, спам-фильтров и задач на условную вероятность с собеседований. Понимание теоремы помогает правильно интерпретировать результаты проверки гипотез и не попадать в ловушку base rate neglect.
Чем prior отличается от likelihood?
Prior P(A) — вероятность гипотезы до наблюдения данных (например, «1% людей больны»). Likelihood P(B|A) — вероятность наблюдать конкретное свидетельство, если гипотеза верна (например, «если болен, тест положительный в 90% случаев»). Prior — про гипотезу, likelihood — про данные при этой гипотезе.
Как решать задачи на теорему Байеса на собеседовании?
Используйте дерево вероятностей на натуральных числах. Возьмите удобное число людей (например, 10 000), разбейте по группам (больные/здоровые), посчитайте тесты в каждой группе и найдите долю. Это быстрее и нагляднее, чем подставлять в формулу. Больше задач — в тренажёре по статистике.