NB和LR的区别
http://www.quora.com/What-is-the-difference-between-logistic-regression-and-Naive-Bayes
www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf
作为生成模型NB从样本数据中模拟P(X|Y)和P(Y),而作为判别模型的LR,直接对数据lable:Y的分布进行模拟
由NB的条件独立假设,就是对于数据X=(x1,x2,.......),各个属性之间的条件概率分布式独立的,P(xi|Y)和P(xj|Y)不相关
这样可以大大减少参数的个数(如果相关的话,需要求解P(x1,x2,...|Y)等联合概率分布的参数),对与离散的NB问题,可以用最大似然对参数进行估计,也可以进行适当的平滑;
对于连续变量的NB,如果再假设每个属性分布P(xi|Y)符合正太分布,就是高斯朴素贝叶斯分类器(GNB)。对于GNB,使用最大似然对均值和方差进行估计时,均值的期望与真实期望相同,但方差的期望存在偏差(N/(N-1) * 方差);GNB可以通过形式变换,变换成LR的形式:
与LR有等价的形式:
而对于LR,是直接估计参数W,对分类结果直接判断,对于LR的求解可以使用梯度下降的方法,归一化的LR对应于最大化后验概率Maximum a Posterior
总结一下:
如果GNB假设成立,在渐进意义上,NB和LR会收敛成同一个分类器,否则,二者一般会训练处不同的分类器,这时,当数据量无限时,LR的结果往往比NB要好
LR不必假设数据的各个属性之间必须是相互独立的,对于不满足假设的数据,LR会在训练过程中对W参数自动调整
但是GNB与LR相比,GNB会快速的收敛,并且需要log n (n是数据维度)级别的样本数据。而LR需要n级别的数据,这时,对于小数据量下,GNB可能会比LR好一些!