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

Слева площадь всего прямоугольника равна единице, зелёным выделено . Справа событие растянуто до нового полного пространства: доля зелёной части в нём и есть .
Правило умножения и дерево
Из определения сразу следует правило умножения:
Дерево вероятностей делает его наглядным: вдоль ветви вероятности перемножаются, а разные ветви, ведущие к одному наблюдению, складываются. Например, деталей даёт станок A с браком , остальные — станок B с браком . Вероятность случайно взять бракованную деталь равна .
Формула Байеса
Приравняв две записи совместной вероятности, получаем формулу Байеса:
Если гипотезы образуют разбиение, знаменатель раскрывается по формуле полной вероятности:
Здесь — априорная вероятность, — правдоподобие наблюдения, — апостериорная вероятность. Формула не создаёт новых сведений: она согласованно переворачивает направление условия. Для двух гипотез удобна запись в шансах — апостериорные шансы равны априорным, умноженным на отношение правдоподобий.
Медицинский тест: ловушка базовой частоты
Обозначим болезнь , положительный тест . Чувствительность — доля больных, которых тест находит; специфичность — доля здоровых с отрицательным ответом. Пусть болезнь у людей, чувствительность , специфичность .

Среди человек больны ( поймано, зелёные) и здоровы ( ложных тревог, красные). Красная полоса ложных тревог намного шире зелёной: после положительного теста болезнь лишь у .
Тест точен, а вероятность болезни после «плюса» — всего . Причина не в дефекте формулы, а в огромной исходной группе здоровых: даже малый процент ложных тревог даёт больше положительных, чем весь пул больных.
Люди, оценивая вероятность, склонны опираться на сходство с признаком и почти полностью игнорировать исходную частоту в популяции; это приводит к систематическим и предсказуемым ошибкам суждения.

При условиях выше (, , ) сколько ложных тревог приходится на одного верно найденного больного? Что произойдёт с этим числом, если болезнь встречается не у , а у ?
Показать ответ
При : на верных приходится ложных, то есть ложной тревоги на одного больного. При : больных ( найдено), здоровых ( ложных), значит — теперь ложных вдвое меньше, чем верных, и ценность «плюса» подскакивает до . Всё решает базовая частота.
::::
Потрогай Байес
Двигайте распространённость болезни и качество теста и следите за клетками: зелёные — верно найденные больные, красные — ложные тревоги. Для редкой болезни красных намного больше зелёных, и ценность «плюса» мала. Затем добавьте один процентный пункт специфичности — для редкой болезни он часто полезнее такого же прироста чувствительности, потому что применяется к огромной группе здоровых.
Байес на настоящих данных: спам-фильтр
Тот же механизм работает в спам-фильтре. Возьмём реальный корпус SMS: доля спама . Каждое слово письма — это наблюдение, а его отношение правдоподобий — множитель для шансов. Слова накапливаются, множители перемножаются.

Реальные отношения правдоподобий из корпуса SMS. Слова «free» (), «win» (), «txt» (), «claim» () поднимают вероятность спама от почти к единице; «sorry», «love», «home», «lol» с множителями меньше единицы тянут её к нулю.

