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

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

Кроме того, этот классификатор основан на теореме Байеса, поэтому он называется алгоритмом наивного Байеса.

Теорема Байеса:

Теорема Байеса обеспечивает способ вычисления апостериорной вероятности P(c|x) из P(c), P(x) и P(x|c). Посмотрите на уравнение ниже:

Выше,

  • P(c|x) — апостериорная вероятность класса (c, цель) с учетом предиктора (x, атрибуты).
  • P(c) — априорная вероятность класса.
  • P(x|c) — это вероятность, которая является вероятностью предиктора данного класса.
  • P(x) — априорная вероятность предиктора.

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

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

Здесь P(Да) = 9/14 и P(Нет) = 5/14, теперь нам также нужно рассчитать индивидуальные вероятности в отношении каждой функции (или погодных условий в нашем наборе данных).

Теперь предположим, что нам нужно классифицировать следующий новый экземпляр X, где прогноз = солнечно, температура = прохладно, влажность = высокая, а ветер = истина. Итак, вероятность игры в гольф определяется по формуле:

  • P(внешний вид = солнечно | игра = да) = 2/9
  • P (температура = холодно | играть = да) = 3/9
  • P(Влажность = высокая | игра = да) = 3/9
  • P(ветер = правда | игра = да) = 3/9
  • P(играть = да) = 9/14
  • P(прогноз = солнечно | игра = нет) = 3/5
  • P(температура=холод | игра=нет) = 1/5
  • P(Влажность = высокая | игра = нет) = 4/5
  • P(ветер = правда | игра = нет) = 3/5
  • P(играть = нет) = 5/14

P(X | играть = да). P(играть = да) = 2/9 * 3/9 * 3/9 * 3/9 * 9/14 = 0,0053

(P(X | играть = нет).P(играть = нет)) = 3/5 * 1/5 * 4/5 * 3/5 * 5/14 = 0,0206

P(X) = 0.0053 + 0.0206 = 0.0259

P(играть = Да|X) = (P(X | играть = да).P(играть = да)) / P(X) = 0,204

P (игра = нет | X) = (P (X | игра = нет). P (игра = нет)) / P (X) = 0,806

Это означает, что с вероятностью 0,806 наш прогноз того, что в гольф будут играть, — «нет».

Метод, который мы обсуждали выше, применим для дискретных данных. В случае непрерывных данных нам необходимо сделать некоторые предположения относительно распределения значений каждого признака. Различные наивные байесовские классификаторы различаются главным образом предположениями, которые они делают относительно распределения P(xi|y).

Гауссовский наивный байесовский классификатор:

В гауссовом наивном байесовском подходе предполагается, что непрерывные значения, связанные с каждой функцией, распределяются в соответствии с распределением Гаусса. Распределение Гаусса также называют нормальным распределением. При построении он дает кривую в форме колокола, которая симметрична относительно среднего значения признаков, как показано ниже:

Предполагается, что вероятность признаков является гауссовой, поэтому условная вероятность определяется выражением:

Приложения наивного байесовского алгоритма:

  • Прогнозирование в реальном времени.Наивный байесовский алгоритм — это быстро обучаемый классификатор, который, несомненно, работает быстро. Таким образом, его можно использовать для прогнозирования в режиме реального времени.
  • Многоклассовое прогнозирование.Этот алгоритм также хорошо известен функцией мультиклассового прогнозирования. Здесь мы можем предсказать вероятность нескольких классов целевой переменной.
  • Классификация текста/Фильтрация спама/Анализ тональности. Наивные байесовские классификаторы, в основном используемые для классификации текстов (из-за лучшего результата в задачах с несколькими классами и правила независимости), имеют более высокий уровень успеха по сравнению с другими алгоритмами. В результате он широко используется в фильтрации спама (выявление спама по электронной почте) и анализе настроений (в анализе социальных сетей для выявления положительных и отрицательных настроений клиентов).
  • Система рекомендаций. Наивный байесовский классификатор и совместная фильтрация вместе создают систему рекомендаций, которая использует методы машинного обучения и интеллектуального анализа данных для фильтрации невидимой информации и прогнозирования того, понравится ли пользователю данный ресурс или нет.

Вывод:

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

Если вы найдете этот блог полезным, не стесняйтесь хлопать в ладоши.