Объяснение наивного Байеса: функция, преимущества и недостатки, приложения в 2022 г.
Опубликовано: 2021-01-05Наивный байесовский алгоритм — это алгоритм машинного обучения, который мы используем для решения задач классификации. Он основан на теореме Байеса. Это один из самых простых, но мощных алгоритмов машинного обучения, который находит применение во многих отраслях.
Предположим, вам нужно решить проблему классификации, создать признаки и сгенерировать гипотезу, но ваше начальство хочет увидеть модель. У вас есть множество точек данных (сотни точек данных) и множество переменных для обучения набора данных. Лучшим решением в этой ситуации было бы использование наивного байесовского классификатора, который намного быстрее по сравнению с другими алгоритмами классификации.
В этой статье мы подробно обсудим этот алгоритм и узнаем, как он работает. Мы также обсудим его преимущества и недостатки, а также его реальные приложения, чтобы понять, насколько важен этот алгоритм.
Присоединяйтесь к онлайн- курсу глубокого обучения в ведущих университетах мира — магистерским программам, программам последипломного образования для руководителей и продвинутой сертификационной программе в области машинного обучения и искусственного интеллекта, чтобы ускорить свою карьеру.
Давайте начнем:
Оглавление
Объяснение наивного Байеса
Наивный Байес использует теорему Байеса и предполагает, что все предикторы независимы. Другими словами, этот классификатор предполагает, что наличие одного конкретного признака в классе не влияет на наличие другого.

Вот пример: вы считаете фрукт оранжевым, если он круглый, оранжевый и имеет диаметр около 3,5 дюймов. Теперь, даже если эти признаки требуют существования друг друга, все они независимо способствуют вашему предположению, что этот конкретный фрукт — оранжевый. Вот почему в названии этого алгоритма есть слово «Наивный».
Построение наивной байесовской модели довольно просто и помогает вам работать с обширными наборами данных. Кроме того, это уравнение популярно благодаря тому, что превосходит многие передовые методы классификации с точки зрения производительности.
Вот уравнение для наивного Байеса:
Р (с | х) = Р (х | с) Р (с) / Р (х)
P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)
Здесь P (c|x) — апостериорная вероятность в соответствии с предиктором (x) для класса (c). P(c) — априорная вероятность класса, P(x) — априорная вероятность предиктора, а P(x|c) — вероятность предиктора для конкретного класса (c).
Помимо рассмотрения независимости каждой функции, Наивный Байес также предполагает, что они вносят одинаковый вклад. Это важный момент, о котором следует помнить.
Как работает Наивный Байес?
Чтобы понять, как работает Наивный Байес, мы должны обсудить пример.
Предположим, мы хотим найти угнанные машины и имеем следующий набор данных:
Серийный номер. | Цвет | Тип | Источник | Это было украдено? |
1 | красный | Спортивный | Одомашненный | да |
2 | красный | Спортивный | Одомашненный | Нет |
3 | красный | Спортивный | Одомашненный | да |
4 | Желтый | Спортивный | Одомашненный | Нет |
5 | Желтый | Спортивный | Импортировано | да |
6 | Желтый | внедорожник | Импортировано | Нет |
7 | Желтый | внедорожник | Импортировано | да |
8 | Желтый | внедорожник | Одомашненный | Нет |
9 | красный | внедорожник | Импортировано | Нет |
10 | красный | Спортивный | Импортировано | да |
Согласно нашему набору данных, мы можем понять, что наш алгоритм делает следующие предположения:
- Предполагается, что каждая функция независима. Например, желтый цвет автомобиля не имеет ничего общего с его происхождением или типом.
- Это придает каждой функции одинаковый уровень важности. Например, зная только Цвет и Происхождение, можно правильно предсказать результат. Вот почему каждая функция одинаково важна и в равной степени способствует получению результата.
Теперь, с нашим набором данных, мы должны классифицировать, угоняют ли воры автомобиль, в соответствии с его характеристиками. Каждая строка имеет отдельные записи, а столбцы представляют характеристики каждого автомобиля. В первом ряду у нас угнанный красный спортивный автомобиль отечественного происхождения. Мы узнаем, будут ли воры угонять красный отечественный внедорожник или нет (в нашем наборе данных нет записи о красном отечественном внедорожнике).
Мы можем переписать теорему Байеса для нашего примера так:
P(y | X) = [P(X | y) P(y)P(X)]/P(X)
Здесь y обозначает переменную класса (Было ли это украдено?), чтобы показать, угнали ли воры машину не по условиям. X обозначает функции.
Х = х1, х2, х3, …., хп)
Здесь x1, x2,…, xn обозначают признаки. Мы можем сопоставить их как Тип, Происхождение и Цвет. Теперь мы заменим X и расширим правило цепочки, чтобы получить следующее:
P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn )]
Вы можете получить значения для каждого, используя набор данных и поместив их значения в уравнение. Знаменатель останется статическим для каждой записи в наборе данных, чтобы удалить его и ввести пропорциональность.
P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)
В нашем примере y имеет только два результата: да или нет.
y = argmaxyP(y) i = 1nP(xi | y)
Мы можем создать таблицу частот для расчета апостериорной вероятности P(y|x) для каждого признака. Затем мы преобразуем таблицы частот в таблицы правдоподобия и используем уравнение наивного Байеса, чтобы найти апостериорную вероятность каждого класса. Результатом нашего прогноза будет класс с наибольшей апостериорной вероятностью. Вот таблицы вероятности и частоты:
Таблица частоты цвета:
Цвет | Было ли это украдено (да) | Было ли это украдено (нет) |
красный | 3 | 2 |
Желтый | 2 | 3 |
Таблица вероятностей цвета:
Цвет | Было ли это украдено [P (Да)] | Было ли это украдено [P (No)] |
красный | 3/5 | 2/5 |
Желтый | 2/5 | 3/5 |

