机器学习:生成式模型和判别式模型

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

决策函数Y=f(x):输入一个x,它就输出一个y值,这个y与一个阈值比较,根据比较结果判定x属于哪个类别。

条件概率分布P(y|x):输入一个x,它通过比较它属于所有类的概率,然后预测时应用最大后验概率法(MAP)比较条件概率最大的x对应的类别。

举个例子,对于一个二分类问题:对于Y=f(x)形式的分类模型,如果输出Y大于某个阈值V就属于类w1否则属于w2而对于P(y|x)形式的分类模型,分别计算条件概率,如果P(w1|x)大于P(w2|x)x就属于类w1否则属于w2

 


生成式模型与判别式模型

生成式模型(Generative Model)由数据学习联合概率密度分布P(x,y),然后生成条件概率分布P(y|x),或者直接学得一个决策函数 Y=f(x),用作模型预测。

判别式模型(Discriminative Model)由数据直接学习决策函数f(x)或者条件概率分布P(y|x)作为预测。

 


异同点

1.生成模型和判别模型都属于监督学习的模型。

2.生成式模型可以根据贝叶斯公式得到条件概率分布P(y|x),但反过来不行,即判别方法不能还原出联合概率分布P(x,y)。

3.生成方法学习联合概率密度分布P(x,y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度,但它不关心到底划分各类的那个分类边界在哪;判别方法不能反映训练数据本身的特性,但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。

 


常见模型分类

生成式模型:

  • 判别式分析
  • 朴素贝叶斯
  • 混合高斯模型
  • 隐马尔科夫模型(HMM)
  • 贝叶斯网络
  • Sigmoid Belief Networks
  • 马尔可夫随机场(Markov Random Fields)
  • 深度信念网络(DBN)

判别式模型:

  • 线性回归(Linear Regression)
  • 逻辑斯特回归(Logistic Regression)
  • K近邻(KNN)
  • 感知机
  • 神经网络(NN)
  • 支持向量机(SVM)
  • 决策树
  • 最大熵模型(maximum entropy model, MaxEnt)
  • 高斯过程(Gaussian Process)
  • 条件随机场(CRF)
  • 区分度训练
  • boosting方法

借用一个网友举通俗易懂的例子

假如你的任务是识别一个语音属于哪种语言,对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的:

(1)学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说,你就可以知道他说的是什么语音.

(2)不去学习每一种语言,你只学习这些语言之间的差别,然后再判断(分类)。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。

第一种方法就是生成方法,第二种方法是判别方法。

 


参考一篇比较判别式模型和生成式模型的paper: 
On Dicriminative vs. Generative classfier: A comparison of logistic regression and naive Bayes

  • 18
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值