判别模型和生成模型

来源:互联网 发布:腾讯企业邮箱域名续费 编辑:程序博客网 时间:2024/04/29 05:56

参考http://www.cnblogs.com/kemaswill/p/3427422.html
判别模型是最大化后验概率,生成模型的目标是求出联合分布。
判别模型直接对p(y|x)进行建模。
生成模型会对x和y的联合分布p(x,y)进行建模,通过贝叶斯公式求p(y|x),最后选取使p(y|x)最大的yi。

两者对比如下:
1.一般生成模型会对数据分布做一定假设,比如朴素贝叶斯假设给定y的情况下,各特征之间相互独立。当数据满足假设,生成模型利用较少数据可以取得不错的效果,但是假设不成立时,判别模型效果会更好。
2.生成模型最终的错误率比判别模型高,但是其需要更少的训练样本就可以使错误率收敛。
3.生成模型容易过拟合,判别模型通常需要解决凸优化问题。
4.当添加新类别时,生成模型不需要全部重新训练,只需要计算新类别y和x的联合分布即可,而判别模型需要重新训练。
5.生成模型可以更好的利用无标签数据,判别模型不可以。
6.生成模型可以生成x,判别模型不可以生成x。
7.判别模型对输入数据x进行预处理,生成模型替换不方便。

生成模型有:
判别式分析
朴素贝叶斯
K近邻(KNN)
混合高斯模型
隐马尔可夫模型(HMM)
贝叶斯网络
sigmoid belief network
马尔科夫随机场
深度信念网络

判别模型有:
线性回归
逻辑回归
神经网络
svm
高斯过程
条件随机场
CART

0 0
原创粉丝点击