生成模型与判别模型



  • 生成模型与判别模型

    比如说要确定一只羊是山羊还是绵羊,用判别模型的方法是先从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。换一种思路,我们可以根据山羊的特征首先学习出一个山羊模型,然后根据绵羊的特征学习出一个绵羊模型。然后从这只羊中提取特征,放到山羊模型中看概率是多少,再放到绵羊模型中看概率是多少,哪个大就是哪个。形式化表示为求p(xy)p(x|y)(也包括p(y)p(y)),yy 是模型结果,xx 是特征。

    利用贝叶斯公式发现两个模型的统一性:

    p(yx)=p(xy)p(y)p(x)p(y|x) = \frac{p(x|y)p(y)}{p(x)}

    由于我们关注的是 y 的离散值结果中哪个概率大(比如山羊概率和绵羊概率哪个大),而并不是关心具体的概率,因此上式改写为:

    $$\underset{y}{\operatorname{argmax p(y|x)}} = \underset{y}{argmax\frac{p(x|y)p(y)}{p(x)}} = \underset{y}{argmax p(x|y)p(y)}$$

    其中 p(xy){p(x|y)} 称为后验概率,p(y)p(y) 称为先验概率。

    p(xy)p(y)=p(x,y)p(x|y)*p(y) = p(x,y) ,因此有时称判别模型求的是条件概率,生成模型求的是联合概率。

    常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件 随机场、神经网络等。

    常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine 等。



  • 公式显示不出来..


  • 核心层

    有点深奥哇,有什么python推荐的资料吗


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待