Таблица частот типа:
Тип | Было ли это украдено (да) | Было ли это украдено (нет) |
Спортивный | 4 | 2 |
внедорожник | 1 | 3 |
Таблица вероятностей типа:
Тип | Было ли это украдено [P (Да)] | Было ли это украдено [P (No)] |
Спортивный | 4/5 | 2/5 |
внедорожник | 1/5 | 3/5 |
Таблица частот происхождения:
Источник | Было ли это украдено (да) | Было ли это украдено (нет) |
Одомашненный | 2 | 3 |
Импортировано | 3 | 2 |
Таблица вероятностей происхождения:
Источник | Было ли это украдено [P (Да)] | Было ли это украдено [P (No)] |
Одомашненный | 2/5 | 3/5 |
Импортировано | 3/5 | 2/5 |
В нашей задаче есть 3 предиктора для X, поэтому, согласно уравнениям, которые мы видели ранее, апостериорная вероятность P(Yes | X) будет следующей:
P(Да | X) = P(Красный | Да) * P(Внедорожник | Да) * P(Внутренний | Да) * P(Да)
= ⅗ х ⅕ х ⅖ х 1
= 0,048
P(No | X) будет:
P(Нет | X) = P(Красный | Нет) * P(Внедорожник | Нет) * P(Внутренний | Нет) * P(Нет)
= ⅖ х ⅗ х ⅗ х 1
= 0,144
Таким образом, поскольку апостериорная вероятность P(Нет | X) выше, чем апостериорная вероятность P(Да | X), наш красный отечественный внедорожник будет иметь «Нет» в вопросе «Был ли он украден?» раздел.
Пример должен был показать вам, как работает наивный байесовский классификатор. Чтобы лучше понять объяснение Наивного Байеса, теперь мы должны обсудить его преимущества и недостатки:
Преимущества и недостатки наивного Байеса
Преимущества
- Этот алгоритм работает быстро и может сэкономить много времени.
- Наивный Байес подходит для решения задач многоклассового прогнозирования.
- Если его предположение о независимости функций верно, он может работать лучше, чем другие модели, и требует гораздо меньше обучающих данных.
- Наивный Байес лучше подходит для категориальных входных переменных, чем для числовых.
Недостатки
- Наивный Байес предполагает, что все предикторы (или признаки) независимы и редко встречаются в реальной жизни. Это ограничивает применимость этого алгоритма в реальных случаях использования.
- Этот алгоритм сталкивается с «проблемой нулевой частоты», когда он присваивает нулевую вероятность категориальной переменной, категория которой в наборе тестовых данных не была доступна в наборе обучающих данных. Было бы лучше, если бы вы использовали технику сглаживания для решения этой проблемы.
- В некоторых случаях его оценки могут быть ошибочными, поэтому вам не следует слишком серьезно относиться к его вероятностным выводам.
Оформление заказа: объяснение моделей машинного обучения
Применение наивного байесовского объяснения
Вот некоторые области, где этот алгоритм находит применение:

Текстовая классификация
В большинстве случаев наивный байесовский метод использует внутритекстовую классификацию из-за предположения о независимости и высокой производительности при решении задач с несколькими классами. Он имеет более высокий уровень успеха, чем другие алгоритмы, благодаря своей скорости и эффективности.
Анализ настроений
Одной из самых известных областей машинного обучения является анализ настроений, и этот алгоритм также весьма полезен. Анализ настроений фокусируется на определении того, думают ли клиенты положительно или отрицательно об определенной теме (продукте или услуге).
Рекомендательные системы
С помощью совместной фильтрации Наивный байесовский классификатор создает мощную рекомендательную систему, чтобы предсказать, понравится ли пользователю конкретный продукт (или ресурс) или нет. Amazon, Netflix и Flipkart — известные компании, которые используют рекомендательные системы, чтобы предлагать продукты своим клиентам.
Узнайте больше об алгоритмах машинного обучения
Наивный байесовский алгоритм — это простой и эффективный алгоритм машинного обучения для решения многоклассовых задач. Он находит применение во многих важных областях приложений машинного обучения, таких как анализ тональности и классификация текста.
Ознакомьтесь с программой продвинутой сертификации в области машинного обучения и облачных вычислений от IIT Madras, лучшей инженерной школы в стране, чтобы создать программу, которая научит вас не только машинному обучению, но и его эффективному развертыванию с использованием облачной инфраструктуры. Наша цель в этой программе - открыть двери самого избирательного института в стране и предоставить учащимся доступ к замечательным преподавателям и ресурсам, чтобы овладеть навыком, который находится на высоком и растущем уровне.
Что такое наивный алгоритм Байеса?
Чтобы справиться с трудностями категоризации, мы используем метод машинного обучения Naive Bayes. В основе лежит теорема Байеса. Это один из самых простых, но мощных алгоритмов машинного обучения, который можно использовать в самых разных отраслях. Допустим, вы работаете над проблемой классификации и уже установили признаки и гипотезу, но ваш начальник хочет увидеть модель. Для обучения набора данных у вас есть большое количество точек данных (тысячи точек данных) и большое количество переменных. Наивный байесовский классификатор, который намного быстрее других алгоритмов классификации, был бы лучшим вариантом в этом случае.
Каковы некоторые преимущества и недостатки наивного Байеса?
Для задач многоклассового прогнозирования хорошим выбором будет наивный байесовский алгоритм. Если предпосылка о независимости функций остается верной, она может превзойти другие модели, используя гораздо меньше обучающих данных. Категориальные входные переменные больше подходят для Наивного Байеса, чем числовые входные переменные.
В наивном Байесе все предикторы (или признаки) предполагаются независимыми, что редко бывает в реальной жизни. Это ограничивает возможности использования алгоритма в реальных сценариях. Вы не должны серьезно относиться к его вероятностным выводам, потому что в некоторых случаях его оценки могут быть ошибочными.
Каково реальное применение наивного Байеса?
Из-за предпосылки автономии и высокой производительности при решении многоклассовых задач наивная байесовская классификация часто используется в текстовой классификации. Анализ настроений — одно из самых популярных приложений машинного обучения, и этот метод также может помочь в этом. Цель анализа настроений состоит в том, чтобы определить, положительно или отрицательно относятся клиенты к конкретному вопросу (товару или услуге). Наивный байесовский классификатор использует совместную фильтрацию для создания сложной системы рекомендаций, которая может предсказать, понравится ли пользователю данный продукт (или ресурс).