一.支持向量机
支持向量机是一种机器学习方法,以统计学习理论的VC维理论和结构风险最小化原则为基础。所以要首先理解VC维和结构风险最小化原则这两个概念。
VC维就是一种含有特殊含义的维数,可以联我们平时熟悉的二维平面,三维空间等等。这种特殊含义就是,对于一个函数集,能够把一个含有h个样本的样本集按照所有可能的2h种形式分开而不能被2h+1分开,那么样本的vc维就是h。其中的指示函数的函数值取-1和1或者是0和1。例如二维平面的线性函数集合,能够把平面上的三个点分成8种形式,这三个点相当于一个样本集的样本数,而不能够将平面上的4个点分成16种形式,而只能是14中形式。
结构风险包括两个方面,一个是经验风险,一个是置信风险。之所以说是经验风险,是因为实际中学习样本是有限的,即使是根据大数定理,经验风险也是和期望风险有偏差的。一般是,函数集的vc维越大,经验风险就越小。还有置信风险是与推广能力有关的,即是预测未来的的准确性。函数集的vc维越大,模型就越复杂,虽然很好地拟合了有限的样本,但是对预测未来的推广能力不强。
支持向量机使结风险最小化的方法是,保持经验风险不变,然后最小化置信风险。这个的关键是最小化vc维,那么怎样最小化vc维?对于一个超平面wTxb0(w1),如果它对向量x按如下方式分类:
T1,wbyT1,wb则称之为-间隔分类超平面。
R2还有一个定理阐述了间隔与vc维h的关系,用公式可以表示为 hmin2,d1这个公式说明,可以通过最大化分类超平面的分类间隔来间接地最小化
vc维h,使vc维h最小。支持向量机就是基于经验风险不变的基础上最大化分类间隔,从而使vc维最小。
支持向量机理论中,可分为线性支持向量机,广义线性支持向量机和非线性支持向量机,这三个应该是用来作分类的。还有用来做拟合的是回归型支持向量机,用于回归拟合。对于回归性支持向量机,也是分为线性回归和非线性回归两种。
支持向量机方法是从线性可分情况下的最优分类超平面提出的。就先从简单的线性可分支持向量机入手。在分类问题中,n个样本的训练集
Dxi,yii1,2,,n,xiRn,yi1.1能被一个超平面H:wxb0没有
错误地分开,并且离超平面最近的向量与超平面之间的距离是最大的,该平面就成为最优超平面。两个标准超平面H1:wxb1和H2:wxb1,这两个超平面过离分类超平面的距离最小的样本点,其中在这两个标准超平面上的点成为支持向量,起支撑作用,故而得名。然后就是,标准超平面到分类超平面的距
1离就是 w。好的,要想分类间隔最大,那么就使这个距离最大就行了。然后就
2是,可能是为了后面的一系列求解的方便吧,就转换成求wwTw的最小值。当然了,还有约束条件的,那就是,两个标准平面之间是不能有样本向量的,那么用数学式子表示就是:
wxib1,yi1wxib1,yi1
,n。现在的情况是,有了目标函数,
合起来写就是yi[(wxi)b]10,i1,2,有了约束条件,要求目标函数的最小值,实际上更需要的是求出最优解对应的w。然后书上书这是一个凸二次规划问题,求解可通过解拉格朗日函数获得,这个拉格朗日函数如下:
n1TLw,b,wwiyiwxib12i1 式中,i0为拉格朗日乘子。然后就是经过求导,对偶二次规划,求得最优的i*,跟着就可以求得w,b。那么就可以确定这个分类超平面了再用符号函数换成分类函数形式就可以了。对于有限的样本,支持向量的地位尤为重要,对于不是标准平面上的向量,随便移动,只要不移动到两个标准平面之间就可以,结果是对分类没有影响的。书中说体现了其稀疏性。
根据以上同样的方法也就可以求得广义线性支持向量机,至于引入广义支持向量机是因为对于线性不可分和噪声的情况,线性可分支持向量机并不能完全获
得期望风险最小,甚至是过学习,过学习就是推广能力差的意思吧。这就是说,比如对于一个样本,其中的某些向量由于噪声等原因偏离了本来最优的分类范围,如果在未知的情况下,再分类,会导致结果与原来有很大的偏差。也就偏离了本来真实的情况。因此引入非负松变量i,与上面的线性支持向量机相比,相当于缩小了分类间隔。在目标函数一式子中还引入了规则化C,用于对经验风险和置信风险进行折中。这也是因为引入了松弛变量而引入了经验风险的缘故吧。
非线性支持向量机的实现思想是,既然在现有的vc维不行,就将输入空间映射到一个新的高维空间,然后在此高维空间使用线性支持向量机进行分类。想起了上述在阐述vc维过程中提到的例子,就是二维空间的线性分类器不能够线性划分平面上的四个点,那么可以通过映射到三维空间,用三维空间线性分类器对四个点进行划分。由于高维特征空间计算复杂的问题,引入核函数,在求解过程中,发现这个核函数就是映射函数的内积,即是Kxixjxixj,其中x为映射函数。
回归性支持向量机,用于回归估计。和分类问题相比,在数学描述提法上是相同的,不同的地方是变量y的取值,分类问题,如果是分两类的话,y的取值必然是两个固定的值。回归估计中,变量y可以取任意值。对于估计中引入的损失函数,称其中,真实值与估计值之差的绝对值的损失函数,称为最小模方法,是为鲁棒回归。为了使支持向量回归估计具有稀疏性,引入不敏感损失函数。就是说,偏差范围内是可以接受的。具体的求解方法和分类的差不多的。
二. 相关向量机
相关向量机的训练是在贝叶斯框架下进行的,在先验参数的结构下基于主动相关决策理论(automatic relevance determination,简称ARI)来移除不相关的点,从而获得稀疏化的模型。
RVM通过最大化后验概率(MAP)求解相关向量的权重。对于给定的训练样本集{tn,xn},类似于SVM , RVM 的模型输出定义为:
yx;wwiK(x,xi)w0i1n
其中wi为权重, K(x,xi)为核函。因此对于,
tny(xn,w)n假设噪声n 服从均值为0,方差为2 的高斯分布,则
P(tn|w,2)N(y(xi,wi),2),设tn 独立同分布,则整个训练样本的似然函数可以
表示出来。对w 与2的求解如果直接使用最大似然法,结果通常使w 中的元素大部分都不是0,从而导致过学习。在RVM 中我们想要避免这个现像,因此我们为w 加上先决条件:它们的机率分布是落在0 周围的正态分布: p(wi|αi) = N(wi|0, α?1i ),于是对w的求解转化为对α的求解,当α趋于无穷大的时候,w趋于0。
RVM的步骤可以归结为下面几步:
1. 选择适当的核函数,将特征向量映射到高维空间。虽然理论上讲RVM可以使用任意的核函数,但是在很多应用问题中,大部分人还是选择了常用的几种核函数,RBF核函数,Laplace核函数,多项式核函数等。尤其以高斯核函数应用最为广泛。可能于高斯和核函数的非线性有关。选择高斯核函数最重要的是带宽参数的选择,带宽过小,则导致过学习,带宽过大,又导致过平滑,都会引起分类或回归能力的下降。
2. 初始化α,2。在RVM中α,2是通过迭代求解的,所以需要初始化。初始化对结果影响不大。
3. 迭代求解最优的权重分布。 4. 预测新数据。
三.工作小结:
这两周主要是学习了一下支持向量机和相关向量机,开始看的一头的雾水,很多统计学习理论中的东西都不怎么懂。不过看了几遍,就懂了其中的一些,但是像那些复杂的公式,定理等等也就放过了,但还是知道其中的一些做什么用。学习过程中,主要是看了去图书馆借的一本叫做《支持向量机故障诊断及控制技术》的书,也只是看了书中介绍支持向量机基本原理的一章,也上网搜了一些资料看如博文等。还有就是相关向量机内容看的比较少,还要补一下。额,借这本书的同时,还借了几本matlab的书,因为时间顾不上,也不怎么看,感觉方面这做得不好,要兼顾一下。
因篇幅问题不能全部显示,请点此查看更多更全内容