Формула Байеса

Материал из Викиконспекты
Перейти к: навигация, поиск

Формулировка

[math]P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum_{j=1}^N P(A|B_j)P(B_j)}[/math],

где

[math]P(A)[/math] — вероятность события A;
[math]P(A|B)[/math] — вероятность события A при наступлении события B;
[math]P(B|A)[/math] — вероятность наступления события B при истинности события A;
[math]P(B)[/math] — вероятность наступления события B.

Доказательство

[math]P(B|A) = \frac{P(B \cap A)}{P(A)}[/math]
[math]P(B \cap A)=P(A \cap B)=P(A|B)P(B)[/math]
[math]P(A)=\sum_{j=1}^N P(A|B_j)P(B_j)[/math] (по формуле полной вероятности)
[math]\Rightarrow P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum_{j=1}^N P(A|B_j)P(B_j)}[/math]

Примеры

Определение вероятности заболевания

Пусть событие А истинно, если анализ на грипп положительный, событие B1 отвечает за грипп, B2 отвечает за другую болезнь. Также предположим, что:

[math]P(A|B_1)[/math]=0,9,
[math]P(A|B_2)[/math]=0,001,
[math]P(B_1)[/math]=0,01,
[math]P(B_2)[/math]=0,99.

Рассмотрим вероятность гриппа при положительном анализе:

[math]P(B_1|A)=\frac{P(B_1 \cap A)}{P(A)}=\frac{P(A|B_1)P(B_1)}{P(A|B_1)P(B_1)+P(A|B_2)P(B_2)}=\frac{100}{111}[/math]

Метод фильтрации спама

При проверке письма вычисляется вероятность того, что оно — спам. Для каждого слова эксперементально подсчитывается его вес — процент содержания этого слова в письмах, отмеченных пользователем, как спам. Тогда весом письма является среднее весов всех его слов. Таким образом, программа(анти-спам бот) считает письмо спамом, если его вес больше какой-то заданной пользователем планки (обычно 60-80%). После вынесения решения о полученном письме происходит пересчёт в базе данных весов слов, составляющих текст письма. Почтовый фильтр, основанный на такой системе, называется байесовским.

Пример. Если 80% писем, содержащих фразу [math]"[/math]Привет :) Как дела?)[math]"[/math], являлись спамом, то и следующее письмо с этим словосочетанием c большой вероятностью — спам.

См. также