Наивные байесовские алгоритмы машинного обучения

искусственный интеллект

Введение в алгоритмы

Согласно описанию в книге Ли Ханга «Статистические методы обучения», алгоритмы машинного обучения можно разделить на вероятностные модели и невероятностные модели. Модели, включенные в две категории, упомянутые в этой книге, следующие:

  • Вероятностная модель

Включая деревья решений, наивные байесовские модели, скрытые марковские модели, условные случайные поля, вероятностный латентный семантический анализ, латентное распределение Дирихле, смешанные модели Гаусса являются вероятностными моделями.

  • невероятностная модель

Включает персептроны, машины опорных векторов, k-ближайших соседей, AdaBoost, k-средних, латентный семантический анализ и алгоритмы нейронных сетей.

Кроме того, логистическую регрессию можно рассматривать как вероятностную модель, так и невероятностную модель.

В приведенных выше вероятностных моделях ранее была описана модель дерева решений, а сегодня мы поговорим о Наивной байесовской классификации.

Наивный байесовский метод классификации основан на теореме Байеса и предположении об условной независимости признаков. Для заданного обучающего набора данных, во-первых, на основе предположения о независимости условий признака, изучается совместное распределение вероятностей ввода и вывода; затем на основе этой модели для заданного ввода получается вывод с наибольшей апостериорной вероятностью. с помощью теоремы Байеса. Алгоритм прост в реализации, обладает высокой эффективностью обучения и прогнозирования и является широко используемым методом.

Давайте сначала рассмотрим базовые знания теории вероятностей.

Базовые знания теории вероятностей

байесовская формула
P(BiA)=P(ABi)P(Bi)j=1nP(ABi)P(Bi)P(B_i | A) = \frac {P(A | B_i) · P(B_i)} { \sum _{j=1} ^{n} {P(A | B_i) · P(B_i)} }

Знаменатель здесь на самом делеP(A)P(A)

Если вы не понимаете формулу Байеса, мы можем посмотреть на упрощенную версию:

P(BA)=P(AB)P(B)P(A)P(B | A) = \frac {P(A | B) · P(B)} {P(A)}

Следующая диаграмма помогает нам понять эту формулу:

$P(B | A) — вероятность появления B при условии A. A представляет левый круг с вероятностью 0,3, B представляет правый круг с вероятностью 0,4, прямоугольник представляет собой множество всех возможностей с вероятностью 1. в

P(A)=0.3P(A) = 0.3
P(B)=0.4P(B) = 0.4

Пересечение двух окружностей — это вероятность того, что событие АВ произойдет одновременно:

P(AB)=0.1P(AB) = 0.1

левая часть формулы

P(BA)=1/3=0.33333...P(B|A) = 1 / 3 = 0.33333...

правая часть формулы

P(AB)P(B)P(A)=0.10.40.40.3=1/3=0.33333...\frac {P(A|B) · P(B)} {P(A)} = \frac {\frac {0.1} {0.4} 0.4 } {0.3} = 1 / 3 = 0.33333...

Формула оказывается правильной.

В этой статье мы рассмотрим проблему классификации.

Алгоритмическая сцена

У нас есть следующий набор данных,X1X_1иX2X_2это набор функций, набор значенийA1={1,2,3}A_1 = \{1,2,3\},A2={S,M,L}A_2 = \{S, M, L\},YYотметить класс,YеC={1,1}Y\in C = \{1, -1\}.

Данные тренировки следующие:

X1X_1 X2X_2 YY
1 1 S -1
2 1 M -1
3 1 M 1
4 1 S 1
5 1 S -1
6 2 S -1
7 2 M -1
8 2 M 1
9 2 L 1
10 2 L 1
11 3 L 1
12 3 M 1
13 3 M 1
14 3 L 1
15 3 L -1

Учитывая новый образец (2, S), найдите прогнозируемое значение для этого образца.

На первый взгляд видно, что одна из выборок в таблице — (2, S). Затем посмотрите таблицу напрямую, разве результат не -1? Верна ли эта идея? неправильный! Очень прямая причина, потому что целевые значения здесь все вероятностные, и при одинаковых условиях есть определенная вероятность получить -1, или 1. Здесь по признаку (2, S) мы получаем ровно -1 в таблице. Это не означает, что вероятность получить target=-1 по признаку (2, S) равна 100%.

Предсказание результата

На основе приведенных выше выборок можно рассчитать следующие вероятности:

P(Y=1)=915,P(Y=1)=615P(Y=1) = \frac {9} {15}, P(Y = -1) = \frac {6} {15}

