Подробно теорема Байеса излагается в отдельной статье. Это замечательная статья, но в ней 15 000 слов. В этом же переводе статьи от Kalid Azad кратко объясняется самая суть теоремы – для тех, кто впервые знакомится с ней, как и я сам.
- Результаты исследований и испытаний – это не события. Существует метод диагностики рака, а есть само событие — наличие заболевания. Алгоритм проверяет, содержит ли письмо спам, но событие (на почту действительно пришел спам) нужно рассматривать отдельно от результата его работы.
- В результатах испытаний бывают ошибки. Часто наши методы исследований выявляют то, чего нет (ложноположительный результат), и не выявляют то, что есть (ложноотрицательный результат).
- С помощью испытаний мы получаем вероятности определенного исхода. Мы слишком часто рассматриваем результаты испытания сами по себе и не учитываем ошибки метода.
- Ложноположительные результаты искажают картину. Предположим, что вы пытаетесь выявить какой-то очень редкий феномен (1 случай на 1000000). Даже если ваш метод точен, вероятнее всего, его положительный результат будет на самом деле ложноположительным.
- Работать удобнее с натуральными числами. Лучше сказать: 100 из 10000, а не 1%. При таком подходе будет меньше ошибок, особенно при умножении. Допустим, нам нужно дальше работать с этим 1%. Рассуждения в процентах неуклюжи: «в 80% случаев из 1% получили положительный исход». Гораздо легче информация воспринимается так: «в 80 случаях из 100 наблюдали положительный исход».
- Даже в науке любой факт — это всего лишь результат применения какого-либо метода. С философской точки зрения научный эксперимент – это всего лишь испытание с вероятной ошибкой. Есть метод, выявляющий химическое вещество или какой-нибудь феномен, и есть само событие — присутствие этого феномена. Наши методы испытаний могут дать ложный результат, а любое оборудование обладает присущей ему ошибкой.
Tеорема Байеса превращает результаты испытаний в вероятность событий.
- Если нам известна вероятность события и вероятность ложноположительных и ложноотрицательных результатов, мы можем исправить ошибки измерений.
- Теорема соотносит вероятность события с вероятностью определенного исхода. Мы можем соотнести Pr(A|X): вероятность события А, если дан исход X, и Pr(X|A): вероятность исхода X, если дано событие А.
Разберемся в методе
В статье, на которую дана ссылка в начале этого эссе, разбирается метод диагностики (маммограмма), выявляющий рак груди. Рассмотрим этот метод подробно.
- 1% всех женщин болеют раком груди (и, соответственно, 99% не болеют)
- 80% маммограмм выявляют заболевание, когда оно действительно есть (и, соответственно, 20% не выявляют)
- 9,6% исследований выявляют рак, когда его нет (и, соответственно, 90,4% верно определяют отрицательный результат)
Теперь оформим такую таблицу:
Болеют (1%) | Не болеют (99%) | |
Положительный результат метода | 80% | 9,6% |
Отрицательный результат метода | 20% | 90,4% |
Как работать с этим данными?
- 1% женщин болеют раком груди
- если у пациентки выявили заболевание, смотрим в первую колонку: есть 80% вероятность того, что метод дал верный результат, и 20% вероятность того, что результат исследования неправильный (ложноотрицательный)
- если у пациентки заболевание не выявили, смотрим на вторую колонку. С вероятностью 9,6% можно сказать, что положительный результат исследования неверен, и с 90,4% вероятностью можно сказать, что пациентка действительно здорова.
Насколько метод точен?
Теперь разберем положительный результат теста. Какова вероятность того, что человек действительно болен: 80%, 90%, 1%?
Давайте подумаем:
- Есть положительный результат. Разберем все возможные исходы: полученный результат может быть как истинным положительным, так и ложноположительным.
- Вероятность истинного положительного результата равна: вероятность заболеть, умноженная на вероятность того, что тест действительно выявил заболевание. 1% * 80% = .008
- Вероятность ложноположительного результата равна: вероятность того, что заболевания нет, умноженная на вероятность того, что метод выявил заболевание неверно. 99% * 9.6% = .09504
Теперь таблица выглядит так:
Болеют (1%) | Не болеют (99%) | |
Положительный результат метода | Истинный положительный: 1% * 80% = .008 |
Ложноположительный: 99% * 9.6% = .09504 |
Отрицательный результат метода | Ложноотрицательный: 1% * 20% = .002 |
Истинный отрицательный: 99% * 90,4% = .89496 |
Какова вероятность, что человек действительно болен, если получен положительный результат маммограммы? Вероятность события — это отношение количества возможных исходов события к общему количеству всех возможных исходов.
вероятность события = исходы события / все возможные исходы
Вероятность истинного положительного результата – .008. Вероятность положительного результата — это вероятность истинного положительного исхода + вероятность ложноположительного.
(.008 + 0.09504 = .10304)
Итак, вероятность заболевания при положительном результате исследования рассчитывается так: .008/.10304 = 0.0776. Эта величина составляет около 7.8%.
То есть положительный результат маммограммы значит только то, что вероятность наличия заболевания – 7,8%, а не 80% (последняя величина — это лишь предполагаемая точность метода). Такой результат кажется поначалу непонятным и странным, но нужно учесть: метод дает ложноположительный результат в 9,6% случаев (а это довольно много), поэтому в выборке будет много ложноположительных результатов. Для редкого заболевания большинство положительных результатов будут ложноположительными.
Давайте пробежимся глазами по таблице и попробуем интуитивно ухватить смысл теоремы. Если у нас есть 100 человек, только у одного из них есть заболевание (1%). У этого человека с 80% вероятностью метод даст положительный результат. Из оставшихся 99% у 10% будут положительные результаты, что дает нам, грубо говоря, 10 ложноположительных исходов из 100. Если мы рассмотрим все положительные результаты, то только 1 из 11 будет верным. Таким образом, если получен положительный результат, вероятность заболевания составляет 1/11.
Выше мы посчитали, что эта вероятность равна 7,8%, т.е. число на самом деле ближе к 1/13, однако здесь с помощью простого рассуждения нам удалось найти приблизительную оценку без калькулятора.
Теорема Байеса
Теперь опишем ход наших мыслей формулой, которая и называется теоремой Байеса. Эта теорема позволяет исправить результаты исследования в соответствии с искажением, которое вносят ложноположительные результаты:
$$display$$Pr(A|X) = frac{Pr(X|A) Pr(A)}{Pr(X|A) Pr(A) Pr(X|not A) Pr(not A)}$$display$$
- Pr(A|X) = вероятность заболевания (А) при положительном результате (X). Это как раз то, что мы хотим знать: какова вероятность события в случае положительного исхода. В нашем примере она равна 7,8%.
- Pr(X|A) = вероятность положительного результата (X) в случае, когда больной действительно болен (А). В нашем случае это величина истинных положительных – 80%
- Pr(A) = вероятность заболеть (1%)
- Pr(not A) = вероятность не заболеть (99%)
- Pr(X|not A) = вероятность положительного исхода исследования в случае, если заболевания нет. Это величина ложноположительных – 9,6 %.
Можно сделать заключение: чтобы получить вероятность события, нужно вероятность истинного положительного исхода разделить на вероятность всех положительных исходов. Теперь мы можем упростить уравнение:
$$display$$Pr(A|X) = frac{Pr(X|A)Pr(A)}{Pr(X)}$$display$$
Pr(X) – это константа нормализации. Она сослужила нам хорошую службу: без нее положительный исход испытаний дал бы нам 80% вероятность события.
Pr(X) – это вероятность любого положительного результата, будет ли это настоящий положительный результат при исследовании больных (1%) или ложноположительный при исследовании здоровых людей (99%).
В нашем примере Pr(X) – довольно большое число, потому что велика вероятность ложноположительных результатов.
Pr(X) создает результат 7,8%, который на первый взгляд кажется противоречащим здравому смыслу.
Смысл теоремы
Мы проводим испытания, чтоб выяснить истинное положение вещей. Если наши испытания совершенны и точны, тогда вероятности испытаний и вероятности событий совпадут. Все положительные результаты будут действительно положительными, а отрицательные — отрицательными. Но мы живем в реальном мире. И в нашем мире испытания дают неверные результаты. Теорема Байеса учитывает искаженные результаты, исправляет ошибки, воссоздает генеральную совокупность и находит вероятность истинного положительного результата.
Спам-фильтр
Теорема Байеса удачно применяется в спам-фильтрах.
У нас есть:
- событие А — в письме спам
- результат испытания — содержание в письме определенных слов:
$$display$$Pr(spam|words) = frac{Pr(words|spam) Pr(spam)}{Pr(words)}$$display$$
Фильтр берет в расчет результаты испытаний (содержание в письме определенных слов) и предсказывает, содержит ли письмо спам. Всем понятно, что, например, слово «виагра» чаще встречается в спаме, чем в обычных письмах.
Фильтр спама на основе черного списка обладает недостатками — он часто выдает ложноположительные результаты.
Спам-фильтр на основе теоремы Байеса использует взвешенный и разумный подход: он работает с вероятностями. Когда мы анализируем слова в письме, мы можем рассчитать вероятность того, что письмо — это спам, а не принимать решения по типу «да/нет». Если вероятность того, что письмо содержит спам, равна 99%, то письмо и вправду является таковым.
Со временем фильтр тренируется на все большей выборке и обновляет вероятности. Так, продвинутые фильтры, созданные на основе теоремы Байеса, проверяют множество слов подряд и используют их в качестве данных.
Дополнительные источники:
Автор: bio_robot