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

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

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

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

Теорема Байеса утверждает, что вероятность события А при наличии события В можно рассчитать следующим образом:

P(A|B) = P(B|A) * P(A) / P(B)

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

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

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

Наивные байесовские методы представляют собой набор алгоритмов обучения с учителем, основанных на применении теоремы Байеса с «наивным» предположением об условной независимости между каждой парой признаков при заданном значении переменной класса. Теорема Байеса устанавливает следующую связь, учитывая переменную класса Y и зависимый вектор признаков от X1 до Xn.

Используя наивное предположение об условной независимости, что

для всех i это отношение упрощается до

Поскольку P(x1,…,xn) постоянна для входных данных, мы можем использовать следующее правило классификации

и мы можем использовать максимальную апостериорную оценку (MAP) для оценки P(y) и P(xi ∣ y), тогда первое является относительной частотой класса y в обучающей выборке.

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

Типы наивного Байеса:

Существует три основных типа наивных байесовских классификаторов:

  1. Наивный байесовский классификатор Гаусса. Этот классификатор предполагает, что непрерывные входные переменные (признаки) подчиняются гауссовскому или нормальному распределению. Он часто используется в случаях, когда входные данные являются непрерывными, например, в медицинской диагностике или финансовом моделировании.

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

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

Реализация гауссовского наивного байесовского метода:

>>> from sklearn.datasets import load_iris
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.naive_bayes import GaussianNB
>>> X, y = load_iris(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)
>>> gnb = GaussianNB()
>>> y_pred = gnb.fit(X_train, y_train).predict(X_test)
>>> print("Number of mislabeled points out of a total %d points : %d"
...       % (X_test.shape[0], (y_test != y_pred).sum()))
Number of mislabeled points out of a total 75 points : 4

Заключение:

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

Подписывайтесь на меня на Medium и Github





Спасибо