Это и есть наивный байесовский классификатор: «наивный» — потому что он считает слова условно независимыми при известном классе. Предположение грубое (слова коррелируют), но на практике фильтр работает неплохо, а его логику видно насквозь.
Априорные шансы спама равны . Пришло письмо с единственным словом «win», у которого отношение правдоподобий . Чему равна апостериорная вероятность спама?
Показать ответ
Апостериорные шансы: . Переводим в вероятность: . Одно сильное слово подняло вероятность спама с до . Если бы слов было несколько, их множители просто перемножились бы — при условной независимости.
::::
Порог решения — не порог истины
Даже верно посчитанная вероятность не диктует действие. При разумно назначить дешёвый подтверждающий анализ, но не начинать рискованное лечение. Решение зависит от цены ложной тревоги и цены пропуска — это разделение прогноза и действия станет центральным в уроке о функции потерь.
Повторный тест тоже требует осторожности. Если два результата условно независимы при фиксированном состоянии здоровья, их отношения правдоподобий перемножаются. Но анализы одной лаборатории могут делить систематическую ошибку, а повторный снимок — тот же артефакт; тогда простое перемножение множителей завышает уверенность.
Несколько причин одного наблюдения
Формула полной вероятности особенно нужна, когда у наблюдения несколько причин. Сигнал датчика дыма может вызвать пожар, пар, пыль или неисправность; после срабатывания веса причин обновляются, но их сумма остаётся единицей. Так же устроена классификация: каждый класс — гипотеза, признаки — наблюдения. Порождающие классификаторы из урока 54 моделируют и доли классов, а затем применяют Байеса.
Независимость испытаний не есть необходимое условие применимости закона больших чисел; можно строить длинные цепи событий, где каждое зависит от предыдущего, и всё же изучать их вероятности точными средствами.
Русская линия ведёт к А. А. Маркову. Именно он показал, что теорию вероятностей можно строить и для зависимых событий, введя цепи, где будущее зависит от настоящего через условные вероятности. Условная вероятность из этого урока — первый кирпич марковских цепей, на которых держатся модели языка, погоды и очередей.
Знаменатель суммирует только перечисленные гипотезы. Если настоящей причины в списке нет, апостериор всё равно распределит единицу между ошибочными вариантами. Высокая вероятность внутри неполной модели не значит, что мир согласен с её перечнем.
Проверка здравым смыслом
Перед вычислением полезны три быстрые проверки. Апостериор обязан лежать между нулём и единицей. Если положительный тест чаще встречается у больных, он должен увеличивать вероятность болезни относительно prior, а не уменьшать. И при почти нулевой базовой частоте даже хороший тест не обязан давать высокий апостериор. Наконец, меняя местами и , всегда проговаривайте словами, кто дан, а кто спрашивается: именно небрежная перестановка условий и рождает ошибки. Когда же неизвестен не исход, а сам параметр модели, тот же байесовский пересчёт применяют к целому распределению значений — это разберёт урок об апостериорном распределении.
Что запомнить про Байеса
Условная вероятность перенормирует пространство исходов на событие-условие, а формула Байеса переворачивает направление условия, не создавая новых сведений. В форме шансов наблюдение — это множитель, и множители независимых наблюдений перемножаются: так работает и медицинский тест, и наивный спам-фильтр. Главная ловушка — базовая частота: при редком событии даже точный тест даёт много ложных тревог, и апостериор зависит от популяции. Поэтому перед вычислением всегда полезно нарисовать абсолютные количества и словами назвать, что дано, а что спрашивается. Дальше мы увидим, как небрежная перестановка условий рождает ошибку прокурора.
Задачи
В коробке красных и синих деталей. Среди красных три бракованные, среди синих четыре. Случайно выбирают одну деталь. Найдите двумя способами: через таблицу абсолютных количеств и по формуле Байеса. Укажите prior, likelihood и posterior.
Болезнь встречается у обследуемых. Тест имеет чувствительность и специфичность . Для группы из человек вычислите ожидаемые числа истинно- и ложноположительных, истинно- и ложноотрицательных результатов. Найдите вероятность болезни после положительного и после отрицательного теста.
Два станка A и B производят и деталей. Доля брака у A равна , у B — . Контроль обнаруживает бракованных и ошибочно отклоняет исправных, одинаково для обоих станков. Случайная деталь отклонена. Найдите вероятность, что она с станка B. Постройте дерево не менее чем с восемью конечными ветвями.
Спам-фильтр помечает спама и обычных писем. В рабочие дни спам составляет входящих, в выходные — . Вычислите вероятность спама после метки отдельно для рабочего и выходного дня. Администратор хочет один порог удаления: удалять, если вероятность спама выше . Допустимо ли одинаковое действие в двух режимах?
После первого положительного теста вероятность болезни стала . Независимый тест имеет отношение правдоподобий положительного результата . Переведите в шансы, обновите и вернитесь к вероятности. Затем объясните, почему тот же расчёт нельзя применить к повторению первого теста в той же лаборатории на том же образце, и какие данные позволили бы оценить зависимость результатов.
На реальном корпусе SMS доля спама ; отношения правдоподобий равны: «free» , «win» , «claim» , «love» . Пришло письмо со словами «free win love». Считая слова условно независимыми, найдите апостериорную вероятность спама через шансы. Затем объясните, что означает слово «наивный» в наивном байесовском классификаторе и как коррелированные слова (например, «free» и «win» часто вместе) искажают оценку.
Докажите формулу полной вероятности: если — разбиение пространства с , то . Выведите из неё знаменатель формулы Байеса. На примере датчика дыма с четырьмя причинами (пожар, пар, пыль, неисправность) покажите, что при неполном списке причин апостериор всё равно суммируется в единицу, и объясните, чем это опасно.
Для последовательности условно независимых наблюдений при двух гипотезах выведите логарифмическую форму обновления: логарифм апостериорных шансов равен логарифму априорных шансов плюс сумма логарифмов отношений правдоподобий . Объясните, почему в логарифмах обновление становится сложением «улик», как это связано с наивным Байесом из урока о спаме и почему сумма многих слабых улик может пересилить сильный prior.