Как Наивный Байес является линейным классификатором?

31

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

Однако я смоделировал два гауссовых облака и установил границу решения и получил результаты как таковые (библиотека e1071 в r, используя naiveBayes ()) 1- Зеленый, 0 - Красный

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

Кевин Пей
источник
как вы создали границы решения? я подозреваю, что это связано с вашей подходящей процедурой, а не с истинной границей решения классификатора. обычно можно создать границу решения, рассчитав решение в каждой отдельной точке вашего квадранта.
seanv507
Это то, что я сделал, я взял два диапазона X = [Мин (х), Макс (х)] и Y = [Мин (Y), Макс (Y)] с интервалом 0,1. Затем я подобрал все эти точки данных с помощью обученного классификатора и нашел такие точки, чтобы шансы в журнале были от -0,05 до 0,05
Кевин Пей

Ответы:

30

p(xic)

Вы можете написать любой наивный байесовский классификатор как *

p(c=1x)=σ(ilogp(xic=1)p(xic=0)+logp(c=1)p(c=0)),

σp(xic)

p(xic)=hi(xi)exp(uicϕi(xi)Ai(uic)),

и поэтому

p(c=1x)=σ(iwiϕi(xi)+b),

где

wi=ui1ui0,b=logp(c=1)p(c=0)i(Ai(ui1)Ai(ui0)).

ϕi

p(xic)ϕi(xi)=(xi,xi2)

wi1=σ12μ1σ02μ0,wi2=2σ022σ12,bi=logσ0logσ1,

p(c=1)=p(c=0)=12


* Вот как вывести этот результат:

p(c=1x)=p(xc=1)p(c=1)p(xc=1)p(c=1)+p(xc=0)p(c=0)=11+p(xc=0)p(c=0)p(xc=1)p(c=1)=11+exp(logp(xc=1)p(c=1)p(xc=0)p(c=0))=σ(ilogp(xic=1)p(xic=0)+logp(c=1)p(c=0))
Лукас
источник
Спасибо за вывод, который я теперь понимаю, вы можете объяснить обозначения в уравнении 2 и ниже? (u, h (x_i), phi (x_i) и т. д.) Находится ли P (x_i | c) в экспоненциальном семействе, просто принимая значение из pdf?
Кевин Пей
uϕ
1
ϕ(x)=(x,x2)w
Я нахожу этот ответ вводящим в заблуждение: как указано в комментарии чуть ниже, а ответ чуть ниже, гауссовский наивный байесовский импульс не является линейным в исходном пространстве признаков, а представляет собой нелинейное преобразование их. Следовательно, это не обычный линейный классификатор.
Gael Varoquaux
p(xi|c)ϕi(xi)=(xi,xi2)T(x)x/σ
8

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

AXK
источник
3

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

В широкой теме «Гауссовский дискриминантный анализ (GDA)» есть несколько методов: QDA, LDA, GNB и DLDA (квадратичный DA, линейный DA, гауссовский наивный байес, диагональный LDA). [ОБНОВЛЕНО] LDA и DLDA должны быть линейными в пространстве заданных предикторов. (См., Например, Мерфи , 4.2, стр. 101 для DA и стр. 82 для NB. Примечание: GNB не обязательно является линейным. Дискретный NB (который использует многочленное распределение под капотом) является линейным. Вы также можете проверить Duda , Hart & Stork раздел 2.6). QDA является квадратичным, как указывали другие ответы (и я думаю, что происходит на вашем графике - см. Ниже).

Σc

  • Σc
  • Σc=Σ
  • Σc=diagc
  • Σc=diag

В то время как документы для e1071 утверждают, что они предполагают независимость от класса (то есть GNB), я подозреваю, что это фактически делает QDA. Некоторые люди путают «наивный байесовский» (делая предположения о независимости) с «простым правилом байесовской классификации». Все методы GDA получены из более поздних; но только GNB и DLDA используют первое.

Большое предупреждение, я не прочитал исходный код e1071, чтобы подтвердить, что он делает.

MrDrFenner
источник