\( {\displaystyle P(A\mid B)={\frac {P(B\mid A)\,P(A)}{P(B)}}} \)

Теорема Байеса - одна из тех математических идей, которые одновременно просты и неочевидны. Целью этого утверждения является задача формализации того, как информация об одном событии может дать понимание о другом событии.
Формулировка достаточно скромна: \begin{equation}\label{bayes} {\displaystyle P(A\mid B)={\frac {P(B\mid A)\,P(A)}{P(B)}}}, \end{equation} где
\({\displaystyle P(A)}\) — априорная вероятность гипотезы A;
\({\displaystyle P(A\mid B)}\) — вероятность гипотезы A при наступлении события B (апостериорная вероятность);
\({\displaystyle P(B\mid A)}\) — вероятность наступления события B при истинности гипотезы A;
\({\displaystyle P(B)}\) — полная вероятность наступления события B.
Прежде всего отметим, что априорная вероятность вычисляется непосредственно до наблюдений, а апостериорная - после, уже с учетом полученных апостериорных данных ("кабы я был такой умный, как моя жена завтра").

Различные инструменты для классификации данных можно найти на веб-сайте Science Hunter.

Пример использования теоремы Байеса

Рассмотрим систему, которая проверяет, исправность компьютерных компонент в зависимости от температуры, при которой они работают. Пусть 99.5% неисправных компонент работают при температуре более 50 градусов. Известно, что 1 из 100 компонент неисправен в целом и один из 20 компонент работает слишком горячим, не зависимо от того, является ли он неисправным.
Таким образом, P(горячий | неисправный)=0.995 , P(неисправный)=1/100=0.01 и P(горячий)=1/20=0.05.
Если мы берем конкретный компонент и проверяем его, а температура составляет 53 градуса, насколько вероятно, что это будет неисправный компонент?
Для решения этой задачи используем теорему Байеса
\[ P(неисправный | горячий) = \frac{P(горячий | неисправный) \times P(неисправный)}{P(горячий)}= \frac{0.995 \times 0.01}{0.05}\approx 0.2. \]
Вот так, вероятность того, что он действительно неисправен, составляет всего 20%, а не 99,5%. И это имеет далеко идущие последствия, особенно для потребителя компьютерной техники.

Рассмотрим следующую задачу - по росту человека принять решение о том, кто это мужчина или женщина.
Длина телаМужчинаЖенщина
Карликоваяниже 129.9 смниже 121.9 см
Очень малая130-149.9 см121-139.9 см
Малая150-159.9140-148.9 см
Ниже средней160-163.9 см149-152.9 см
Средняя164-166.9 см153-155.9 см
Выше средней167-169.9 см156-158.9 см
Большая170-179.9 см159-167.9 см
Очень большая180-199.9 см168-186.9
Гигантскаяот 200 см и вышеот 187 см и выше
На рост человека может влиять этническая принадлежность к той или иной группе народов. Так, к примеру, средний рост китайцев - 164,8 см (у мужчин) и 154,5 см (у женщин), а средний рост нидерландцев - 184,8 см и 168,7 см, соответственно. Но мы будем основываться на том факте, что средний рост мужчины на планете 164 см, а женщины - 154 см.
Будем считать, что рост людей имеет нормальное распределение \(N\left( {\mu,\sigma ^2} \right)\) \[ p(l) = \frac{1}{\sigma \sqrt {2\pi } }\exp \left( { - \frac{\left( {l - \mu} \right)^2}{2\sigma ^2}} \right), \] в частности, рост мужчин имеет распределение \[ p\left( {l\left| \mbox{мужч.} \right.} \right) = \frac{1}{20\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 164} \right)^2}{2(20)^2}} \right), \]

а для женщин \[ p\left( {l\left| \mbox{женщ.} \right.} \right) = \frac{1}{22\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 154} \right)^2}{2(22)^2}} \right). \]