P(X(1)=1Y=1)=29,P(X(1)=2Y=1)=39,P(X(1)=3Y=1)=49,P(X^{(1)} = 1 | Y = 1) = \frac {2} {9}, P(X^{(1)} = 2 | Y = 1) = \frac {3} {9}, P(X^{(1)} = 3 | Y = 1) = \frac {4} {9},

P(X(2)=SY=1)=19,P(X(2)=MY=1)=49,P(X(2)=LY=1)=49,P(X^{(2)} = S | Y = 1) = \frac {1} {9}, P(X^{(2)} = M | Y = 1) = \frac {4} {9}, P(X^{(2)} = L | Y = 1) = \frac {4} {9},

P(X(1)=1Y=1)=36,P(X(1)=2Y=1)=26,P(X(1)=3Y=1)=16,P(X^{(1)} = 1 | Y = -1) = \frac {3} {6}, P(X^{(1)} = 2 | Y = -1) = \frac {2} {6}, P(X^{(1)} = 3 | Y = -1) = \frac {1} {6},

P(X(2)=SY=1)=36,P(X(2)=MY=1)=26,P(X(2)=LY=1)=16,P(X^{(2)} = S | Y = -1) = \frac {3} {6}, P(X^{(2)} = M | Y = -1) = \frac {2} {6}, P(X^{(2)} = L | Y = -1) = \frac {1} {6},

Для заданного (2, S) мы вычисляем вероятности того, что оно предсказывает 1 и -1 соответственно.

Вероятность результата 1:

P(Y=1X(1)=2,X(2)=S)P(Y = 1 | X^{(1)} = 2, X^{(2)} = S )

=P(X(1)=2,X(2)=SY=1)P(Y=1)P(X(1)=2,P(X(2)=S)= \frac {P(X^{(1)} = 2, X^{(2)} = S | Y = 1 ) · P(Y = 1)} {P(X^{(1)} = 2, P(X^{(2)} = S) }

=P(X(1)=2Y=1)P(X(2)=SY=1)P(Y=1)P(X(1)=2,X(2)=S)=3919915P(X(1)=2,P(X(2)=S)=145P(X(1)=2,P(X(2)=S)= \frac {P(X^{(1)} = 2 | Y = 1 ) P(X^{(2)} = S | Y = 1 ) · P(Y = 1)} {P(X^{(1)} = 2, X^{(2)} = S) } = \frac {\frac {3} {9} ·\frac {1} {9} · \frac {9} {15} } {P(X^{(1)} = 2, P(X^{(2)} = S) } = \frac {1} {45 ·{P(X^{(1)} = 2, P(X^{(2)} = S) }}

Вероятность того, что результат равен -1:

P(Y=1X(1)=2,X(2)=S)P(Y = -1 | X^{(1)} = 2, X^{(2)} = S )

=P(X(1)=2,X(2)=SY=1)P(Y=1)P(X(1)=2,P(X(2)=S)= \frac {P(X^{(1)} = 2, X^{(2)} = S | Y = -1 ) · P(Y = -1)} {P(X^{(1)} = 2, P(X^{(2)} = S) }

=P(X(1)=2Y=1)P(X(2)=SY=1)P(Y=1)P(X(1)=2,X(2)=S)=2636615P(X(1)=2,P(X(2)=S)=115P(X(1)=2,P(X(2)=S)= \frac {P(X^{(1)} = 2 | Y = -1 ) P(X^{(2)} = S | Y = -1 ) · P(Y = -1)} {P(X^{(1)} = 2, X^{(2)} = S) } = \frac {\frac {2} {6} ·\frac {3} {6} · \frac {6} {15} } {P(X^{(1)} = 2, P(X^{(2)} = S) } = \frac {1} {15 ·{P(X^{(1)} = 2, P(X^{(2)} = S) }}

можно получить сравнение

P(Y=1X(1)=2,X(2)=S)>P(Y=1X(1)=2,X(2)=S)P(Y = -1 | X^{(1)} = 2, X^{(2)} = S ) > P(Y = 1 | X^{(1)} = 2, X^{(2)} = S )

Таким образом, предсказанное значение (2, S) равно -1.

Суммировать

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

X(1)=1X^{(1)} = 1час,X(2)X^{(2)} Вероятность быть S или M очень высока.X(1)=3X^{(1)} = 3час,X(2)X^{(2)} Вероятность быть M или L очень высока.

Следует иметь в виду, что характеристика байесовских моделей заключается в том, что функции не зависят друг от друга. В противном случае пострадает точность расчета. Так что я лично не думаю, что это особенно хороший случай.Что вы думаете?