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