Нужно оценить параметры этих распределений для их использования в теореме Байеса для принятия решения о том, что данный рост соответствует мужчине или женщине.
Построим классификатор максимального правдоподобия. Он основывается на том, что приоритет отдается событию, у которого при данном наблюдении большая вероятность, то есть, если при данном значении роста \(l\) выполняется неравенство \[ p\left( {l\left| \mbox{мужч.} \right.} \right) > p\left( {l\left| \mbox{женщ.}\right.} \right), \] то есть \[ \frac{1}{20\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 164} \right)^2}{2(20)^2}} \right) > \frac{1}{22\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 154} \right)^2}{2(22)^2}} \right) \quad , \] то принимаем решение, что наблюдаем мужчину, в противном случае \[ \frac{1}{20\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 164} \right)^2}{2(20)^2}} \right) < \frac{1}{22\sqrt {2\pi } }\exp \left( { -\frac{\left( {l - 154} \right)^2}{2(22)^2}} \right) \] считаем, что наблюдаем женщину. В этом случае точка равновесия, в которой мы не можем определить пол человека соответствует росту в 155,2 см. Если рост меньше 155,2 см., то классификатор максимального правдоподобия считает, что данный человек женщина, если больше-мужчина.

Однако, полученный результат неверен, так как априорная вероятность наблюдаемости мужчины и женщины разная - женщин в мире больше, чем мужчин. Будем считать, что вероятность того, что встретится мужчина \(P\left( \mbox{мужч.} \right) =\frac{\mbox{2}}{\mbox{5}}\), а вероятность того, что встретится женщина \(P\left( \mbox{женщ.} \right) = \frac{\mbox{3}}{\mbox{5}}\).
В соответствии с правилом Байеса \[ P\left( \mbox{мужч.}\vert l \right) = \frac{p\left( {l\left| \mbox{мужч.} \right.} \right)P\left( \mbox{мужч.} \right)}{p\left( l \right)}\] и \[ P\left( \mbox{женщ.}\vert l \right) = \frac{p\left( {l\left| \mbox{женщ.} \right.} \right)P\left( \mbox{женщ.} \right)}{p\left( l \right)}. \] В этом случае классификатор будет иметь вид - если выполняется неравенство \[ \frac{p\left( {l\left| \mbox{мужч.} \right.} \right)P\left( \mbox{мужч.} \right)}{p\left( l \right)} > \frac{p\left( {l\left| \mbox{женщ.} \right.} \right)P\left( \mbox{женщ.} \right)}{p\left( l \right)}, \] или, что то же, \[ p\left( {l\left| \mbox{мужч.} \right.} \right)P\left( \mbox{мужч.} \right) > p\left( {l\left| \mbox{женщ.} \right.} \right)P\left( \mbox{женщ.} \right), \] то данный человек мужчина, в противном случае - женщина.
Таким образом, решая неравенство \[ \frac{2}{5} \cdot \frac{1}{20\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 164} \right)^2}{2(20)^2}} \right) > \frac{3}{5} \cdot \frac{1}{22\sqrt {2\pi } }\exp \left( { - \frac{\left( {l - 154} \right)^2}{2(22)^2}} \right), \] получаем, что если \(l>173.4\), то принимаем решение, что данный человек мужчина, если \(l<173.4\), то женщина.

Наивный байесовский классификатор.

