生成模型与判别式模型的区别

看了JerryLead大神的博客,茅塞顿开!所以把他的文章转载过来,希望在之后对相关知识模糊的时候能够看看,加深理解。原始链接原始链接地址


1判别模型与生成模型

上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率。形式化表示为clip_image002[8],在参数clip_image004[8]确定的情况下,求解条件概率clip_image006[8]。通俗的解释为在给定特征后预测结果出现的概率。

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

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

clip_image011[8]

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

clip_image001[4]

其中clip_image003[4]称为后验概率,clip_image005[4]称为先验概率。

clip_image007[4],因此有时称判别模型求的是条件概率,生成模型求的是联合概率。

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

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

这篇博客较为详细地介绍了两个模型:

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

2高斯判别分析(Gaussian discriminant analysis)

1) 多值正态分布

多变量正态分布描述的是n维随机变量的分布情况,这里的clip_image009变成了向量,clip_image011[10]也变成了矩阵clip_image013。写作clip_image015[4]。假设有n个随机变量X1,X2,…,Xn。clip_image009[1]的第i个分量是E(Xi),而clip_image017[4]

概率密度函数如下:

clip_image018[28]

其中|clip_image020[8]clip_image013[1]的行列式,clip_image013[2]是协方差矩阵,而且是对称半正定的。

clip_image009[2]是二维的时候可以如下图表示:

clip_image022

其中clip_image009[3]决定中心位置,clip_image013[3]决定投影椭圆的朝向和大小。

如下图:

clip_image024

对应的clip_image013[4]都不同。

2) 模型分析与应用

如果输入特征x是连续型随机变量,那么可以使用高斯判别分析模型来确定p(x|y)。

模型如下:

clip_image025[6]

输出结果服从伯努利分布,在给定模型下特征符合多值高斯分布。通俗地讲,在山羊模型下,它的胡须长度,角大小,毛长度等连续型变量符合高斯分布,他们组成的特征向量符合多值高斯分布。

这样,可以给出概率密度函数:

clip_image026[8]

最大似然估计如下:

clip_image027[8]

注意这里的参数有两个clip_image009[4],表示在不同的结果模型下,特征均值不同,但我们假设协方差相同。反映在图上就是不同模型中心位置不同,但形状相同。这样就可以用直线来进行分隔判别。

求导后,得到参数估计公式:

clip_image028[4]

clip_image030[6]是训练样本中结果y=1占有的比例。

clip_image032[4]是y=0的样本中特征均值。

clip_image034[6]是y=1的样本中特征均值。

clip_image013[5]是样本特征方差均值。

如前面所述,在图上表示为:

clip_image035[8]

直线两边的y值不同,但协方差矩阵相同,因此形状相同。clip_image009[5]不同,因此位置不同。

3) 高斯判别分析(GDA)与logistic回归的关系

将GDA用条件概率方式来表述的话,如下:

clip_image036[8]

y是x的函数,其中clip_image037[8]都是参数。

进一步推导出

clip_image038[4]

这里的clip_image040[4]clip_image041[8]的函数。

这个形式就是logistic回归的形式。

也就是说如果p(x|y)符合多元高斯分布,那么p(y|x)符合logistic回归模型。反之,不成立。为什么反过来不成立呢?因为GDA有着更强的假设条件和约束。

如果认定训练数据满足多元高斯分布,那么GDA能够在训练集上是最好的模型。然而,我们往往事先不知道训练数据满足什么样的分布,不能做很强的假设。Logistic回归的条件假设要弱于GDA,因此更多的时候采用logistic回归的方法。

例如,训练数据满足泊松分布,clip_image042[4]

clip_image043[6],那么p(y|x)也是logistic回归的。这个时候如果采用GDA,那么效果会比较差,因为训练数据特征的分布不是多元高斯分布,而是泊松分布。

这也是logistic回归用的更多的原因。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值