机器学习----贝叶斯分类器(判别模型和生成模型)

来源:互联网 发布:Ping用什么端口 编辑:程序博客网 时间:2024/05/24 00:36

判别模型和生成模型

数学表述

监督学习方法分 判别方法(Discriminative Approach) 和 生成方法(Generative Approach),所学到的模型分别称为 判别模型(Discriminative Model) 和 生成模型(Generative Model)。

所谓判别模型模型是直接判别测试用例所属的类别,即直接对p(y|x)进行建模,例如logistic regression,y=σ(θTx) 。它直接计算出所属类别的概率。
但是我们还有另一种方法~注意到贝叶斯公式:

p(y|x)=p(x,y)p(x)=p(x|y)p(y)p(x)

我们可以用p(x|y)(条件分布),p(y)(类别先验)和p(x)来计算出p(y|x),这种方法我们就叫作生成方法,其中p(x)=ip(x|yi)。它先生成联合概率分布,再用联合概率分布和边缘分布得到p(y|x)

可以看出生成方法可以推出判别方法的结论p(y|x),但是判别方法不能得到生成方法的中间结果p(x,y)

形象表述

例如我们有以下(x,y)形式的数据:(1,0), (1,0), (2,0), (2, 1)

那么p(x,y)是:

y=0 y=1 x=1 1/2 0 x=2 1/4 1/4

而p(y|x) 是:

y=0 y=1 x=1 1 0 x=2 1/2 1/2

生成模型更细致,它还考虑了数据本身的一些性质;而判别模型只用把不同的类别判别出来就行了,判别模型考虑的是差异。

高斯判别分析与logistic回归

高斯判别分析(Gaussian discriminant analysis)是一种生成方法,我们通过它来进一步了解Generative Approach。
首先,假设样本在每个类别上都满足(或者近似满足)高斯分布。如下图红蓝所示:
这里写图片描述

红色是P(x|y=0),蓝色是P(x|y=1)。然后计算出P(y=1|x)(绿色)来进行判别。可以证明如果每个样本分布满足高斯分布,则P(y=1|x)为logistic回归。所以如果数据(大致)满足高斯分布,则高斯判别分析要比logistic回归要精准,收敛速度更快。
另有,如果:

P(x|y=1)poisson(λ1)P(x|y=0)poisson(λ0)

即个各类满足泊松分布,则P(y=1|x)也是logistic回归。

但是我们用了logistic回归之后不能知道P(x|y)的分布,如果我们知道数据的分布模型大致长什么样,则生成方法要好些~

参考:http://blog.csdn.net/zouxy09/article/details/8195017
Stanford CS229

0 0
原创粉丝点击