LikeTech

我要~一步一步往上爬~

机器学习中的判别模型和生成模型

两个模型是啥

我们从几句话进入这两个概念:
1、机器学习分为有监督的机器学习和无监督的机器学习;
2、有监督的机器学习就是已知训练集数据的类别情况来训练分类器,无监督的机器学习就是不知道训练集的类别情况来训练分类器;
3、所以说,有监督的机器学习可以抽象为一个分类task,而无监督的基本完成的是聚类;
4、有监督的机器学习中,我们可以概述为通过很多有标记的数据,训练出一个模型,然后利用这个,对输入的X进行预测输出的Y。这个模型一般有两种:

决策函数:Y=f(X)
条件概率分布:P(Y|X)

5、根据通过学习数据来获取这两种模型的方法,我们可以分为判别方法和生成方法;

6、概念正式介绍

判别方法:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。

数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)得到的预测模型,就是判别模型

生成方法:由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系

P(Y|X)作为的预测的模型就是生成模型

两个模型的范例

生成模型:朴素贝叶斯、隐马尔可夫(em算法)
判别模型:k近邻法、感知机、决策树、逻辑回归、线性回归、最大熵模型、支持向量机(SVM)、提升方法、条件随机场(CRF)

对比

1、生成模型可以还原出联合概率分布(还原数据本身相似度),而判别方法不能;
2、生成方法的学习收敛速度更快,当样本容量增加的时候,学到的模型可以更快的收敛于真实模型;
3、当存在隐变量时,仍可以利用生成方法学习,此时判别方法不能用;
4、判别学习不能反映训练数据本身的特性,但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异,直接面对预测,往往学习的准确率更高,由于直接学习P(Y|X)或Y=f(X),从而可以简化学习;
5、简单的说,生成模型是从大量的数据中找规律,属于统计学习;而判别模型只关心不同类型的数据的差别,利用差别来分类。


参考文章:
http://blog.csdn.net/zouxy09/article/details/8195017
http://www.cnblogs.com/kaituorensheng/p/3379170.html
http://www.zhihu.com/question/20446337

阅读更多
版权声明:本文为博主原创文章,转载时请注明出处链接。 https://blog.csdn.net/lk7688535/article/details/52353350
个人分类: 机器学习
上一篇python基础知识
下一篇CNN、RNN与LSTM(转)
想对作者说点什么? 我来说一句

生成模型判别模型优缺点

lxslx lxslx

2017-08-20 10:31:05

阅读数:193

没有更多推荐了,返回首页

关闭
关闭