生成模型与判别模型的区别与联系

1、概述

监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出。这个模型的一般形式为决策函数:

Y=f(X)

或者条件概率分布:

p(Y|X)

监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(generative  model)和判别模型(discriminative model)。

2、判别模型

2.1 判别方法的定义

判别方法由数据直接学习决策函数f(X)或者条件概率分布p(Y|X)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。典型的判别模型包括:k近邻法、感知机、决策树等。

2.2 判别模型的思想

判别模型直接对条件概率p(Y|X)建模,基本思想是在有限样本条件下,建立判别函数,直接研究预测模型。下面我们利用贝叶斯决策论里面的知识,利用判别方法对测试数据进行建模求解。

这里定义训练数据为(X,Y)Y=\left \{ y_{1},y_{2},...,y_{n} \right \}是n个训练样本的标签,X=\left \{ x_{1},x_{2},...,x_{n} \right \}是n个训练样本的特征。定义单个测试数据为(\tilde{x},\tilde{y}),\tilde{y}为测试数据的类别,\tilde{x}是测试样本的特征。

训练完毕后,输入测试数据,判别模型直接给出的是p(\tilde{y}|\tilde{x}),即输出(类别)关于输入(特征)的条件分布,实际上,这个分布的条件还有训练数据---------因为实际上我们是“看过”训练数据之后,学习到了对数据分布的后验认识,然后根据这个认识和测试样本的特征来做出测试样本属于哪个类别的决策的,所以有p(\tilde{y}|\tilde{x})=p(\tilde{y}|\tilde{x},X,Y)

我们认为这个条件分布p(\tilde{y}|\tilde{x},X,Y)由参数\theta决定的,即p(\tilde{y}|\tilde{x},\theta )……(2.1)
那么如何由p(\tilde{y}|\tilde{x},\theta )得到p(\tilde{y}|\tilde{x})呢?如果我们可以求出参数\theta关于训练数据的的后验分布P(\theta |X,Y)(这其实就是学习过程),那么就可以由

P(\tilde{y}|\tilde{x})=P(\tilde{y}|\tilde{x},X,Y)=\int P(\tilde{y},\theta |\tilde{x},X,Y)d\theta =\int P(\tilde{y}|\tilde{x},\theta )\cdot P(\theta |X,Y)d\theta……(2.2)
来得到想要的答案(关于②如何得到,请参考其他地方的讨论PRML第一章公式1.68如何推导? - 机器学习 - 知乎第31页公式1.68怎么推导的啊..)。

所以现在问题转化成了求条件分布的参数\theta关于训练数据(X,Y)的后验分布P(\theta |X,Y)。那么我们来看看怎么求这个后验分布。条件分布关于训练数据的似然函数

P(Y|X,\theta )=L(\theta )=\prod_{i-1}^{n}P(y_{i}|x_{i},\theta )……(2.3)
有没有发现P(Y|X,\theta )P(\theta |X,Y)有一点像?像是\theta和Y互换了位置,互为条件概率,可以考虑使用贝叶斯公式来进行转化,即

P(\theta |X,Y)=\frac{P(Y|X,\theta )\cdot P(\theta )}{P(Y|X)}……(2.4)
所以现在问题又进行了转化,变成了求条件分布关于训练数据的似然函数、参数\theta的先验分布和Y关于X的条件分布三个小问题。我们已经知道似然函数怎么求,先验分布也不需要求(先验知识,就是我们在解决问题之前已经知道的知识,在这里就是我们认为参数是未观察到的随机变量,其本身也可有分布【贝叶斯学派】),而

P(Y|X)=\int P(Y,\theta |X)d\theta =\int P(Y|X,\theta )\cdot P(\theta )d\theta……(2.5)
至此问题已经解决,综合上述(1)-(5)各式,我们终于可以求出输出关于输入的条件分布啦!

P(\tilde{y}|\tilde{x})=\int P(\tilde{y}|\tilde{x},\theta )\cdot \frac{P(Y|X,\theta )\cdot P(\theta )}{\int P(Y|X,\theta )\cdot P(\theta )d\theta }d\theta……(2.6)

(6)中的两个积分的计算是很麻烦的,在实际解决问题的过程中要想办法省略掉。
对于(2)中积分公式可以使用variational inference的方法干掉,variational inference用一句话来说就是:如果训练样本足够多的话,可以使用\theta的最大后验分布\theta _{map}来对\theta进行点估计(point estimate)。即有:

P(\tilde{y}|\tilde{x})=P(\tilde{y}|\tilde{x},X,Y)=P(\tilde{y}|\tilde{x},\theta _{map})……(2.7)
所以我们干掉了第一个积分问题&

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值