上篇文章介绍了支持向量机的理论基础, 通过介绍我们知道要控制学习过程的推广能力,理论(1)和(2)告诉我们就得控制VC维,理论(3)中的SRM原则通过对函数集划分成某种结构使得VC维成为可控变量,从而控制了学习过程的推广能力,于是就可以选在在某个函数子集中履行ERM原则,根据理论(2)的界就可以同时最小化经验风险和置信范围,最终完成学习过程。本节我们来介绍如何依据本理论实现学习过程的第(4)个步骤,学习算法的构造。
机器学习的问题从某种意义上说,都可以看成一个分类问题,因此,本节我们从解决分类问题谈起,关于回归和学习排序的问题,可由分类问题经过变换得出。
问题: 已知变量y与输入x 存在一定的未知的依赖关系,即存在一个未知的联合概率 分布F(x,y),(x与y之间的确定性关系可以看做是一个特例),机器学习就是根据n个独立同分布的观测样本:(x1,y1),(x2,y2),…,(xn,yn),求得某个函数y=f(x, α),对于输入的x,可以得到预期最好的某个输出y’。y=f(x, α)中α为广义参数,也就是说y=f(x, α)可以代表任意的函数。 在分类问题中,y的取值只有两个y ∈ {0,1} 。
现在我们根据上一节的前三个理论来构造学习算法,完成函数f(x, α)的学习。
(一)划分函数集
这一步应该是对给出的函数集进行某种划分,以能够控制VC维。由于历史的原因,在支持向量机中,我们使用线性函数集,理论上也可以使用其他的函数集。在n维空间中,每一个二值线性函数都可以表示为y=sgn{},其中=0为一超平面。为了定义函数集的某个结构,我们定义一种超平面,间隔分类超平面:一个超平面 =0 ,=1(,都为向量;为的L2范数),如果它以如下的形式将向量分类:
=1,若;=-1,若-。
则我们称它为 间隔分类超平面。
本质上,任意的线性函数集在对于来自任意分布的数据集的分类性上,其任何形式都是间隔分类超平面都是等价的,所以我们只研究对间隔分类超平面函数集合的划分即可。对于间隔分类超平面,我们有一下的定理:
设向量 属于一个半径为R的球中,那么间隔分类超平面函数集合的VC维h以下面的不等式为界:+1.
这样我们就可以根据 的大小来对函数集进行划分,从而控制了函数集的VC维,也就控制了学习过程的推广性。接下来的一步就是在某个子集中履行ERM原则学习过程,可以看出,到目前为止并没有给出任何问题,也就是说这里的学习方法是与问题无关的,也就是与数据集来自哪个分布无关。
(二)履行ERM原则,进行学习
当完成第一步,也就是划分好函数集的结构后,我们就可以选择在某个子集中进行ERM原则,对给定的问题(某种数据集)进行求解,以同时最下化经验风险和置信范围。结构选择(子集选择)是一个很技巧的问题,在这里不进行详细的讨论,在实现学习算法的一个方法——支持向量机中 ,是使用一个参数来控制使用哪个函数集的。
ERM原则的主要内容是根据具体应用定义目标函数的损伤函数,然后定义风险泛涵, 然后根据给定的条件(数据集)和ERM原则来进行求解得出目标函数,这方面的内容属于传统的机器学习中的内容,在这里不进行讨论。
这样就完成了学习算法的构造过程,整个过程就是SRM原则的实现过程。下一节我们将介绍实现这一学习算法的方法。