生成模型与判别模型

监督学习的任务是学习一个“模型”。这个模型可以使给定的样本数据生成一个输出数据,且这个输出数据应尽可能与标签数据吻合。监督学习方法可以分为两大类:当学到的这个模型是真正的“模型”时,我们称之为生成方法(generative approach)。当学到的模型只是一种映射关系时,称为判别方法(discriminative approach)。对应的模型分别叫做生成模型(generative model)与判别模型(discriminative model)。
从定义我们可以看出两个模型之间最明显的区别:生成模型可以“生成”数据,判别模型只能对输入数据作"判别/预测"。再从公式切入:

生成模型: P ( Y ∣ X ) = P ( X , Y ) P ( X ) P\left( {Y|X} \right) = \frac{{P\left( {X,Y} \right)}}{{P\left( X \right)}} P(YX)=P(X)P(X,Y)

因此生成模型可以还原出联合概率分布 P ( X , Y ) P\left({X,Y}\right) P(X,Y)

判别模型:直接学习 P ( Y ∣ X ) P\left( {Y|X} \right) P(YX)或决策函数 f ( X ) f\left( {X} \right) f(X)

在应用方面:

山羊绵羊分类问题:
生成模型:根据山羊、绵羊样本的特征建立山羊模型、绵羊模型。输入一只新的小羊特征,分别计算新的小羊属于山羊、绵羊的概率各为多少。
判别模型:提取小羊特征,输入一个大模型中,直接输出小羊分别是山羊、绵羊的概率。

典型的模型举例
生成模型:naive Bayes、HMM
判别模型:KNN(K近邻)、感知机、决策树、logistic regression、最大熵模型、支持向量机、提升方法、条件随机场。
优缺点:
生成方法:

  1. 收敛速度更快。当有大量样本数据时,学到的模型能更快的收敛于真实模型。
  2. 当存在隐变量时,生成方法可以work,判别方法不work(die)。

判别方法:

  1. 直接学习的是 P ( Y ∣ X ) P\left( {Y|X} \right) P(YX)或决策函数 f ( X ) f\left( {X} \right) f(X),直接面对预测,准确率高。
  2. 由于学习的是一种判决关系,则可以对数据进行各种程度的抽样、定义特征和使用特征,因此可以简化学习问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值