Теорема Байеса в машинном обучении: введение, применение и пример

Опубликовано: 2021-02-04

Оглавление

Введение: что такое теорема Байеса?

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

Упрощенная версия теоремы Байеса, известная как наивная байесовская классификация, используется для сокращения времени и затрат на вычисления. В этой статье мы познакомим вас с этими концепциями и обсудим применение теоремы Байеса в машинном обучении.

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

Зачем использовать теорему Байеса в машинном обучении?

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

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

Прежде чем мы перейдем к самой теореме, давайте разберемся с некоторыми терминами на примере. Скажем, менеджер книжного магазина располагает информацией о возрасте и доходах своих клиентов. Он хочет знать, как распределяются продажи книг по трем возрастным классам покупателей: молодежь (18–35 лет), средний возраст (35–60 лет) и пожилые люди (60+).

Назовем наши данные X. В байесовской терминологии X называется свидетельством. У нас есть некоторая гипотеза H, где у нас есть некоторое X, принадлежащее некоторому классу C.

Наша цель — определить условную вероятность нашей гипотезы H при заданном X, т. е. P(H | X).

Проще говоря, определяя P(H | X), мы получаем вероятность принадлежности X к классу C при заданном X. X имеет атрибуты возраста и дохода — скажем, например, 26 лет с доходом 2000 долларов. H — наша гипотеза о том, что покупатель купит книгу.

Обратите особое внимание на следующие четыре термина:

  1. Свидетельство . Как обсуждалось ранее, P(X) известно как свидетельство. Это просто вероятность того, что в этом случае покупателю будет 26 лет, и он заработает 2000 долларов.
  2. Априорная вероятность — P(H), известная как априорная вероятность, — это простая вероятность нашей гипотезы, а именно того, что покупатель купит книгу. Эта вероятность не будет обеспечена какими-либо дополнительными входными данными в зависимости от возраста и дохода. Поскольку расчет выполняется с меньшим количеством информации, результат менее точен.
  3. Апостериорная вероятность — P(H | X) известна как апостериорная вероятность. Здесь P(H | X) — это вероятность того, что покупатель купит книгу (H) при условии X (что ему 26 лет и он зарабатывает 2000 долларов).
  4. Вероятность — P(X | H) — вероятность вероятности. В этом случае, учитывая, что мы знаем, что покупатель купит книгу, вероятность правдоподобия — это вероятность того, что покупателю 26 лет и его доход составляет 2000 долларов.

Учитывая это, теорема Байеса утверждает:

P(H | X) = [P(X | H) * P(H)] / P(X)

Обратите внимание на появление в теореме четырех приведенных выше терминов: апостериорная вероятность, вероятность правдоподобия, априорная вероятность и свидетельство.

Читайте: Объяснение наивного Байеса

Как применить теорему Байеса в машинном обучении

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

Давайте посмотрим, как можно применить наивный байесовский классификатор в качестве алгоритма классификации.

  1. Рассмотрим общий пример: X — вектор, состоящий из n атрибутов, то есть X = {x1, x2, x3, …, xn}.
  2. Скажем, у нас есть m классов {C1, C2, …, Cm}. Наш классификатор должен будет предсказать, что X принадлежит к определенному классу. Класс, обеспечивающий наибольшую апостериорную вероятность, будет выбран как лучший класс. Таким образом, математически классификатор будет предсказывать класс Ci тогда и только тогда, когда P(Ci | X) > P(Cj | X). Применение теоремы Байеса:

P(Ci | X) = [P(X | Ci) * P(Ci)] / P(X)

  1. P(X), будучи независимым от условий, постоянен для каждого класса. Таким образом, чтобы максимизировать P(Ci | X), мы должны максимизировать [P(X | Ci) * P(Ci)]. Учитывая, что все классы равновероятны, мы имеем P(C1) = P(C2) = P(C3) … = P(Cn). Таким образом, в конечном итоге нам нужно максимизировать только P(X | Ci).
  2. Поскольку типичный большой набор данных, вероятно, будет иметь несколько атрибутов, выполнение операции P(X | Ci) для каждого атрибута требует значительных вычислительных ресурсов. Именно здесь вступает в действие условно-классовая независимость, которая упрощает задачу и снижает затраты на вычисления. Под классово-условной независимостью мы подразумеваем, что мы считаем значения атрибута независимыми друг от друга условно. Это наивная байесовская классификация.

P(Xi | C) = P(x1 | C) * P(x2 | C) *… * P(xn | C)

