Наивный байесовский метод, основанный на статистике и теории вероятностей, является, пожалуй, одним из наиболее широко используемых методов машинного обучения в науке о данных. Это метод классификации, который предсказывает правильную метку для данного входа на основе расчета вероятностей прошлых свидетельств. Его название происходит от того факта, что он, возможно, делает наивное предположение: все функции, используемые для прогнозирования результата, независимы друг от друга. . Так, например, предполагается, что тот факт, что признаки «жилая площадь» и «ежемесячный доход» не связаны между собой. Как мы можем разобрать из предыдущего примера, это предположение не всегда может быть верным. Однако полезность, вытекающая из этого предположения, достаточно надежна, чтобы иметь большое значение для многих различных приложений.

Возьмем, к примеру, случай, когда вы пытаетесь рассчитать вероятность того, что человек заведет собаку. Подсчитано, что в Соединенных Штатах 44% домохозяйств владеют собакой (Статистика домашних животных | Прием и выдача приютов | ASPCA). Однако скажите, что человек считает себя зоозащитником, или у него есть большой дом, или, может быть, у его родителей была собака. Интуиция подсказывает нам, что, скорее всего, вероятность того, что эти люди будут владеть собакой при жизни, будет выше средней.

Происхождение и внутренняя работа

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

Однако, чтобы правильно объяснить теорему, нам сначала нужно ввести некоторые обозначения.

  • P(Y|X): условная вероятность. Это вероятность события Y при условии, что произошло событие X, при условии, что вероятность X известна. Также называется апостериорной вероятностью.
  • P(Y): априорная вероятность. Вероятность того, что событие Y произошло при наличии существующего набора данных.

Вычисление апостериорной вероятности является целью наивного Байеса.

Этапы расчета теоремы Байеса

  1. Вычислите априорную вероятность P(B) класса B.
  2. Рассчитайте условную вероятность класса для каждого признака данного класса B, P(Xi|Y). Это вероятность каждой функции при условии, что результат был класса B. Поскольку функции независимы, мы вычисляем вероятность каждой функции при условии, что результат класса. Например: для признаков роста X1 (высокий и низкий) и скорости X2 (быстрый и медленный) вычисляем вероятность того, что человек играет в баскетбол. Таким образом, мы рассчитываем вероятность того, что:
  • Человек высокий, он играет в баскетбол: P(X1=ВЫСОКИЙ|Y=ДА)
  • Человек невысокого роста, учитывая, что он играет в баскетбол: P(X1=SHORT|Y=YES)
  • Человек быстр, учитывая, что он играет в баскетбол: P(X1=БЫСТРО|Y=ДА)
  • Человек медленный, учитывая, что он играет в баскетбол: P(X1=МЕДЛЕННО|Y=ДА)

И повторить тот же процесс, учитывая, что они не играют в баскетбол.

  • Человек высокий, он не играет в баскетбол: P(X1=ВЫСОКИЙ|Y=НЕТ)
  • Человек низкий, учитывая, что он не играет в баскетбол: P(X1=SHORT|Y=NO)
  • Человек быстр, учитывая, что он играет, а не в баскетбол: P(X2=БЫСТРО|Y=НЕТ)
  • Человек медленный, учитывая, что он играет, а не в баскетбол: P(X2=МЕДЛЕННО|Y=НЕТ)

3. Предсказать результат на основе наших результатов, используя теорему Байеса.

Например, предположим, что мы хотим предсказать, является ли человек X1 = ВЫСОКИМ, а X2 = МЕДЛЕННЫМ, и мы хотим предсказать результат Y.

Таким образом, мы вычисляем (результаты приведены только для иллюстрации):

  • P(Y=ДА|X) = P(Y=ДА)*{P(X1=ВЫСОКИЙ|Y=ДА)*P(X2=МЕДЛЕННЫЙ|Y=ДА)}=0,23
  • P(Y=НЕТ|X) = P(Y=ДА)*{P(X1=ВЫСОКИЙ|Y=НЕТ)*P(X2=МЕДЛЕННЫЙ|Y=НЕТ)}=0,5

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

Расширение наивного байесовского подхода к непрерывным переменным

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

Вместо этого мы вычисляем вероятности признака, используя функцию плотности вероятности для нормального или гауссовского распределения. Если бы было известно, что значение следует другому распределению, мы бы вместо этого использовали указанное распределение.

Многие функции в реальном мире следуют нормальному распределению, что помогло с относительно высокой точностью предсказать, что непрерывное значение попадет в заданный диапазон.