Байесовский классификатор основывается на том, что известны априорные вероятности гипотез.
Ответа на вопрос: как их найти, байесовский классификатор не дает.
Наивный байесовский классификатор позволяет решить эту проблему, правда, плохо, даже очень плохо, но, все же, это лучше, чем ничего.
В основе "наивного" классификатора Байеса лежит метод оценки \(p(x|c_i)\). Наивность этого классификатора состоит в предположении, что все наблюдения \(x=(x_1,x_2,\ldots,x_N)\) независимы для каждого класса \(c_i\), то есть \begin{equation}\label{naive} p(x|c_i)=\prod_{\nu=1}^Np(x_\nu|c_i), \end{equation} отсюда получаем другой термин этого метода - "независимый" байесовский классификатор.
Каждое из одномерных маргинальных распределений \(p(x_\nu|c_i), \) \(\nu = 1, ..., N,\) \( i = 0, 1,\ldots,k)\) оценивается отдельно. Тем самым многомерная задача сводится к оценке одномерных. Одномерные оценки знакомы и просты, и для их получения требуется обучающая выборка меньшего размера, в отличие от оценки многомерных распределений.
Проиллюстрирует применение этого подхода для разделения двух классов - \(c_0\) и \(c_1\). По сути, это очень распространенный случай. Существует очень много ситуаций, когда нужно выбрать одно решений из двух возможных - да/нет, любит/не любит, правда/ложь, хорошо/плохо и т.д. Наша цель заключается в использовании исходного набора объектов (обучающей выборки) из известных классов, для построения количественной оценки такой, что ее большее значение связано с 1-м классом объектов и меньшее с объектами класса \(c_0\). Новые объекты будут классифицированы путем сравнения их оценки с заданным пороговым значением. Новый объект с оценкой превышающей порог будет отнесен к классу \(c_1\), а если оценка меньше, чем порог, то объект будет отнесен к классу \(c_0\).
Как обычно, \(P(c_i|x)\) - вероятность того, что объект с вектором признаков (наблюдений) \(x=(x_1,x_2,\ldots,x_N)\), относится к классу \(c_i\), \(P(c_i)\) - априорная вероятность того, что объект принадлежит классу \(c_i, p(x|c_i)\) распределение \(x\) для класса \(c_i\) и \(p(x)\) смесь распределения двух классов \[ p(x)=p(x|c_0)P(c_0)+p(x|c_1)P(c_1). \] Очевидно, что оценка \(P(c_i|x)\) сама по себе образует критерий для правила классификации. Для построения классификатора мы должны выбрать несколько подходящих пороговых значений. Например, очень часто используют порог \(1/2\). Более сложные подходы учитывают серьезность неверной классификации при выборе порога.
Простое применение теоремы Байеса (\ref{bayes}) дает оценку \(P(c_i|x)\) из предположения, что мы можем оценить каждое значение \(P(c_i)\) и \(p(x|c_i)\). Если обучающее множество является простой случайной выборкой из всего множества, то величина \(Р (c_i)\) может быть оценена непосредственно от доли этого класса объектов в обучающей выборке.
Для построения классификатора воспользуемся соотношением \[ \frac{P(c_1|x)}{1-P(c_1|x)}=\frac{P(c_1|x)}{P(c_0|x)}. \] Отсюда, используя (\ref{bayes}) и (\ref{naive}), получаем \begin{equation}\label{eq5.4} \frac{P(c_1|x)}{P(c_0|x)}=\frac{P(c_1)p(x|c_1)}{P(c_0)p(x|c_0)}=\frac{P(c_1)\prod_{\nu=1}^Np(x_\nu|c_1)}{P(c_0)\prod_{\nu=1}^Np(x_\nu|c_0)}. \end{equation} Используя в этом соотношении оценки одномерных маргинальных распределений \(p(x_\nu|c_i), \) \(\nu = 1, ..., N,\) \( i = 0, 1,\ldots,k)\), получаем соотношение \[ \frac{P(c_1|x)}{1-P(c_1|x)}=\psi(c_0,c_1,x), \mbox{ где } \psi(c_0,c_1,x)=\frac{P(c_1)\prod_{\nu=1}^Np(x_\nu|c_1)}{P(c_0)\prod_{\nu=1}^Np(x_\nu|c_0)}, \] позволяющее получить оценку априорных вероятностей выпадения классов \(P(c_0|x)\) и \(P(c_1|x)\).

Байесовские сети доверия.

Байесовская сеть (Bayesian Belief Network) - это способ описания в виде графа взаимосвязи между причинами и последствиями. Байесовская сеть составлена из узлов и дуг, их соединяющих, каждый узел представляет собой переменную с несколькими состояниями (события), а дуги - причинные связи между ними. Каждый узел имеет ассоциированную с ним таблицу вероятностей, описывающую вероятностные зависимости между узлами.

Рассмотрим пример взаимосвязи опоздания на работу Кости и Маши, в зависимости от гололеда на улице и исправности будильника у Кости.