Теперь легко вычислить меньшие вероятности. Здесь важно отметить одну важную вещь: поскольку xk принадлежит каждому атрибуту, нам также необходимо проверить, является ли атрибут, с которым мы имеем дело, категориальным или непрерывным .

  1. Если у нас есть категориальный атрибут, все проще. Мы можем просто подсчитать количество экземпляров класса Ci, состоящих из значения xk для атрибута k, а затем разделить его на количество экземпляров класса Ci.
  2. Если у нас есть непрерывный атрибут, учитывая, что у нас есть функция нормального распределения, мы применяем следующую формулу со средним значением ? и стандартное отклонение ?:

Источник

В конечном итоге мы получим P(x | Ci) = F(xk, ?k, ?k).

  1. Теперь у нас есть все значения, необходимые для использования теоремы Байеса для каждого класса Ci. Наш прогнозируемый класс будет классом, достигающим наибольшей вероятности P(X | Ci) * P(Ci).

Пример: Предиктивная классификация покупателей книжного магазина

У нас есть следующий набор данных из книжного магазина:

Возраст Доход Ученик Кредит_Рейтинг Buys_Book
Молодость Высоко Нет Справедливый Нет
Молодость Высоко Нет Превосходно Нет
Среднего возраста Высоко Нет Справедливый да
Старший Середина Нет Справедливый да
Старший Низкий да Справедливый да
Старший Низкий да Превосходно Нет
Среднего возраста Низкий да Превосходно да
Молодость Середина Нет Справедливый Нет
Молодость Низкий да Справедливый да
Старший Середина да Справедливый да
Молодость Середина да Превосходно да
Среднего возраста Середина Нет Превосходно да
Среднего возраста Высоко да Справедливый да
Старший Середина Нет Превосходно Нет

У нас есть такие атрибуты, как возраст, доход, студент и кредитный рейтинг. Наш класс, buys_book, имеет два результата: Да или Нет.

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

X = {возраст = молодежь, студент = да, доход = средний, кредитный_рейтинг = удовлетворительный}.

Как мы показали ранее, чтобы максимизировать P(Ci | X), нам нужно максимизировать [P(X | Ci) * P(Ci)] для i = 1 и i = 2.

Следовательно, P(buys_book = yes) = 9/14 = 0,643.

P(buys_book = нет) = 5/14 = 0,357

P(возраст = молодость | покупка_книги = да) = 2/9 = 0,222

P(возраст = молодость | покупка_книги = нет) = 3/5 = 0,600

P(доход = средний | книга_покупок = да) = 4/9 = 0,444

P(доход = средний | книга_покупок = нет) = 2/5 = 0,400

P(студент = да | покупает_книгу = да) = 6/9 = 0,667

P(студент = да | покупает_книгу = нет) = 1/5 = 0,200

P(кредит_рейтинг = справедливо | книга_покупок = да) = 6/9 = 0,667

P(кредит_рейтинг = справедливо | книга_покупок = нет) = 2/5 = 0,400

Используя вычисленные выше вероятности, имеем

P(X | книга_покупок = да) = 0,222 х 0,444 х 0,667 х 0,667 = 0,044

По аналогии,

P(X | buys_book = нет) = 0,600 х 0,400 х 0,200 х 0,400 = 0,019

Какой класс Ci обеспечивает максимальное значение P(X|Ci)*P(Ci)? Мы вычисляем:

P(X | покупка_книги = да) * P(покупки_книги = да) = 0,044 x 0,643 = 0,028

P(X | покупка_книги = нет) * P(покупки_книги = нет) = 0,019 x 0,357 = 0,007

Сравнивая два вышеупомянутых, поскольку 0,028> 0,007, наивный байесовский классификатор предсказывает, что покупатель с вышеупомянутыми атрибутами купит книгу.

Оформить заказ: идеи и темы проекта машинного обучения

Является ли байесовский классификатор хорошим методом?

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

Заключение

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

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

Почему мы используем теорему Байеса в машинном обучении?

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

Является ли байесовский классификатор хорошим выбором?

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

Как можно применить теорему Байеса на практике?

Теорема Байеса вычисляет вероятность возникновения на основе новых данных, которые связаны или могут быть связаны с ним. Этот метод также можно использовать, чтобы увидеть, как гипотетическая новая информация влияет на вероятность события, если предположить, что новая информация верна. Возьмем, к примеру, одну карту, выбранную из колоды из 52 карт. Вероятность того, что карта станет королем, равна 4, разделенному на 52, или 1/13, или примерно 7,69 процента. Имейте в виду, что в колоде четыре короля. Допустим, выяснилось, что выбранная карта является лицевой. Поскольку в колоде 12 лицевых карт, вероятность того, что выбранная карта является королем, равна 4, разделенным на 12, или примерно 33,3 процента.