Наивный алгоритм Байеса в машинном обучении
⚡ Умное резюме
Наивный байесовский классификатор — это алгоритм классификации с обучением под наблюдением, основанный на вероятностной теореме Байеса и предполагающий, что каждая характеристика вносит независимый вклад. Его теория, представленная в виде практического руководства,ping Например, ниже описаны три варианта модели, их преимущества, ограничения и практическое применение.
Наивный алгоритм байесовского классификатора
Классификатор — это алгоритм машинного обучения, который сортирует данные по одному или нескольким из набора «классов». Классификатор электронной почты — один из хорошо известных примеров: он сканирует каждое входящее сообщение и присваивает ему метку класса «Спам» или «Не спам».
Классификатор наивного Байеса в машинном обучении — это контролируемое обучение алгоритм, используемый для задач классификации.
Приведенная ниже диаграмма иллюстрирует этот процесс.
Наивный Байес используется для решения задач классификации. Он прогнозирует на основе вероятности объекта. Наивный Байес основан на теореме Байеса и в основном используется для классификации текста. Наивный Байес — это алгоритм вероятностной классификации, который легко реализовать и быстро обучать.
Поскольку наивный байесовский классификатор основан на теореме Байеса, его также называют вероятностным классификатором. Он делает прогнозы на основе вероятности объекта.
Почему это называется наивным байесовским классификатором?
Название «наивный Байес» состоит из двух частей: «наивный» и «байес». Почему «наивный»? Алгоритм игнорирует порядок появления признаков, поэтому «Вы есть» и «Вы есть» выглядят для него одинаково. Он также предполагает, что ни один признак не влияет на другой. Чтобы распознать яблоко, вы используете красный цвет, сферическую форму и сладкий вкус, и алгоритм рассматривает каждый из этих признаков как отдельное, независимое доказательство.
- Классификатор наивного Байеса предполагает, что признаки независимы друг от друга. Поскольку это редко возможно в реальных данных, такой классификатор называется наивным.
- Этот алгоритм классификации основан на теореме Байеса, поэтому он известен как наивный байесовский классификатор.
Теорема наивного Байеса
Теорема Байеса используется для нахождения вероятности гипотезы с условными вероятностями, зависящими от априорных знаний. Эта теорема названа в честь Томаса Байеса. Наивный байесовский классификатор работает на принципе условной вероятности, как это определено в теореме Байеса.
Чтобы понять теорему Байеса, рассмотрим простой пример наивного байесовского классификатора — подбрасывание двух монет. Пространства элементарных исходов, полученные подбрасыванием двух монет, выглядят следующим образом: {HH, HT, TH, TT}. Вероятности этих событий будут:
- Получение двух голов = 1/4
- Хотя бы один хвост = 3/4
- Вторая монета имеет решку, учитывая, что первая монета имеет решку = 1/2.
- Получение двух орлов, учитывая, что первая монета - орел = 1/2.
Теорема Байеса вычисляет вероятность наступления события на основе вероятности другого события, которое уже произошло. Формула теоремы Байеса выглядит следующим образом:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B) — это вероятность события A, когда событие B уже произошло. Вероятность P(B) не должна быть равна нулю.
- Вам нужно найти вероятность события А, которая дается, когда событие Б (доказательство) истинно.
- P(A) — это априорная вероятность события A, то есть вероятность события до появления каких-либо доказательств. Здесь событие B — это значение неизвестного экземпляра.
- P(A|B) — это апостериорная вероятность события A, то есть вероятность события A после рассмотрения доказательств B.
Рабочий пример наивного байесовского классификатора
Самый быстрый способ убедиться в работоспособности формулы — проверить её вручную.
Рассмотрим в качестве примера магазин.ping Чтобы понять принцип работы наивного байесовского классификатора. В этом наборе данных представлен небольшой пример, состоящий из 30 строк.
Dataset
Проблема состоит в том, чтобы предсказать, купит ли человек продукт при определенной комбинации дня, скидки и бесплатной доставки, используя наивную теорему Байеса.
Шаг 1) Мы создадим таблицы частот для каждого атрибута, используя типы входных данных, упомянутые в наборе данных, такие как дни, скидки и бесплатная доставка.
Пусть событие «Покупка» обозначено как «А», а независимые переменные, а именно «Скидка», «Бесплатная доставка» и «День», обозначены как «В». Мы будем использовать эти события и переменные для применения теоремы Байеса.
Шаг 2) Теперь давайте посчитаем таблицы правдоподобия одну за другой.
Пример 1:
На основе этой таблицы правдоподобия мы рассчитаем условные вероятности, как показано ниже.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
И найдите P(A/B) с помощью теоремы Байеса:
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
Аналогично, если A — покупка, то
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Примечание: Поскольку P(Купить | Будний день) больше, чем P(Нет покупки | Будний день), мы можем заключить, что покупатель, скорее всего, купит товар в будний день.
Шаг 3) Аналогичным образом мы можем рассчитать вероятность возникновения события на основе всех трех переменных. Теперь мы рассчитаем таблицы правдоподобия для всех трех переменных, используя приведенные выше таблицы частот.
Пример 2:
Теперь, используя эти три таблицы вероятности, мы рассчитаем, вероятно ли, что клиент совершит покупку, основываясь на определенной комбинации «День», «Скидка» и «Бесплатная доставка».
Здесь давайте возьмем комбинацию этих факторов:
- День = Праздник
- Скидка = Да
- Бесплатная доставка = Да
Когда А = Купить
Рассчитайте условную вероятность покупки при следующей комбинации дня, скидки и бесплатной доставки.
Где Б:
- День = Праздник
- Скидка = Да
- Бесплатная доставка = Да
И А = Купить
Следовательно,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Когда A = Нет покупки
Аналогично рассчитайте условную вероятность покупки при следующей комбинации дня, скидки и бесплатной доставки.
Где Б:
- День = Праздник
- Скидка = Да
- Бесплатная доставка = Да
И A = Нет покупки
Следовательно,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
Шаг 4) Следовательно,
Вероятность покупки = 0.986
Вероятность отсутствия покупки = 0.027.
Наконец, у нас есть условные вероятности покупки в этот день. Давайте теперь обобщим эти вероятности, чтобы получить вероятность событий.
- Сумма вероятностей = 0.986 + 0.027 = 1.013
- Вероятность покупки = 0.986/1.013 = 97.33 %.
- Вероятность отсутствия покупки = 0.027/1.013 = 2.67 %.
Сумма двух оценок составляет 1.013, а не 1, поскольку предположение о независимости делает каждую оценку приблизительной, поэтому деление на общую сумму переводит их в проценты.
Обратите внимание, что 97.33% больше, чем 2.67%. Можно сделать вывод, что среднестатистический покупатель купит в праздник со скидкой и бесплатной доставкой.
Типы наивной байесовской модели
Существует много типов наивных классификаторов Байеса. Здесь мы обсудили мультиномиальные классификаторы, классификаторы Бернулли и гауссовские наивные байесовские классификаторы.
| Вариант | Тип функции | Типичное использование |
|---|---|---|
| Полиномиальный | Количество слов | Классификация тем и документов |
| Бернулли | Бинарные флаги присутствия или отсутствия | Короткие текстовые сообщения и фильтрация спама |
| Гауссовым | Непрерывные числовые значения | Показания и измерения датчиков |
1. Полиномиальный наивный байесовский анализ
Этот тип модели Наивного Байеса используется для решения задач классификации документов. Он работает с функциями, которые представляют частоту слов в документе. Классификатор учитывает появление и количество слов, чтобы определить вероятность принадлежности документа к определенной категории, например спорту, политике или технологиям.
2. Наивный байесовский метод Бернулли
Это похоже на полиномиальный Наивный Байес. Классификатор Бернулли Наивного Байеса используется для задач классификации документов. Однако он использует логические предикторы. Он показывает, присутствует ли слово или нет, и принимает только значения «Да» или «Нет». Классификатор вычисляет вероятности на основе того, встречается ли слово в тексте или нет.
3. Гауссовский наивный байесовский метод
Этот классификатор используется в случае непрерывного значения, а не дискретного значения. Этот классификатор вычисляет вероятности, используя параметры Гауссовым распределение, то есть среднее значение и дисперсия.
Формула условной вероятности изменится на:
scikit учиться Библиотека добавляет еще два варианта: наивный байесовский классификатор с дополнением для несбалансированного текста и категориальный наивный байесовский классификатор для дискретных категорий.
Преимущества и ограничения наивного байесовского классификатора
Алгоритм Наивного Байеса в машинном обучении имеет различные преимущества и недостатки.
Преимущества наивного байесовского классификатора
- Простота и эффективность: Наивный Байес прост в обучении и реализации. Это эффективно из-за низких вычислительных затрат. Он может эффективно обрабатывать большие наборы данных.
- Быстрое обучение и прогнозирование: Наивный байесовский классификатор не требует большого объема обучающих данных из-за независимости признаков. Он может быстро делать прогнозы после обучения модели.
- Масштабируемость. Наивный Байес может обрабатывать многомерные наборы данных с большим количеством функций. Он работает хорошо, даже если количество функций превышает количество обучающих примеров. Он масштабируется в зависимости от количества точек данных и предикторов. Он обрабатывает как непрерывные, так и дискретные данные.
- Устойчивость к несущественным функциям: Он не чувствителен к несущественным функциям.
- Хорошо работает с небольшими обучающими наборами: Наивный байесовский классификатор может давать приемлемые результаты даже при ограниченном объеме обучающих данных. Он способен справляться с ситуациями, когда количество обучающих примеров невелико.
Ограничение наивного байесовского классификатора
Наивный Байес в машинного обучения или предполагает, что все функции независимы друг от друга. Таким образом, он не может изучить взаимосвязи между различными функциями данных. Он рассматривает каждую функцию так, как будто она не имеет никакой связи с другими.
Второе предостережение: сообщаемые вероятности классов плохо откалиброваны, поэтому показатель достоверности, присвоенный прогнозу, не является надежной вероятностью.
Чтобы преодолеть эту проблему, вы можете использовать Деревья решенийСлучайные леса, машины опорных векторов (SVM), Нейронные сети и т. д. Эти алгоритмы способны изучать сложные взаимосвязи и зависимости между признаками в данных. Поэтому они могут предсказывать более точные результаты.
Применение наивного байесовского классификатора
Поскольку этот алгоритм быстрый и эффективный, вы можете использовать его для прогнозирования в реальном времени.
Обнаружение спама
Электронная почта (Такие, как GmailИспользуйте этот алгоритм, чтобы определить, является ли электронное письмо спамом. Этот алгоритм отлично подходит для фильтрации спама.
Анализ настроений
Он может классифицировать текст как положительный, отрицательный или нейтральный на основе таких характеристик, как выбор слов, структура предложения и контекст. Он находит применение в мониторинге социальных сетей, обзорах клиентов и исследованиях рынка.
Классификация документов
Он может классифицировать документы по таким категориям, как спорт, политика, технологии или финансы, на основе частоты или присутствия определенных слов или функций в документе.
Рекомендательные Системы
Он может анализировать предпочтения пользователей, исторические данные и характеристики товаров, чтобы прогнозировать интересы или предпочтения пользователей при рекомендации продуктов, фильмов или статей.
Этот алгоритм классификации также используется в распознавании лиц, прогнозировании погоды, медицинской диагностике и розничной торговле.pingКлассификация новостей и т. д. Вы можете реализовать наивный байесовский классификатор в Pythonгде модуль sklearn.naive_bayes предоставляет все описанные выше варианты.








