В этом блоге я опишу интуицию, лежащую в основе «Наивного алгоритма Байеса». Прежде чем переходить к алгоритму, давайте познакомимся с некоторыми основами теории вероятностей.

Если вас устраивают эти предварительные условия, начните с части «Наивный-байесовский алгоритм».

1) Предварительные требования:

Я кратко расскажу об этих темах.

а) Независимые события. Если возникновение одного события не влияет на возникновение другого события, то эти события считаются независимыми.

Пример: A = наблюдение 6 на кубике 1, B = наблюдение 5 на кубике 2, оба они независимы, поскольку результат кубика 1 не влияет на кубик 2.

P(A ∩ B) = P(A) * P(B)

Как и в предыдущем примере, что, если у нас есть только один кубик

A = P (бросок 6 в кубике 1) и B = P (бросок 5 в кубике 1), тогда,

P(A ∩ B) = 0

Поскольку оба события никогда не происходят одновременно и для обоих событий используются одни и те же кости, эти события называются «взаимоисключающими событиями».

б) Условная вероятность: это мера «вероятности наступления одного события при условии, что другое событие уже произошло». Вероятность появления A, когда B уже произошло, обозначается как

Приведенные выше обозначения поясняются следующим образом. Из простого определения независимости, если A, B - любые два независимых события, то

P (A ∩ B) = P (A) * P (B) (то есть Совместная вероятность)

Но в «Совместной вероятности» мы не знаем, являются ли эти события зависимыми или независимыми. Итак, независимость этих двух событий такова:

c) Теорема Байеса: она используется для расчета вероятности события на основе его связи с другим событием. Предполагается, что все события условно независимы.

После замены «совместной вероятности p (A∩B)» в приведенное выше уравнение,

d) Условная независимость: A и B называются условно независимыми для данного C, если и только если

Где A, B считаются независимыми.

Пример: A = человек p1 вероятность опоздания домой,

B = человек p2 вероятность опоздания домой,

C = В городе шторм.

Сначала решите условную вероятность независимых событий A, B.

Но, предположим, "C" дал, так что P (оба опаздывают домой | шторм)

Следовательно, A, B независимы при условии «C» (т. Е. Условно независимы).

Предположим, если событие C = «В городе шторм и p1, p2 живут в одном месте и используют тот же транспорт»

тогда P (A | C) и P (B | C) больше не являются условно независимыми, потому что A, B теперь зависимы, поскольку они из одной местности.

д) Условная независимость от нескольких событий:

Этот вывод будет иметь решающее значение, пока мы решаем вывод «Наивного алгоритма Байеса».

Теперь давайте посмотрим, как расширить «условную независимость для нескольких событий» A, B, C, D, E, F …… & при заданном условии.

Предположим, что некоторые независимые события A, B, C, D, E, F заданы при условии, что событие «Z» уже произошло, согласно определению условной независимости, все они становятся условно независимыми.

Ну наконец то! Используя эти концепции, мы приходим к выводу «Наивного байесовского алгоритма». Давайте применим его к нашему набору обучающих данных.

2) Наивный байесовский алгоритм:

В машинном обучении «Наивные классификаторы Байеса» представляют собой семейство простых вероятностных классификаторов, основанных на применении теоремы Байеса с сильными (наивными) предположениями о независимости между функциями.

Все наивные байесовские классификаторы предполагают, что значение одной функции не зависит от значения любой другой функции при заданном условии (т. Е. Метке класса).
Например, фрукт может считаться яблоком, если он красный, круглый и имеет диаметр около 10 см. Наивный байесовский классификатор считает, что каждая из этих характеристик независимо влияет на вероятность того, что этот фрукт является яблоком, независимо от любых возможных корреляций между характеристиками цвета, округлости и диаметра.

Поскольку она предполагает независимость событий, модель Наивного Байеса в большинстве случаев служит эталонной моделью.

Если вас интересует деривационная часть, сразу переходите к разделу «Пример» чуть ниже этой деривационной части.

