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

        在机器学习中,对于有监督学习可以将其分为两类模型:判别式模型和生成式模型。判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模。

1.抛砖引玉

        假设有训练数据(X,Y)X是属性集合,Y是类别标记。这时来了一个新的样本样本 x ,我们想要预测它的类别y。最终的目的是求得最大的条件概率 P(y|x)作为新样本 x 的分类。

2.生成式模型

        生成式模型:由数据学习联合概率密度分布P(X,Y),对X和Y的联合分布概率p(x,y)建模,然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)(贝叶斯概率)。基本思想是首先建立样本的联合概率概率密度模型P(X,Y),然后再得到后验概率P(Y|X),再利用它进行分类,过贝叶斯公式来求得P(Y|X),然后选取使得P(Y|X)最大的Y。

        生成式模型一般会对每一个类建立一个模型,有多少个类别,就建立多少个模型。比如说类别标签有{猫,狗,猪},那首先根据猫的特征学习出一个猫的模型,再根据狗的特征学习出狗的模型,之后分别计算新样本X跟三个类别的联合概率P(Y|X),然后根据贝叶斯公式:分别计算 P(Y|X),选择三类中最大的 P(Y|X)作为样本的分类。

        典型的生成模型有朴素贝叶斯,隐马尔科夫模型等。

3.判别式模型

         判别式模型:由数据直接学习决策函数Y=f(X)或者对条件概率分布P(Y|X)建模,即判别模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。

         判别模型根据训练数据得到分类函数分界面,比如逻辑回归模型会得到一个分类函数,SVM模型得到一个分界面。得到从x到y的映射,训练出的模型会判断在属性值x出现的情况下y的概率,计算条件概率 P(y|x),新样本的分类的最终结果就是最大的 P(y|x)。

        判别式模型是对条件概率建模,学习不同类别之间的最优边界,无法反映训练数据本身的特性,能力有限,其只能告诉我们分类的类别。                

        典型的判别模型包括k近邻,感知级,决策树,支持向量机等。这些模型的特点都是输入属性X可以直接得到后验概率P(Y|X),输出条件概率最大的作为最终的类别(对于二分类任务来说,实际得到一个score,当score大于threshold时则为正类,否则为负类)。 

3.实例

        问题:确定一个瓜(Z)是好瓜还是坏瓜?

        判别式模型:用判别模型的方法是从历史数据中学习到模型,因为是有监督学习,映射成瓜的特征(x1,x2,x3...xn)到y1(好瓜)或者是y2(坏瓜)的映射关系。然后通过提取这只瓜(Z)的特征(x1,x2,x3...xn)来预测出这只瓜是好瓜的概率,是坏瓜的概率。

        生成式模型:利用生成模型是根据好瓜的特征(x1,x2,x3...xn)首先学习出一个好瓜的模型,然后根据坏瓜的特征(x1,x2,x3...xn)学习出一个坏瓜的模型,然后从要判定的这个瓜(Z)中提取特征,放到好瓜模型中看概率是多少,在放到坏瓜模型中看概率是多少,哪个大就是哪个。

4.总结

 4-1 生成式模型的特点

        生成方法学习联合概率密度分布P(X,Y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。但它不关心到底划分各类的那个分类边界在哪。生成方法可以还原出联合概率分布P(Y,X),而判别方法不能。生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型,当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。

        总结:1)对联合概率建模,学习所有分类数据的分布;2)学习到的数据本身信息更多,能反应数据本身特性;3)需要的样本数更多,样本较少时学习效果较差;4)推断时性能较差;一定条件下能转换成判别式。

4-2 判别式模型的特点

        判别方法的特点:判别方法直接学习的是决策函数Y=f(X)或者条件概率分布P(Y|X)。不能反映训练数据本身的特性。但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。直接面对预测,往往学习的准确率更高。由于直接学习P(Y|X)或P(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

        总结:1)对条件概率建模,学习不同类别之间最优边界;2)捕捉不同类别特征的差异信息,不学习本身分布信息,无法反应数据本身特性;3)需要的样本数可以较少,少样本也能很好学习;4)预测时拥有较好性能。无法转换成生成式。

4-3 区别

        上图左边为判别式模型而右边为生成式模型,可以很清晰地看到差别,判别式模型是在寻找一个决策边界,通过该边界来将样本划分到对应类别。而生成式模型则不同,它学习了每个类别的边界,它包含了更多信息,可以用来生成样本 

         生成式模型和判别式模型最终的判断依据都是条件概率P(Y|X),但是生成式模型先计算了联合概率P(X,Y),再由贝叶斯公式计算得到条件概率。因此,生成式模型可以体现更多数据本身的分布信息,其普适性更广。

        在实际分类问题中,判别式模型可以直接用来判断特征的类别情况;而生成式模型需要加上贝叶斯公式,然后应用到分类中。但是,生成式模型的概率分布可以有其他应用,就是说生成式模型更一般更普适。不过判别式模型更直接,更简单。两种方法目前交叉较多。由生成式模型可以得到判别式模型,但由判别式模型得不到生成式模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值