生成模型与判别模型区别
Posted 小鲨鱼~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成模型与判别模型区别相关的知识,希望对你有一定的参考价值。
概念理解
监督学习方法可分为两大类,即生成方法与判别方法,它们所学到的模型称为生成模型与判别模型。
- 判别模型:判别模型是学得一个分类面(即学得一个模型),该分类面可用来区分不同的数据分别属于哪一类;
- 生成模型:生成模型是学得各个类别各自的特征(即可看成学得多个模型),可用这些特征数据和要进行分类的数据进行比较,看新数据和学得的模型中哪个最相近,进而确定新数据属于哪一类。
举个例子:若分类目标是对图像中的大象和狗进行分类。判别方法学得一个模型,这个模型可能是判断图中动物鼻子的长度是否大于某一阈值,若大于则判断为大象,否则判断为狗;生成学习则分别构建一个大象的特征模型与狗的特征模型,来了一个新图像后,分别用大象模型与狗模型与其进行比较,若新图像与狗相似度更高则判断为狗,否则判断为大象。
相关数学理论
若已知某分类任务的生成模型,是可以求得该任务的判别模型,反之则不行。这和概率论中的全概率密度函数以及边沿概率密度函数是一致的(即已知全概率密度可求得边沿概率密度,但已知边沿概率密度不能求得全概率密度)。
例如:若现在已知一个二分类问题获得的5个训练数据为:(1,0),(1,0),(2,0),(2,1),(2,1)
1、全概率分布P(X,Y)如下表所示
X\Y | 0 | 1 |
---|---|---|
1 | 2/5 | 0 |
2 | 1/5 | 2/5 |
注意:根据全概率分布,可以推导出如下边沿概率分布P(Y|X)以及P(X)。
2、边沿概率分布P(Y|X)如下表所示
X\Y | 0 | 1 |
---|---|---|
1 | 1 | 0 |
2 | 1/3 | 2/3 |
注意:根据边沿概率分布,不可以推导出全概率分布。例如,此例中边沿概率分布对应的全概率分布可能如下:
X\Y | 0 | 1 |
---|---|---|
1 | 4/7 | 0 |
2 | 1/7 | 2/7 |
由上述例子可知,生成模型的信息比判别模型信息要更全一些。
两类方法的特点
生成方法通常需要无穷多样本,进而学习一个联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)=P(X,Y)/P(X)来对新输入的数据进行分类。
此类方法之所以成为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯法、马尔科夫模型、高斯混合模型。这种方法一般建立在统计学和Bayes理论的基础之上。
生成方法的特点:
- 从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度;
- 生成方法还原出联合概率分布,而判别方法不能;
- 生成方法的学习收敛速度更快、即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
- 当存在隐变量时,仍然可以用生成方法学习,此时判别方法不能用
判别方法可以根据有限个样本获得一个判别函数(即判别模型),然后用它来对新数据进行分类。典型的判别模型包括:k近邻法、感知机、决策树、逻辑斯蒂回归模型、最大熵模型、支持向量机、boosting方法和条件随机场等。
判别方法的特点:
- 判别方法寻找不同类别之间的最优分类面,反映的是异类数据之间的差异;
- 判别方法利用了训练数据的类别标识信息,直接学习的是条件概率P(Y|X)或者决策函数f(X),直接面对预测,往往学习的准确率更高;
- 由于直接学习条件概率P(Y|X)或者决策函数f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题;
- 缺点是不能反映训练数据本身的特性。
两类方法的应用
根据所获取的数据,两类方法都有各自的用场。例如:我们若只有人的侧面数据,我们当然不知道这个人是否长得帅、美,但我们可做(男、女)、(有耳、无耳)分类。用生成模型来做的话,则表示这个人全部信息都有了,当然能做的分类更多了。
转载自:https://blog.csdn.net/quintind/article/details/77923147
以上是关于生成模型与判别模型区别的主要内容,如果未能解决你的问题,请参考以下文章