3) Вывод:

Предположим, что у нас есть обучающие данные для 'n' наблюдений с 4 функциями F (1–4), которые являются дискретными переменными, и 1 меткой класса, которая имеет классы 'k' (здесь да / нет, k = 2).

Если новое наблюдение поступает из тестовых данных, пусть эта точка запроса без метки класса Yq и точки Xq ‹xq1, xq2, xq3, xq4› . Задача состоит в том, чтобы предсказать метку класса «Yq» (да / нет) для заданных Xq ‹xq1, xq2, xq3, xq4›. Каждый компонент Xq является значениями для своих соответствующих характеристик.

Рассчитайте вероятность появления метки класса 'Yk' (да / нет) с учетом всех функций,

Для всех меток классов Yyes, Yno знаменатель постоянный. В числителе есть не что иное, как совместная вероятность, которая равна

Теперь начните решать это как Вероятность всех функций с учетом метки класса 'Yk' с учетом всех функций,

Метка класса Yq получается из вероятностей Xq с учетом «k» классов (да / нет), которые имеют максимальное значение.

Если product1 выше, чем product2, тогда Yq классифицируется как «да», и наоборот.

Примечание. Если какой-либо из признаков является непрерывным, то вероятность получается из гауссовского PDF.

4) Пример:

Четыре характеристики ‹f1, f2, f3, f4› - это ‹« возраст »,« доход »,« да »,« кредит_рейтинг »›.

Если у нас есть точка запроса из тестовых данных Xq ‹молодежь, высокая, да, отличная› предсказать, купит ли компьютер или нет?

Шаг 1. Рассчитайте апостериорную вероятность для buys_computer = yes, учитывая Xq ‹молодежь, старшая, ученица, отлично›.

Шаг 2: аналогичным образом найдите апостериорное значение для buys_computer = no.

Умножая все эти вероятные вытяжки, апостериор для buys_computer = no равен 0,0102.

Следовательно, max (0,0071, 0,0102) показывает прогнозируемый ярлык класса = «нет», так что ученик не покупает компьютер.

Примечание. Вероятностью доказательства (т. е. знаменателем / основополагающей истиной) пренебрегают, поскольку она остается неизменной на протяжении всех расчетов.

5) Лаплас (или) добавка сглаживания:

Это вводится для решения проблемы нулевой вероятности - «Если точка запроса содержит новое наблюдение, которое еще не отображается в обучающих данных при вычислении вероятностей».

Давайте разберемся с тем же набором данных, но с другой точкой запроса Xq.

Xq ‹пацан, высокий, да, отличный›

Меры предосторожности:

«Α» не должно быть слишком большим или слишком маленьким, его следует выбирать правильно, принимая во внимание компромисс «отклонение-отклонение».

«Α» не должен нарушать однородные вероятности, которые присваиваются неизвестным данным / новым наблюдениям.

Поиск оптимального "α":

Используя график изгиба, попробуйте построить график «показатель производительности» по сравнению с гиперпараметром «α».

Недостаток:

Один из самых больших недостатков заключается в том, что из-за предположения об условной независимости он не учитывает корреляцию между функциями.

*********************** КОНЕЦ ********************** ***

Существуют разные версии наивного байеса, такие как BernoulliNB, MultinomialNB (для дискретных переменных), GaussianNB (для непрерывных переменных) в sklearn с небольшими различиями в использовании, что можно понять из документации sklearn.

Ссылки:

· Https://en.wikipedia.org/wiki/Independence_(probability_theory)

· Https://en.wikipedia.org/wiki/Conditional_probability

· Https://en.wikipedia.org/wiki/Bayes%27_theorem

· Https://en.wikipedia.org/wiki/Conditional_independence

· Https://math.stackexchange.com/questions/248911/conditional-probability-pa-intersect-b-intersect-c

· Https://en.wikipedia.org/wiki/Additive_smoothing