机器学习之支持向量机回归(机器学习技法)

核函数山脊回归

Represent Theorem

表达理论就是指如果一个模型是带有L2正则化的线性模型,那么它在最佳化的时候的权重参数值W*将能够用Z空间的资料的线性组合来表示。它的推论就是L2的正则化线性模型能够核函数化如下图所示:

机器学习之支持向量机回归(机器学习技法)

现在我们的目标就是用核函数的方式去解决回归问题,而且希望像解决普通线性回归问题一样得到一个一步登天的解。

核函数山脊回归问题

山脊回归问题是一个典型的带有L2正则化的问题,再加上Represent Theorem我们可以得到如下结果:

机器学习之支持向量机回归(机器学习技法)

在上图中我们将W*的表达式带到回归问题中,并且将计算的结果进行向量化。现在我们的问题可以当做是一个β的线性模型,只要就出β的最优解就能得到最优的W向量。特别的我们现在能够使用核函数的方法去解决这个问题了。

解决核函数山脊回归

有关于β的山脊回归问题是一个无条件的最佳化问题,它是一个二次式。解决回归问题我们的思路就是选择梯度为0的点就会得到回归问题的最优解:

机器学习之支持向量机回归(机器学习技法)

①在梯度等于0时我们会得到最优的β的表达式。这个表达式中的反矩阵肯定存在,因为K矩阵(Kernel矩阵也就是核函数矩阵)必定是一个半正定的矩阵。

②在时间复杂度上面我们会花去O(N³),而且在反矩阵中大多数地方都不是0,因为Kernel矩阵的大多数地方就不是0。这给计算上带来一些麻烦。

正是因为核函数的存在我们可以轻易地做非线性的回归问题。

线性山脊回归与核函数山脊回归

机器学习之支持向量机回归(机器学习技法)

两种模型均有自己的优缺点:

线性山脊回归

优点:简单高效能够预防一些过拟合,在数据量大的时候更容易计算。

缺点:*度较低不容易做出较复杂的模型。

核函数山脊回归

优点:因为有Kernel矩阵的存在*度较高能做复杂的模型,在数据量较小的时候计算复杂度小。

缺点:在数据量较大的时候会承受较大的运算量。

标准支持向量回归

软间隔SVM与最小二乘法SVM

下图为两种SVM分割出来的边界示意图:

机器学习之支持向量机回归(机器学习技法)

与软间隔支持向量机相比最小二乘SVM(LSSVM)使用到的支持向量过多(非0的β过多),在预测的时候就会用到过多的支持向量使得计算量很大。我们的希望是能够得到像标准SVM的稀疏β减少计算量。

管回归

为了得到稀疏的β我们使用了一种新的错误衡量,直觉的表示如下图:

机器学习之支持向量机回归(机器学习技法)

在上图坐标系中的回归错误还是以前的平方错误,不同的是在管子(图中蓝色的区域)内部的平方错误我们忽略不计,在管子外部我们只计算与管子边界的平方错误。这样我们增大了模型的容错度,具体的错误衡量如上图。

管回归与平方回归

机器学习之支持向量机回归(机器学习技法)

如上图所示在err/s曲线图中,红色的曲线为平方回归,蓝色的线为管回归。在s离对称轴比较近的地方两个曲线的值很相近,在s离对称轴越远时平方回归err的变化率很大,但是管回归的err变化相对平方回归较慢。这样带来的好处是即使一个点离我们的模型边界较远我们也不会认为它有太大的错误,这样我们也就可能不会过于迁就一些噪音了从而减少了过拟合的危险。

L2正则化的管回归

我们希望通过解决像软间隔SVM的问题来得到稀疏的解所以我们使用了L2的正则化的管回归:

机器学习之支持向量机回归(机器学习技法)

①管回归问题是一个无条件的问题但是max(.)函数是一个在某些点不可微分的函数。

②我们可以使用representer理论去解决这个问题但是得到的解不一定是稀疏的。

③我们知道在标准的SVM的问题中在KKT条件下的解就是稀疏的解。

④所以我们想办法将这个正则化问题转换为想标准SVM的问题去得到稀疏的解。

要像软间隔SVM支持向量机去解决这个问题我们首先引入变量ξ当做是犯错误的值,然后将条件转换成线性的我们就能够使用二次规划的工具去得到稀疏的解了。

其中在将绝对值条件转换为线性条件的时候我们分别将在管上方的错误与下方的错误分别给予变量改为了不等式链如下图所示:

机器学习之支持向量机回归(机器学习技法)

转换后的算法我们称之为标准的支持向量回归的原始问题SVR。

SVR的二次规划

机器学习之支持向量机回归(机器学习技法)

在这个二次规划问题中有如下的注意点:

①参数C的大小代表着我们的不同侧重,C越大代表我们更想要大的容错度这样会达到一个正则化的效果(不被离得远的杂讯所过度的干扰),C越小我们会尽可能的去迎合每一个点这样可能总的平方错误会减少但是有可能会过拟合。

②参数ε代表管的宽度。

③我们的变量个数有d(W的各个维度)+2N(两个ξ的累加)+1(b),约束个数有2N(不等式链)+ 2N(两种ξ的分别约束)。

SVR的对偶问题

用KKT条件去解决拉格朗日对偶问题

机器学习之支持向量机回归(机器学习技法)

在这个问题中拉格朗日乘子有两个α^与α∨,根据KKT条件w的偏导数与b的偏导数等于0和complementary slackness得到上式。

由于原始的SVM问题与原始的SVR问题长得很像所以他们的对偶问题也有很高的相似度如下图所示:

机器学习之支持向量机回归(机器学习技法)

上图左是SVM的对偶问题,右为SVR的对偶问题其中颜色相同的有相同的地位。现在我们就可以使用类似的二次规划程序去解决它。(能够解决SVM问题的程序同样能够套用到SVR上面)

SVR稀疏的解

我们继续使用KKT条件中的complementary slackness,我们选取管回归中管内的点进行一些些推导:

机器学习之支持向量机回归(机器学习技法)

在管内的资料他们的拉格朗日乘子都为0,根据Represent Theorem可知对应的β也为0。这样落在管内的资料就都不是支持向量所有的支持向量都在管的外部这样的话我们就得到了稀疏的解β从而大大的减少了运算量。