朴素贝叶斯与逻辑回归的区别:
朴素贝叶斯 |
逻辑回归 |
生成模型(Generative model) |
判别模型(Discriminative model) |
对特征x和目标y的联合分布P(x,y)建模,使用极大后验概率估计法估计出最有可能的P(y|x) |
直接对后验概率P(y|x)建模,使用极大似然估计法使其最大化 |
不需要优化参数,先用极大似然估计法估计出先验概率P(y)和条件概率P(x|y),然后计算出极大后验概率P(y|x) |
需要优化参数,先用极大似然估计法得出损失函数,再用梯度下降法等优化参数 |
假设特征之间相互独立,对于不相互独立的特征,朴素贝叶斯的分类效果会差一些 |
不必假设特征之间是相互独立的,对于不相互独立的特征,逻辑回归会在训练过程中对参数自动调整 |
Andrew Ng和Michael Jordan在2001年发了一篇NIPS短文《 On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes 》,他们把这两个模型在各种数据集上面进行测试,最后得到在小数据上Naive bayes可以取得更好的效果,随着数据的增多、特征维度的增大,Logistic regression的效果更好。这是因为Naive bayes是生成模型,假设训练数据服从某种分布,在有prior的情况下模型能够把数据fit的更好,但是随着数据量的增多,prior对整个数据后验概率分布的影响逐渐降低。而Logistic regression属于判别模型,不去建模联合概率,通过训练数据直接预测输出,因此在数据足够多的情况下能够得到更好一些的效果。