()判别模型、生成模型与朴素贝叶斯方法-大数据文档资料.docx
判别模型、生成模型与朴素贝叶斯方法
JerryLead
csxulijie@
2011年3月5日星期六
1判别模型与生成模型
上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率。形式化表示为p(y|x;θ),在参数θ确定的情况下,求解条件概率p(y|x)。通俗的解释为在给定特征后预测结果出现的概率。
比如说要确定一只羊是山羊还是绵羊,用判别模型的方法是先从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。换一种思路,我们可以根据山羊的特征首先学习出一个山羊模型,然后根据绵羊的特征学习出一个绵羊模型。然后从这只羊中提取特征,放到山羊模型中看概率是多少,再放到绵羊模型中看概率是多少,哪个大就是哪个。形式化表示为求p(x|y)(也包括p(y)),y是模型结果,x是特征。
利用贝叶斯公式发现两个模型的统一性:
由于我们关注的是y的离散值结果中哪个概率大(比如山羊概率和绵羊概率哪个大),而并不是关心具体的概率,因此上式改写为:
其中p(x|y)称为后验概率,p(y)称为先验概率。
由p(x|y)?p(y)=p(x,y),因此有时称判别模型求的是条件概率,生成模型求的是联合概率。
常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。
常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、RestrictedBoltzmannMachine等。
这篇博客较为详细地介绍了两个模型:
/home.php?mod=spaceuid=248173do=blogid=227964
2高斯判别分析(Gaussiandiscriminantanalysis)
1)多值正态分布
多变量正态分布描述的是n维随机变量的分布情况,这里的μ变成了向量,σ也变成了矩阵Σ。写作N(μ,Σ)。假设有n个随机变量x1,x2,…,xn。μ的第i个分量是E(Xi),而Σii=Var(xi),Σij=Cov(xi,xj)。
概率密度函数如下:
其中|Σ|是Σ的行列式,Σ是协方差矩阵,而且是对称半正定的。当μ是二维的时候可以如下图表示:
其中μ决定中心位置,Σ决定投影椭圆的朝向和大小。如下图:
对应的Σ都不同。
2)模型分析与应用
如果输入特征x是连续型随机变量,那么可以使用高斯判别分析模型来确定p(x|y)。模型如下:
输出结果服从伯努利分布,在给定模型下特征符合多值高斯分布。通俗地讲,在山羊模型下,它的胡须长度,角大小,毛长度等连续型变量符合高斯分布,他们组成的特征向量符合多值高斯分布。
这样,可以给出概率密度函数:
最大似然估计如下:
注意这里的参数有两个μ,表示在不同的结果模型下,特征均值不同,但我们假设协方差相同。反映在图上就是不同模型中心位置不同,但形状相同。这样就可以用直线来进行分隔判别。
求导后,得到参数估计公式:
Φ是训练样本中结果y=1占有的比例。μ0是y=0的样本中特征均值。
μ1是y=1的样本中特征均值。Σ是样本特征方差均值。
如前面所述,在图上表示为:
直线两边的y值不同,但协方差矩阵相同,因此形状相同。μ不同,因此位置不同。
3)高斯判别分析(GDA)与logistic回归的关系将GDA用条件概率方式来表述的话,如下:
y是x的函数,其中
都是参数。
进一步推导出
这里的θ是的函数。
这个形式就是logistic回归的形式。
也就是说如果p(x|y)符合多元高斯分布,那么p(y|x)符合logistic回归模型。反之,不成立。为什么反过来不成立呢?因为GDA有着更强的假设条件和约束。
如果认定训练数据满足多元高斯分布,那么GDA能够在训练集上是最好的模型。然而,我们往往事先不知道训练数据满足什么样的分布,不能做很强的假设。Logistic回归的条件假设要弱于GDA,因此更多的时候采用logistic回归的方法。
例如,训练数据满足泊松分布,
ly=1~poisson(\1),那么p(y|x)也是logistic回归的。这个时候
如果采用GDA,那么效果会比较差,因为训练数据特征的分布不是多元高斯分布,而是泊松分布。
这也是logistic回归用的更多的原因。
3朴素贝叶斯模型
在GDA中,我们要求特征向量x是连续实数向量。如果x是离散值的话,可以考虑采用朴素贝叶斯的分类方法。
假如要分类垃圾邮件和正常邮件。分类邮件是文本分类的一种应用。
假设采用最简单的特征描述方法,