机器学习之生成和判别模型

生成模型与判别模型

监督学习是在有标签的情况下,进行模型的训练一种方式,监督学习模型又可以分为生成式模型或者是判别式模型。
**判别式模型(Discriminative Model)**主要是确定一个决策函数,或者是条件概率分布:输入特征X通过函数返回预测值Y,在将Y映射成概率或者是和阈值进行比较或者和真实值进行比较。直观来说,判别模型学习的是类别之间的最优分隔面,反映的是不同类数据之间的差异


在这里插入图片描述

生成式模型(Generative Model):是去一个后验概率,输入X返回X属于每个类别的概率,其中概率最大的作为X的类别。生成式模型例如朴素贝叶斯,是根据输入特征,最终模拟这些特征的能力。学习的是联合概率分布P(X,Y),然后根据条件概率公式计算 P(Y|X)。基本思想是首先建立样本的联合概率的概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类。生成方法关心的是给定输入x产生输出y的生成关系。


在这里插入图片描述

生成模型和判别模型之间的联系:
1.生成模型是可以得到判别模型,但是反过来不行。
2.当我们有特征和目标时,但找不到他们之间的关系,无法确定因素,这种因素叫做隐变量。
优缺点
判别模型:
  优点是可以直接面对的是结果,将所有的输入特征抽象提取,使用他们得出目标值即可,简化学习。准确度相对较高。
  缺点:不能反映训练数据自身内部的一些特征。
生成模型:
  优点是可以还原联合概率分布,收敛速度更快。
  缺点是学习的过程比较复杂,准确率和判别模型相比更差一些。

直观解释

比如有一只羊你要确定它的品种是什么,判别式是通过很多个样本,例如山羊绵羊的毛色、身长等特征,通过这些特征的输入,构建一个模型,输出山羊和绵羊的概率是多少,来进行判断。生成式模型是通过学习所有了目标的模型,然后将羊的特征放入到每一个目标模型中,例如山羊模型P(w1|X)看概率,然后是绵羊模型P(w2|X)看概率,哪个高就用哪个。
或者如果你想识别别人说的话是那种语言,判别式模型是通过不同语言间的差别来学习,进行判别这是哪一种,强调的是结果。而生成式模型是通过学习所有的语言,这样就可以直接知道说的是什么了,强调的是自身的分类,并不关心分界是什么。

所以生成模型的特点是在统计学的角度上表示数据的分布情况,反应的是同类数据本身的相似度。
而判别式模型是寻找不同类别之间的最优分类面,反映的是不同类别数据的差异。

应用

生成模型:朴素贝叶斯方法、隐马尔可夫模型
判别模型:K近邻、感知机(神经网络)、决策树、逻辑回归、EM、SVM、CRF等

猜你喜欢

转载自blog.csdn.net/weixin_40192195/article/details/88741752