Logistic Regression vs Naive Bayes
Posted cherrychenlee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logistic Regression vs Naive Bayes相关的知识,希望对你有一定的参考价值。
相同
逻辑回归和朴素贝叶斯都是对条件概率\(p(y|X)\)进行建模,使得最终的分类结果有很好的解释性。
不同
具体流程
- 逻辑回归:
假设\(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_y{p(x,y)}}=\frac{p(y)p(X|y)}{\prod_y{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)\)可以来自不同的源。
如何取舍
当特征间满足条件独立性假设时,随着训练数据中样本个数的增加,在极限情况下,逻辑回归和高斯朴素贝叶斯分类结果一致。
高斯朴素贝叶斯的收敛速度比逻辑回归更快,
当训练数据中样本数目较小时,高斯朴素贝叶斯往往比逻辑回归表现得更好;
当样本数目较大时,由于逻辑回归的极限误差更低,它会比高斯朴素贝叶斯表现得更好。
与逻辑回归相比,朴素贝叶斯的方差更小,偏差更大。
比起逻辑回归来,朴素贝叶斯会较为受限于特征工程,当假设不成立时,假设会对分类的准确性造成负面的影响。
以上是关于Logistic Regression vs Naive Bayes的主要内容,如果未能解决你的问题,请参考以下文章
如何在 sklearn Logistic Regression 的 one-vs-rest 方案中对概率进行归一化?