生成模型与判别模型区别

概念理解

监督学习方法可分为两大类,即生成方法与判别方法,它们所学到的模型称为生成模型与判别模型。函数

  • 判别模型:判别模型是学得一个分类面(即学得一个模型),该分类面可用来区分不一样的数据分别属于哪一类;
  • 生成模型:生成模型是学得各个类别各自的特征(便可当作学得多个模型),可用这些特征数据和要进行分类的数据进行比较,看新数据和学得的模型中哪一个最相近,进而肯定新数据属于哪一类。

举个例子:若分类目标是对图像中的大象和狗进行分类。判别方法学得一个模型,这个模型多是判断图中动物鼻子的长度是否大于某一阈值,若大于则判断为大象,不然判断为狗;生成学习则分别构建一个大象的特征模型与狗的特征模型,来了一个新图像后,分别用大象模型与狗模型与其进行比较,若新图像与狗类似度更高则判断为狗,不然判断为大象。学习

相关数学理论

若已知某分类任务的生成模型,是能够求得该任务的判别模型,反之则不行。这和几率论中的全几率密度函数以及边沿几率密度函数是一致的(即已知全几率密度可求得边沿几率密度,但已知边沿几率密度不能求得全几率密度)。ui

例如:若如今已知一个二分类问题得到的5个训练数据为:(1,0),(1,0),(2,0),(2,1),(2,1) 
一、全几率分布P(X,Y)以下表所示.net

X\Y 0 1
1 2/5 0
2 1/5 2/5

注意:根据全几率分布,能够推导出以下边沿几率分布P(Y|X)以及P(X)。blog

二、边沿几率分布P(Y|X)以下表所示数学

X\Y 0 1
1 1 0
2 1/3 2/3

注意:根据边沿几率分布,不能够推导出全几率分布。例如,此例中边沿几率分布对应的全几率分布可能以下:table

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

相关文章
相关标签/搜索