生成模型与判别模型
-
生成模型与判别模型
比如说要确定一只羊是山羊还是绵羊,用判别模型的方法是先从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。换一种思路,我们可以根据山羊的特征首先学习出一个山羊模型,然后根据绵羊的特征学习出一个绵羊模型。然后从这只羊中提取特征,放到山羊模型中看概率是多少,再放到绵羊模型中看概率是多少,哪个大就是哪个。形式化表示为求
(也包括 ), 是模型结果, 是特征。 利用贝叶斯公式发现两个模型的统一性:
由于我们关注的是 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)}$$ 其中
称为后验概率, 称为先验概率。 由
,因此有时称判别模型求的是条件概率,生成模型求的是联合概率。 常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件 随机场、神经网络等。
常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine 等。
-
公式显示不出来..
-
有点深奥哇,有什么python推荐的资料吗