Вероятность того, что Маша опаздывает при условии гололеда равна 0.8, вероятность, что Маша не опаздывает, учитывая, что на улице гололед, составляет 0.2. Вероятность, что Маша опаздывает, при условии отсутствия гололеда, 0.1, а вероятность, что не опаздывает 0.9.
Вариант с опозданием Кости сложнее, так как этот узел имеет двух родителей и поэтому количество комбинаций родительских состояний больше - их четыре. С другой стороны, для узлов «Гололед» и «Костя опоздал", поскольку эти узлы не имеют родительских узлов (такие узлы называеют корневыми), достаточно использовать вероятности только для каждого из двух возможных значений "истина" и "ложь".

Гололед Проспал Костя опоздал Маша опоздала
Маша опоздалаГололед
TrueFalse
True 0.8 0.1
False 0.2 0.9
Гололед
TrueFalse
0.1 0.9
Костя проспал
TrueFalse
0.4 0.6
ГололедКостя проспал Костя опоздал
TrueFalse
FalseFalse 0.3 0.7
FalseTrue 0.6 0.4
TrueFalse 0.6 0.4
TrueTrue 0.8 0.2
Нам известно, что \(P (Маша\_опоздала | Гололед) =\)0.8 и \(P (Гололед) =\)0.1. Тогда числитель в теореме Байеса (\ref{bayes}) равен 0.08, а знаменатель, \(P (Маша\_опоздала)\), является так называемой маргинальной (или безусловной) вероятностью, того, что Маша опаздывает, в случае, если у нас нет никакой конкретной информации о событиях (в данном случае о гололеде), которые влияют на эту вероятность: \[ P(Маша\_опоздала)=P(Маша\_опоздала|Гололед)\times P(Гололед)+P(Маша\_опоздала|Гололеда\_нет)\times P(Гололеда\_нет)= \]

0.8 × 0.1+0.1× 0.9=0.17.

Следовательно, подставляя это значение \(P(Маша\_опоздала)\) в теорему Байеса (\ref{bayes}), получаем \(P (Гололед | Маша\_опоздала) = \) 0.08 / 0.17 = 0.471.
Таким образом, наблюдение, что Маша опаздывает, значительно увеличивает вероятность гололеда (от 0,1 до 0,471).
Используем полученную информацию, чтобы пересмотреть событие "Костя опаздывает", это событие, в отличие от события "Маша опаздывает" обусловлено двумя родительскими событиями -проспал и гололед, а не одним. Первоначальная предельная вероятность того, что Костя опаздывает равна \[ P(Костя\_опоздал)=P(Костя\_опоздал|Гололед,Проспал)\times P(Гололед)P(Проспал)+P(Костя\_опоздал|Гололед,Не\_проспал)\times P(Гололед)P(Не\_проспал)+ \] \[ P(Костя\_опоздал|Гололеда\_нет,Проспал)\times P(Гололеда\_нет)\times P(Проспал)+P(Костя\_опоздал|Гололеда\_нет,Не\_проспал)\times P(Гололеда\_нет)\times P(Не\_проспал)= \]

0.032+0.036+0.216+0.162=0.446.

Известна пересмотренная маргинальная вероятность \(P (Гололед) =\) 0.471 и, следовательно, \(P (Гололеда\_нет) = \)0.529. Используя эти значения, получаем \(P (Костя\_опоздал) =\) 0.542. Таким образом, наблюдение, что Маша опаздывает, также увеличило вероятность того, что Костя опаздывает.
Наиболее вероятное объяснение опоздания Кости - он проспал, однако, если теперь обнаружим, что Маша также опоздала, а затем, что на улице гололед, то наиболее вероятным объяснением опоздания Кости становится именно гололед.
Это пример обратного вывода, что делает использование Байесовских сетей доверия более привлекательными перед методами классической статистики. К примеру, регрессионные модели не могут учитывать последствия будущих изменения процесса, они часто бывают хорошим инструментом для описания прошлого, но для прогнозирования будущего не эффективны. В отличие от методов моделирования черных ящиков (включая классическую регрессию моделей и нейронных сетей), узлы Байесовских сетей не являются «скрытыми» переменными, а механизм вывода основан на известном, давно проверенном инструменте - теореме Байеса.

