Наивный байесовский классификатор - объясните интуитивно

Наивный байесовский классификатор - это тип алгоритма обучения с учителем, который используется для задачи классификации. Наивный байесовский классификатор - это простой классификатор, который является приложением теоремы Байеса. Это вероятностный метод классификации, поскольку он использует вероятность правдоподобия для прогнозирования цели задачи классификации. Модель, используемая наивным байесовским классификатором, делает строгие предположения об условной независимости. Предположение об условной независимости состоит в том, что для данного класса значения предиктора или признака независимы. Между признаками определенного класса нет корреляции.

Что такое наивный байесовский классификатор?

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

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

Условная вероятность является чисто выводом теоремы Байеса. Определим условную вероятность.

Что такое условная вероятность?

Это оранжевое прямоугольное пространство известно как пробное пространство. Это набор всех возможных результатов эксперимента, а в кружках A и B - события. Это не отдельные события. Они просто перекрывают друг друга и перекрывают друг друга. Это часть, которая знакома как a, так и b, известна как A-перекресток b. Теперь, если нас спросят, какова условная вероятность того, что произойдет A, учитывая, что B уже произошло, то есть вероятность того, что событие A произойдет, учитывая, что B уже произошло.

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

Теперь мы выяснили, что B уже произошло. Где мы находим А в этой части? Это не что иное, как часть пересечения, поэтому вы можете записать вероятность A с учетом этого B как вероятность пересечения B, деленную на вероятность B.

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

Если немного изменить знаменатели этих двух уравнений, мы придем к этому уравнению.

Теперь, когда мы пришли к соотношению между двумя условными вероятностями, еще одна перестановка, сдвигающая вероятность B из левой части внутрь вправо, дает нам уравнение, которое называется теоремой Байеса.

Ура, мы добрались до уравнения теоремы Байеса, поздравляю. Теперь мы пытаемся получить обобщенную форму теоремы Байеса.

На изображении выше оранжевое прямоугольное пространство - это пространство выборки, совокупность трех событий a1, a2 и a3. Как видите, это взаимоисключающие и в совокупности исчерпывающие события. Определим взаимоисключающие события.

Взаимоисключающее мероприятие

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

Вместе исчерпывающей:

В совокупности исчерпывающий означает общее количество возможных результатов в случайном эксперименте. Например, если мы подбрасываем монету, то количество конкретных случаев равно 2, а пространство выборки будет {H, T}. Если сложить вероятности всех этих событий, получится пространство выборки. Если вы добавите A1, A2 и A3, это будет общее пространство для выборки. Эти три события A1, A2 и A3 также известны как априорные вероятности.

На изображении выше B имеет что-то общее с A1, A2 и A3. Если бы мы выразились так, часть B, общая с A1, является пересечением A1 B. Часть B, общая с A2, является пересечением A2 B, а часть B, которая является общей с A3, является пересечением A3 B. Следовательно, вероятность B равна A1 пересечению B плюс A2 пересечению B плюс A3 пересечению B.

Вероятность пересечения A1 B и других A2, A3 может быть записана в этой форме.

Таким образом, вероятность B может быть выражена как

Теперь у нас есть более обобщенная форма теоремы Байеса, которая может распространяться на n априорных вероятностей. Пришло время собрать все воедино.

Теперь давайте посмотрим, как эту простую формулу можно использовать для создания классификатора.

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

У нас есть некоторые предикторы или особенности (независимые переменные) и результат (цель / класс / зависимая переменная). Каждая запись имеет некоторые значения для атрибутов и данного класса. На основе этих предикторов и связанных классов мы хотим обучить модель. Так что, если предлагаются значения характеристик, мы можем предсказать результат класса. Теперь в классификаторе Наивного Байеса алгоритм оценивает вероятность правдоподобия для каждой категории, когда заданы значения предиктора. И интуитивно мы можем выбрать класс, который имеет наибольшую вероятность.

