Математика алгоритма наивного Байеса и его применение

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

это алгоритм классификации и вероятностный метод

Условная вероятность:

Условная вероятность определяется как вероятность наступления события или исхода, основанная на наступлении предыдущего события или исхода.

Примеры на странице: https://en.wikipedia.org/wiki/Conditional_probability

Независимые и взаимоисключающие события:

если P(a/b) есть P(a) или P(b/a) есть P(b), то A и B известны как независимые события.

если P(a/b) = P(b/a)=0, то A и B известны как взаимоисключающие события

Пример: https://en.wikipedia.org/wiki/Bayes%27_theorem

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

Предположения, сделанные наивным Байесом:каждая функция делает:

  • Функции считаются условными независимыми
  • равный вклад в результат

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

Абстрактно, наивный байесовский метод — это модель условной вероятности: задан экземпляр проблемы, подлежащий классификации, представленный вектором X= (x1,x2,x3,….xn), представляющим некоторое n функции (независимые переменные)

он присваивает этому экземпляру вероятности P(Ck/x1,x2,x3…xn)

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

На практике интерес представляет только числитель этой дроби, потому что знаменатель не зависит от C, а значения признаков xi заданы, так что знаменатель фактически постоянен.

Числитель эквивалентен модели совместной вероятности P(Ck, x1,x2,x3…xn), которую можно переписать следующим образом, используя цепное правило для повторных применений определения условная вероятность:

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

Это означает, что при указанных выше предположениях о независимости условное распределение по переменной класса C равно:

Построение классификатора на основе вероятностной модели:

Наивный байесовский классификатор объединяет эту модель с решающим правилом. Одно общее правило состоит в том, чтобы выбрать наиболее вероятную гипотезу, чтобы свести к минимуму вероятность неправильной классификации; это известно как правило принятия решений максимум апостериори или MAP.

Могут быть случаи, когда классификация может быть многовариантной. Следовательно, мы должны найти переменную класса (y) с максимальной вероятностью.

Обратитесь к блогу, например, ссылка: http://shatterline.com/blog/

Время и пространство Сложность:

Обучение

  • Временная сложность:- o(nd)
  • пространственная сложность:- o(d*c), где d-число признаков и c число классов (мы храним только вероятность в пространстве, так что память эффективнее при время работы)

Примечание.

  • Применение в спам-фильтре, просмотр положительных или отрицательных, в основном, проблем с классификацией текста
  • Наивная база считается эталонной (базовой) моделью специально для классификации текста.

Сглаживание Лапласа в базовом алгоритме Naive: (используйте альфа=1)

что делать, если слово в обзоре отсутствует в наборе обучающих данных?

Проверка запроса = w1 w2 w3 w’

В таблице правдоподобия у нас есть P(w1|положительный результат), P(w2|положительный результат), P(w3|положительный результат) и P(положительный результат). Ой, подождите, а где P(w’|положительное)?

В модели «мешок слов» мы подсчитываем количество слов. Вхождения слова w’ в обучении равны 0. Согласно этому

P(w’|положительный)=0 и P(w’|отрицательный)=0, но это сделает как P(положительный|отзыв), так и P(отрицательный|отзыв) равными 0, поскольку мы умножаем все вероятности. Это проблема нулевой вероятности. Итак, как решить эту проблему?

Сглаживание Лапласа: -

Сглаживание по Лапласу — это метод сглаживания, который решает проблему нулевой вероятности в наивном байесовском методе. Используя сглаживание Лапласа, мы можем представить P(w’|positive) как

Здесь
альфапредставляет параметр сглаживания,
K представляет количество измерений (признаков) в данных, а
>Nобозначает количество отзывов с y=положительным.

Если мы выберем значение альфа! = 0 (не равное 0), вероятность больше не будет равна нулю, даже если слово отсутствует в наборе обучающих данных.

Сглаживание по Лапласу — это метод сглаживания, который помогает решить проблему нулевой вероятности в алгоритме наивного байесовского машинного обучения. Использование более высоких значений альфа подтолкнет вероятность к значению 0,5, т. Е. Вероятность слова, равная 0,5, как для положительных, так и для отрицательных отзывов. Поскольку мы не получаем от этого много информации, это нежелательно. Поэтому предпочтительно использовать альфа=1. По мере увеличения альфы вероятностные вероятности движутся к равномерному распределению

Примечание: это должно быть сделано во всех точках

Компромисс смещения и дисперсии:

альфа (параметр сглаживания Лапласа) определяет недообучение и переоснащение.

case1: aqlpha=0

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

case2: альфа= очень большой

P(wi/y=0,1) ~ 0,5 означает, что для всех случаев вероятность = 0,5, т. е. несоответствие означает высокое смещение, для всех случаев, предсказывающих вероятность 0,5, независимо от класса

Поэтому, чтобы найти подходящую альфу (гиперпараметр), используйте простую перекрестную проверку или перекрестную проверку 10foald

Влияние данных дисбаланса на NB:

на это повлияли несбалансированные данные

из-за предшествующего класса ((p (y = 1), p (y = 0)) (если умножение prob такое же), большинство или доминирующий класс имеют преимущество

Решение:

  • повышающая или понижающая дискретизация
  • отбросить предыдущий член вероятности p (y = 1), p (y = 0)
  • создание разной альфы для разных классов, потому что одна и та же альфа влияет на класс меньшинства больше по сравнению с классом большинства

Обработка выбросов в NB:

  1. игнорировать выброс (удалять) из данных обучения/тестирования, если частота мала (менее 10 раз)
  2. использовать гиперпараметр сглаживания Лапласа

Обработка пропущенных значений в NB:

  1. case1: текстовые данные нет регистра отсутствующих данных
  2. casa2: в категориальном признаке: считать саму нан отсутствующей категорией
  3. случай 3: числовая характеристика: используйте импутацию характеристики (обычно для числовой характеристики мы используем гауссовский NB)

Крупногабаритные данные:

NB может обрабатывать большие размерные данные, но использует логарифмическую вероятность вместо умножения каждой вероятности, чтобы у вас не было проблем с численной стабильностью или проблем с потерей значимости. все значения вероятности находятся в диапазоне от 0 до 1, поэтому после умножения они станут незначительными, поэтому используйте логарифмическую вероятность.

Типы наивного байесовского классификатора:

Полиномиальный наивный байесовский метод:

Это в основном используется для проблемы классификации документов, т. Е. Относится ли документ к категории спорта, политики, технологий и т. Д. Функции / предикторы, используемые классификатором, представляют собой частоту слов, присутствующих в документе.

Наивный Байес Бернулли:

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

Гауссовский наивный байесовский метод:

Когда предикторы принимают непрерывное значение и не являются дискретными, мы предполагаем, что эти значения взяты из гауссовского распределения.

Поскольку меняется способ представления значений в наборе данных, формула условной вероятности меняется на

Примечание. NB нельзя использовать для матриц расстояния/сходства, как используется KNN. У НБ нет дистанционных методов, его вероятностный метод

Лучший и худший случай:

В лучшем случае:

  • высокая интерпретируемость
  • Низкая сложность времени выполнения и обучения
  • время выполнения мало

В худшем случае:

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

Ссылка:

https://scikit-learn.org/stable/modules/naive_bayes.html