Применение байесовской сети в дифференциальной диагностике

Байесовские сети являются эффективным, компактным и интуитивно понятным способом представления знаний, связаных с неопределенностью. Одной из наиболее популярных сфер использования Байесовских сетей доверия является анализ рисков, как в экономических задачах, так и в медицине - в задачах дифференциальной диагностики.
Не всегда все симптомы чётко укладываются в картину определённого заболевания. Чаще врач встречается со сложным симптомокомплексом. Выявить из него наиболее важные и характерные детали для постановки правильного диагноза могут помочь врачу различные модели, в том числе и Байесовские сети.
Oсновное применение байесовской сети — определение апостериорных маргинальных вероятностей при поступивших наблюдениях для некоторых переменных данной сети. В зависимости от типа наблюдаемых узлов различаем: Рассмотрим простой пример, позволяющий проиллюстрировать возможности этого подхода.
Пусть есть некие наблюдения, устанавливающие зависимости между тем, является ли человек курящим или есть ли у него ожирение с возможностью наличия у него диабета или гипертонии.
В случае, если к врачу приходит конкретный пациент, для которого мы имеем точную информацию о каком-то из признаков, описанных а Байесовской сети, то как в этом случае будут соотноситься остальные признаки? Байесовская сеть позволяет это увидеть. Для этой цели на узле сети, соответствующем известному признаку, используя мышь, нужно установить требуемое значение (отсутствие или наличие данного признака). Остальные узлы сети пересчитаются и укажут вероятности остальных признаков, но уже для данного пациента (данные в таблицах вероятностей можно изменить).
Ожирение 0.5 Диабет 0.5 Высокий 0.5 сахар в крови Курение 0.5 Гипертония 0.5
Высокий сахар в крови Диабет
TrueFalse
True 0.7 0.2
False 0.3 0.8
Диабет Ожирение
TrueFalse
True 0.8 0.4
False 0.2 0.6
Ожирение
TrueFalse
0.3 0.7
Курение
TrueFalse
0.6 0.4
Ожирение Курение Гипертония
TrueFalse
FalseFalse 0.2 0.8
FalseTrue 0.1 0.9
TrueFalse 0.8 0.2
TrueTrue 0.7 0.3

