生成模型和判别模型对比

比如说你的任务是识别一个语音属于哪种语言。例如对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的:用生成模型的方法是学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说话,你就可以知道他的语言对应什么语言;用判别模型的方法是不去学习每一种语言,你只学习这些语言模型之间的差别,然后再分类。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。

   生成模型的特点:一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。只关注自己的inclass本身,不关心到底 decision boundary在哪。
- 优点:
    实际上带的信息要比判别模型丰富,
    研究单类问题比判别模型灵活性强
    模型可以通过增量学习得到
    能用于数据不完整(missing data)情况
    modular construction of composed solutions to complex problems
    prior knowledge can be easily taken into account
    robust to partial occlusion and viewpoint changes
    can tolerate significant intra-class variation of object appearance
- 缺点:
    tend to produce a significant number of false positives. This is particularly true for object classes which share a high visual similarity such as horses and cows
    学习和计算过程比较复杂

     判别模型的特点:判别模型是寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。

- 优点:
    分类边界更灵活,比使用纯概率方法或生产模型得到的更高级。
    能清晰的分辨出多类或某一类与其他类之间的差异特征
    在聚类、viewpoint changes, partial occlusion and scale variations中的效果较好
    适用于较多类别的识别
    判别模型的性能比生成模型要简单,比较容易学习
- 缺点:
    不能反映训练数据本身的特性。能力有限,可以告诉你的是1还是2,但没有办法把整个场景描述出来。
    Lack elegance of generative: Priors, 结构, 不确定性
    Alternative notions of penalty functions, regularization, 核函数
    黑盒操作: 变量间的关系不清楚,不可视    

     两者之间的关系:由生成模型可以得到判别模型,但由判别模型得不到生成模型。

                               当存在隐变量(当我们找不到引起某一现象的原因的时候,我们就把这个在起作用,但是,无法确定的因素,叫“隐变量”) 时,仍可以利用生成方法学习,此时判别方法不能用。

   典型应用

    生成模型:朴素贝叶斯方法、隐马尔可夫模型

    判别模型:k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法、条件随机场

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值