Наивный байесовский классификатор — это вероятностный алгоритм, используемый в машинном обучении для задач классификации. Он основан на теореме Байеса, которая описывает вероятность гипотезы при наличии доказательств. Наивный Байес предполагает, что функции набора данных независимы друг от друга, отсюда и название «наивный».
В наивном байесовском классификаторе мы начинаем с вычисления априорной вероятности каждого класса (т. е. вероятности появления каждого класса в наборе данных). Затем для каждой функции входных данных мы вычисляем вероятность появления этой функции для каждого класса. Наконец, мы используем теорему Байеса для расчета апостериорной вероятности каждого класса с учетом наблюдаемых признаков.
Затем класс с наибольшей апостериорной вероятностью выбирается в качестве прогнозируемого класса для входных данных. Наивный Байес особенно полезен для задач классификации текста, где функции соответствуют словам в документе, а классы соответствуют таким категориям, как спам или электронная почта, не являющаяся спамом. Он также эффективен в вычислительном отношении и может обрабатывать большие наборы данных со многими функциями.
Теорема Байеса — фундаментальная концепция теории вероятностей, описывающая, как обновлять вероятности на основе новой информации. Он назван в честь английского статистика Томаса Байеса.
Теорема Байеса утверждает, что вероятность события А при наличии события В можно рассчитать следующим образом:
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).
Типы наивного Байеса:
Существует три основных типа наивных байесовских классификаторов:
- Наивный байесовский классификатор Гаусса. Этот классификатор предполагает, что непрерывные входные переменные (признаки) подчиняются гауссовскому или нормальному распределению. Он часто используется в случаях, когда входные данные являются непрерывными, например, в медицинской диагностике или финансовом моделировании.
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
Спасибо