加载中…
个人资料
龙源客栈
龙源客栈
  • 博客等级:
  • 博客积分:0
  • 博客访问:136,638
  • 关注人气:32
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

判别模型和生成模型 -- ML Step By Step(4)

(2013-07-18 18:31:20)
标签:

生成模型

判别模型

generative

discriminative

分类: 机器学习,数据挖掘

判别模型(Discriminative Model)和生成模型(Generative Model)是对于问题的两种不同的审视角度。

假设我们有一群鸟和一群猫,想做一个模型对其进行分类,特征有是否有羽毛,腿的数目,是否吃鱼等。

输入 X = (x_1 = 尾巴长度(cm),x_2 = 寿命(周), x_3 = 毛的直径(mm),x_4 = … )

输出 Y = 1 if Bird, else 0

有了这个问题,我们来看两种思路会如何定义问题

如果是判别算法,就会训练一个模型,这个模型可以直接处理模型的特征,比如腿的数目等,然后得到它是一个什么动物,鸟还是猫

如果是生成模型,会考虑所有的猫,总结一个关于猫的规律,或者叫做模型;然后再看所有的鸟,总结一个关于鸟的模型;然后比较猫和鸟的模型,统一出一个完整的模型。

 

下面正式的描述一下这两个模型

【判别模型Discriminative Model】——inter-class probabilistic description 

关注的核心点是数据的条件概率 p(label | features)

就开始时候给的例子,建立模型的目标是:

NewImage

这个公式的解释是,已知特征求类标,使得类标y最靠谱(即使得其正确的概率最大)

 

【生成模型Generative Model】——intra-class probabilistic description

关注的核心点是数据的联合概率 p(label, features), 其中 p(label features) = p(features | label) * p(label)

就开始时候给的例子,建立模型的目标是:

NewImage

这个模型的终极目标和判别模型一致,即已知特征求类标,使得类标y最靠谱(即使得其正确的概率最大)

区别在于模型的目标被换做了另一种形式,公式变换中p(x)被去掉是因为对于正负例来说,p(x)是个一致恒定的概率,相当于常量。

回到文初的例子,对于x | y = 1, x | y = 0, y 来说,他们都可以服从某种分布

比如对于一群动物是猫还是鸟(p(y)),可以做个猜想是服从伯努利分布的

对于某一种动物 (比如猫 x | y = 0) 来说,如果这是一个连续特征,可以猜想其服从正态分布,比如尾巴的长度等,如果所有的特征都是正态分布,可以猜测特征向量服从多维正态分布

如果是这样,就有了下面的表示

NewImage

Anyway, 其实具体特征服从什么分布,不是现在考虑的重点,重点在于生成模型对于各种类别建立模型,并对类别之间的分布也建立了模型,在结果中综合考虑了特征和类标的联合概率。

 

下面给一个两种类型模型的比较

NewImage

考虑两种模型的目标可以得到这样一个关系

通过生成模型可以计算出相应的判别模型,但只有判别模型不能得到相应的生成模型


参考资料:

http://blog.sciencenet.cn/home.php?mod=space&uid=248173&do=blog&id=227964

Andrew Ng 机器学习

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有