生成学习算法.高斯判别分析(GDA).GDA与Logistic模型
http://blog.****.net/v1_vivian/article/details/52190572
《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。
网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html
本篇博文涉及课程五:生成学习算法
本课主要内容有:
(1)生成学习算法
(2)高斯判别分析(GDA)
生成学习算法
例如二分类问题,我们之前的都是在解空间中寻找一条直线,从而把两种类别的样例分开,对于新的样例,只要判断在直线的哪一侧即可;这种直接对问题求解的方法可以称为判别学习方法。
而生成学习算法是对p(x|y)(条件概率)和p(y)(先验概率)进行建模,然后按照贝叶斯法则求出后验概率p(y|x):
使得后验概率最大的类别y即是新样例的预测分类:
事情还没有发生,要求这件事情发生的可能性的大小,是先验概率。
事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率。
高斯判别分析(GDA)
高斯判别分析是一种生成学习算法,在该模型中,我们假设p(x|y)服从混合正态分布。通过训练确定参数值,新样本通过已建立的模型计算出属于不同类别的概率,我们选取概率最大的即为样本所属的类。
混合正态分布
混合正态分布也叫做混合高斯分布,是正态分布在多维变量下的扩展。它的期望和协方差矩阵为多元的:期望,协方差
(n为多维变量的向量长度),协方差具有对称性和正定性(
是一个正定矩阵)。混合正态分布:
。
混合正态分布的概率密度函数为(其中,为期望,
表示行列式的值):
对于服从混合正态分布的随机变量x,均值的计算公式为:
协方差由协方差函数Cov(X)得到,计算公式如下:
用图形描述二维高斯分布的先关性质:
以上三个图形的期望都为:,从左至右,三幅图的协方差分别为:
,
,
。
可以看到随着矩阵的逆对角线数值增加,图形延方向进行压缩。即图形在这个方向更加“扁”。
从等高线来看,三幅图分别为:
继续调整协方差,三幅图的协方差分别为:
从等高线来看,三幅图分别为:
以上三幅图保持协方差不变,从左至右,期望值分别为
可以看出,随着期望的改变,图形在平面上平移,而其他特性保持不变。
高斯判别分析模型
高斯判别分析模型针对的是输入的特征值x是连续值的分类问题。
为了简化模型,假设特征值为二分类,分类结果服从0-1分布。
模型基于这样的假设:(通常模型有两个不同的期望,而有一个相同的协方差。)
他们的概率密度为(其中,待估计的参数为):
该模型的极大似然对数方程为:
在对计算完成之后,将新的样本x带入进建立好的模型中,计算出
、
,选取概率更大的结果为正确的分类。
二维GDA举例:
GDA与Logistic模型
在GDA中,我们使用p(x|y)p(y)作为p(y|x)的拟合,可以得到:
假如我们将视作关于x的函数,该函数可以表示成logistic回归形式(其中,
可以用以
为变量的函数表示。):
GDA的后验分布可以表示成逻辑分布形式的合理性,在此不做证明。
举例说明GDA与Logistic模型之间的关系:
(1)通过指数分布族来推导。
(2)通过生成学习假设先验概率分布的方式进行推导。
由上面的分析可以知道,GDA比逻辑回归有更多的前置假设。当数据服从或大致服从正态分布时,GDA会具有更高的拟合度,因为GDA利用了更多的信息构建模型。但是当数据不服从正态分布时,那么逻辑回归更有效,因为它做出更少的假设,构建的模型更加强壮,更加具有鲁棒性。生成学习还有另外的一个好处,就是可以使用比判别学习模型使用更少的数据构建出强壮的模型。