Полезная литература. Книги.

  1. Barber D. Bayesian Reasoning and Machine Learning / D.Barber .— Cambridge: Cambridge University Press, 2012 .— 610 с.
  2. Bramer M. Principles of Data Mining / M.Bramer; Third Edition .— London: Springer, 2007 .— 530 с.
  3. Cady F. The Data Science Handbook / F.Cady .— Hoboken: John Wiley & Sons, Inc., 2017 .— 395 с.
  4. Clarke B. Principles and Theory for Data Mining and Machine Learning / B.Clarke, E.Fokoue, H.Zhang .— Dordrecht Heidelberg London New York: Springer, 2009 .— 793 с.
  5. Cherubin G. Bayes, not Naïve: Security Bounds on Website Fingerprinting Defenses / G.Cherubin .— London: Royal Holloway University of London, 2017 .— 17 с.
  6. Elatia S. Data Mining and Learning analytics / S.Elatia, D.Ippercial, O.Zaїane .— Hoboken, New Jersey: Wiley & Sons, Inc, 2016 .— 314 с.
  7. Hartshorn S. Bayes Theorem Examples. A Visual Guide For Beginners. / S.Hartshorn .— 2016 .— 56 с .— Режим доступу: http://www.fairlynerdy.com/bayes-theorem-cheat-sheets/
  8. Hastie T. The Elements of Statistical Learning Data Mining, Inference, and Prediction / T.Hastie, R.Tibshirani, J.Friedman; Second Edition .— Springer, 2017 .— 764 p.
  9. Sammut C. Encyclopedia of Machine Learning / C.Sammut, G.Webb .— NY: Springer Science+Business Media, 2010 .— 1059 p.
  10. Sivia D. Data Analysis. A Bayesian Tutorial. / D.Sivia, J.Skilling; Second Edition .— Oxford: Oxford University Press, 2006 .— 259 с.
  11. The Top Ten Algorithms in DataMining; Vipin Kumar (Editor) .— Taylor & Francis Group, LLC, 2009 .— 2006 p.
  12. Wang J. Encyclopedia of Data Warehousing and Mining / J.Wang; Second Edition .— Hershey: Information Science Reference, 2009 .— 2227 p.
  13. Айвазян С.А. и др. Прикладная статистика: Основы моделирования и первичная обработка данных. Справочное издание. — М.: Финансы и статистика, 1983. — 471 с.
  14. Гайдышев И. Анализ и обработка данных. Специальный справочник. — СПб.: Питер, 2001. — 750 с.
  15. Грас Джоэл. Data Science. Наука о данных с нуля. СПб: БХВ-Петербург, 2017. — 336 с.
  16. Кобзарь А.И. Прикладная математическая статистика. Для инженеров и научных работников. М.: Физматлит, 2006. — 816 с.
  17. Силен Д. Основы Data Science и Big Data. Python и наука о данных / Д.Силен, А.Мейсман, М.Али .— СПб: Питер, 2017 .— 336 с.
  18. Спрент П. Как обращаться с цифрами, или Статистика в действии. Минск: Вышэйшая школа, 1983. — 271 с.
  19. Червоненкис А.Я. Компьютерный анализ данных. М.: Яндекс, 2009. — 260 с.
  20. Шумейко А.А., Сотник С.Л. Интеллектуальный анализ данных (Введение в Data Mining).-Днепропетровск:Белая Е.А., 2012.- 212 с.

Полезная литература. Статьи.

  1. A Tutorial on Bayesian Networks for System Health Management / A.Choi, Lu.Zheng, A.Darwiche, O.J.Mengshoel .— Los Angeles: University of California.— 23 с.
  2. Crime data mining: A general framework and some examples / [H.Chen, W.Chung, J.Xu та ін.] // Computer .— 2004 .— №37 N4 .— C.50-56.
  3. Lauritzen S. Local Computation with Probabilities on Graphical Structutes and their Application to Expert Systems / S.Lauritzen, D.Spiegelhalter // J.R.Statist.Soc. .— 1988 .— №50 N2 .— C.157-224.
  4. Nicholson A. The “Native Fish” Bayesian networks / A.Nicholson, O.Woodberry, C.Twardy; Bayesian Intelligence Technical Report 2010/3, 2010 .— 30 с.
  5. Gonzales C. A New Algorithm for Learning Non-Stationary Dynamic Bayesian Networks With Application to Event Detection / C.Gonzales, S.Dubuisson, C.Manfredotti // Proceedings of the Twenty-Eighth International Florida Artificial Intelligence Research Society Conference .— 1111 .— №1 .— C.564-569.

  6. Heckerman D. Bayesian Networks for Data Mining / D.Heckerman // Data Mining and Knowledge Discovery .— 1997 .— №1 .— C.79-119.
  7. Renooij S. How biased are our numbers? / S.Renooij, H.Tabachneck-Schijf, S.Mahoney // Proceedings of the 6th Bayesian Modelling Applications Workshop .— Helsinki, 2008 .— C.1-64.
  8. Steck H. Bayesian Belief Networks for Data Mining / H.Steck, V.Tresp .— Munich, Germany: Siemens AG, Corporate Technology Information and Communications.— 10
  9. Wang X.D. Data mining in Network engineering. Bayesian Networks for Data Mining / X.D.Wang // International Conference on Education, Management, Commerce and Society .— 2015 .— C.412-417.
  10. Using Bayesian belief networks to evaluate fish and wildlife population viability under management alternatives from an enviromental impact statement / [B.Marcot, R.Holthausen, M.Raphael та ін.] // Forest Ecology and Management .— 2001 .— №153 .— C.29-42.

Вопрос-ответ.

Задать вопрос: