原文地址:https://www.jianshu.com/p/930813af53c7
相同
逻辑回归和朴素贝叶斯都是对条件概率\(P(y|X)\)进行建模,使得最终的分类结果有很好的解释性。
不同
具体流程
- 逻辑回归:
假设\(P(y=1|X)\)满足逻辑函数
其中,\(z=XW+b\),即
通过梯度下降最小化\(-\sum\limits_{(X,y)}log(P(y|X))\)直接求解\(W\)。
- 朴素贝叶斯:
贝叶斯:
不直接求解\(P(y|X)\),先求解\(P(y)\)和\(p(X|y)\),再通过贝叶斯公式
求解\(P(y|X)\)。
朴素:
且其假设特征满足条件独立性:给定类别,不同维度的特征取值之间相互独立,即$$p(X|y=c)=\prod_i{p(X_i|y=c)}$$
如果特征\(X\)取离散值,可以直接根据训练数据统计出\(P(y)\)和\(p(X_i|y)(\forall{i})\)。
如果特征\(X\)取连续值,需要假设\(p(X|y)\)的形式,如高斯分布,其对应\(W\)值形式确定,根据训练数据利用MLE求解出\(\mu\)和\({\Sigma}\)后,由\({\mu}\)和\({\Sigma}\)确定\(W\)值。
预测时,求解使得\(P(y|X)\)最大的\(y\)作为最终的分类结果。
模型类别
逻辑回归是判别模型;朴素贝叶斯是生成模型。
判别模型的目标是找到一个最能够区分不同类的边界,它不在乎每一类中样本点是如何分布的;
生成模型首先对各类中的样本分布进行建模,
好处是需要的训练数据更少、对于噪声点更鲁棒(该点与假设不符合,可能是噪声点)、\(P(y)\)和\(p(X|y)\)可以来自不同的源。
如何取舍
当特征间满足条件独立性假设时,随着训练数据中样本个数的增加,在极限情况下,逻辑回归和高斯朴素贝叶斯分类结果一致。
高斯朴素贝叶斯的收敛速度比逻辑回归更快,
当训练数据中样本数目较小时,高斯朴素贝叶斯往往比逻辑回归表现得更好;
当样本数目较大时,由于逻辑回归的极限误差更低,它会比高斯朴素贝叶斯表现得更好。
与逻辑回归相比,朴素贝叶斯的方差更小,偏差更大。
比起逻辑回归来,朴素贝叶斯会较为受限于特征工程,当假设不成立时,假设会对分类的准确性造成负面的影响。