生成模型与判别模型

我们知道机器学习中不同的模型大致可以分为两类--生成模型和判别模型,那么这两者分别怎么定义?区别在于哪里?应用场景又有什么不同?下面我们对以上做一下总结。

生成模型

简而言之,生成模型是这样的模型:给定标签限量 y,我们可以根据模型“生成”特征向量x。一般生成模型可以做如下处理:根据数据求得概率 p(x|y),根据贝叶斯定理 p(y|x) = \frac{p(x,y)}{p(x)}= \frac{p(x|y)p(y)}{p(x)},我们得到了用于判别的模型p(y|x);当然,如果是为了分类而非得到p(y|x)p(x)也并非一定要计算,直接比较p(x,y)也是可以的。生成模型包括朴素贝叶斯,HMM等。

判别模型

和生成模型对应的,判别模型直接对模型p(y|x)建模,当然如果模型不属于概率模型(如svm),那么我们是对于判别函数y= p(x)建模,这相比较与生成模型更加直接,但不能生成相应的数据。判别模型包括逻辑回归,svm,k近邻,决策树等。

生成模型与判别模型比较

一般来说,如果生成模型A和判别模型B可以组成一个Generative-Discriminative pair [1],那么随着训练数据的增加,一开始A收敛的速度会比B要快,但是最终B的收敛误差要比A要小。换句话说,如果数据量比较小,我们倾向于选择A, 数据量比较多时我们倾向于选择B。另外,判别模型建模比较直接,更简单易懂;而生成模型可以反映数据的概率特性,可以生成数据。

参考文献:

[1] On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes

[2] 统计学习方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值