Теперь предположим, что имеется n объектов, обозначенных x1, x2, x3…, xn. И у нас есть выходная переменная y, которая имеет k классов, обозначенных C1, C2, C3,…, Ck. Теперь то, что мы хотим сделать, - оценить вероятность записи или наблюдения, исходящей из k классов выходной переменной y, скажем, Ck. Теперь в приведенной выше формуле Байеса, если мы подставим B = Ck и A = x1∩x2… ∩ xn = {x1, x2,…, xn}, мы можем записать указанную выше условную вероятность следующим образом:

На практике мы берем единственную часть числителя, потому что знаменатель не зависит от классов. Значения признаков (xi) даны так, чтобы знаменатель был практически постоянным. Числитель сопоставим с моделью совместной вероятности. Таким образом, совместную модель можно записать как

Соответствующий классификатор, байесовский классификатор, представляет собой функцию, которая присваивает метку класса, оцениваемую y = Ck для некоторого k, следующим образом:

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

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

Учитывая особенности дня, у нас есть будни, выходные и праздничные дни. На любой день мы знали, что если есть скидка с бесплатной доставкой. На основании предоставленных данных мы можем предсказать, купит человек товар или нет. У нас есть небольшой набор данных из 30, показанный как 15 строк, как показано ниже:

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

Для интуиции пусть событие Buy будет A, а предшественники (скидка, бесплатная доставка, день) - событием B. Давайте вычислим таблицу правдоподобия для одной из переменных «день», которая имеет классы будний день, выходные и праздничные дни.

На основе приведенного выше изображения таблицы правдоподобия вычислите некоторые условные вероятности:

P (B) = P (рабочий день) = 11/30 = 0,37

P (A) = P (без покупки) = 6/30 = 0,2

P (B | A) = P (рабочий день | Без покупок) = 2/6 = 0,33

P (A | B) = P (Без покупок | День недели) = P (День недели | Без покупок) * P (Без покупок) / P (День недели)

= (0.33 * 0.2) / 0.37

= 0.18

Вероятность покупки в будний день = 30.11 или 0,37

Это означает, что из 30 человек, пришедших в магазин в выходные, будние и праздничные дни, 11 сделают покупки в будние дни. Вероятность не покупки = 6/30 или 0,2. Существует 20% вероятность того, что они не совершат покупку. Независимо от того, какой сегодня день недели. Наконец, мы смотрим на вероятность B (например, в будние дни), когда покупки не происходит.

Вероятность отсутствия покупок в будний день = 0,18 или 18%. Поскольку вероятность P (Нет | День недели) меньше 0,5, покупатель, скорее всего, купит товар в будний день.

У нас есть частотные таблицы всех трех переменных-предикторов, и мы можем построить таблицы для всех трех переменных. Посмотрите, как выглядят таблицы правдоподобия для трех переменных ниже:

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

  • День = Праздник
  • Скидка = Да
  • Бесплатная доставка = Да

Теперь мы определяем вероятность того, что они не купят товар, исходя из приведенных выше условий.

A = Нет покупки

Применяя теорему Байеса, получаем P (A | B) следующим образом:

Точно так же теперь найдите вероятность того, что они купят продукт при данных условиях. Где A = Buy, теперь применяя теорему Байеса, мы получаем P (A | B) следующим образом:

У нас вероятность покупки = 0,986 и вероятность не покупки = 0,178. Теперь у нас есть условная вероятность покупки в этот день. Затем нормализуем эти вероятности.

Сумма вероятностей = 0,986 + 0,178 = 1,164

Вероятность покупки = 0,986 / 1,164 = 84,71%

Вероятность отсутствия покупки = 0,178 / 1,164 = 15,29%

Результат: 84,71% больше, чем 29%, можно сделать вывод, что средний покупатель будет покупать в отпуске со скидкой и бесплатной доставкой.

Использованная литература:

[1] https://en.wikipedia.org/wiki/Naive_Bayes_classifier

[2] https://www.simplilearn.com/tutorials/machine-learning-tutorial/naive-bayes-classifier

Спасибо за прочтение.