核技巧(Kernel Trick)与支持向量回归(SVR)详解

时间:2024-03-31 10:52:31

核技巧(Kernel Trick)与支持向量回归(SVR)详解

第十五次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这一篇内容来自于《机器学习》和林轩田《技法》以及自己的一些理解。

这篇文章首先对表示定理(Representor Theorem)进行介绍和证明,然后引出核技巧(Kernel Trick)及其应用,再介绍核技巧版的线性回归即核线性回归,最后通过核线性回归和带核SVM对比引出支持向量回归(Support Vector Regression)。

表示定理(Representor Theorem)

  令H为核函数k对应的再生核希尔伯特空间(Mercer 定理中提到过),||h||H表示H空间中关于优化问题的解h的范数,对于任意单调递增函数Ω:[0,]R和任意非负损失函数l:Rm[0,],优化问题

核技巧(Kernel Trick)与支持向量回归(SVR)详解

的解总可写为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  表示定理对损失函数没有限制,对正则化项Ω仅要求单调递增,甚至不要求Ω是凸函数,因此对于一般的损失函数和正则化项,优化问题的最优解h(x)都可以表示为核函数k(x,xi)的线性组合。
  下面以带有L2正则项的线性模型为例,证明这个定理,假设该优化问题可以表示为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其中,zn=ϕ(xn),假设该问题的最优解为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

最优的目标变量可以写为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  证明上式成立,目标变量的一般形式可以写为ω=ω||+ω,其中,ω||span(xn)ωspan(xn),为了得到形如上式的最优解,应该使垂直分量ω=0。根据反证法,如果该分量不为零,那么优化目标中的第二项,由于ωspan(xn)的原因,可以表示为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

由上式可见,垂直分量对这一项并没有任何影响。对于优化目标的第一项,

核技巧(Kernel Trick)与支持向量回归(SVR)详解

由上式可见,垂直分量会增加这一项的误差,因此原定理得证。

核技巧(Kernel Trick)及其应用

  由核函数可知,核技巧的本质是将数据集从原样本空间映射到更高维的空间中的同时,又不会使学习器的训练难度随维度的提高而增加,以此来达到学习器的预期设计目的,下面分别以概率支持向量机(Probabilistic SVM)和核逻辑回归(KLR)两个例子来说明核技巧的不同应用方式。
1.概率支持向量机(Probabilistic SVM)
  现有一个线性不可分的数据集,为了结合带核函数的支持向量机可以将不可分数据集通过超平面(hyperplane)分开的特点,和逻辑回归的便于计算的特点。这里首先在原数据集上运行SVM算法,得到ωSVMbSVM后,利用ynSVM=ωSVMTϕ(xn)+bSVM,将原样本空间中的输入属性xn转化为中的一个实数,然后,在得到的新数据集(ynSVM,yn)上训练单变量的逻辑回归模型,最终得到的学习器结合了上述两个算法的特点,其中,SVM的训练中用到了核函数。

核技巧(Kernel Trick)与支持向量回归(SVR)详解

上述问题可以表示为下式

核技巧(Kernel Trick)与支持向量回归(SVR)详解

2.核逻辑回归(KLR)
  带L2正则项的逻辑回归问题可以由下式表示

核技巧(Kernel Trick)与支持向量回归(SVR)详解

假设,忽略偏置项b的影响,并将原空间中的输入向量xn映射为高维向量zn,得到替代优化目标

核技巧(Kernel Trick)与支持向量回归(SVR)详解

那么,由表示定理可知,该问题的最优解可以表示为ω=n=1Nβnzn,现在将ω带入到上面优化目标中,得到

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  这就是由表示定理得到的KLR的目标函数,其中向量β是优化变量,可以将上式中的第一项作为一个特殊的正则化项,第二项是模型对样本(mβmk(xm,xn),yn)的拟合程度,这与带核函数SVM的目标函数形式类似。需要注意的是,由于第二项选择的对率损失函数会为所有不满足(mβmk(xm,xn))yn=1的样本点计算误差,即最后的模型考虑了训练集中的所有样本点的影响,因此,这里的协同系数βn并不稀疏,导致训练成本与训练集规模直接相关。

核线性回归(Kernel Linear Regression)

  带L2正则项的线性回归问题可以用下式表示

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其中,误差度量公式采用平方误差

核技巧(Kernel Trick)与支持向量回归(SVR)详解

如果忽略偏置项b的影响,并将原空间中的输入向量xn映射为高维向量zn,得到替代优化目标

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  那么,由表示定理可知,该问题的最优解可以表示为ω=n=1Nβnzn,现在将ω带入到上面优化目标中,得到

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  与核逻辑回归中的讨论类似,由于第二项选择的平方误差损失函数会为所有不满足yn=mβmk(xm,xn)的样本点计算误差,即最后的模型考虑了训练集中的所有样本点的影响,因此,这里的协同系数βn并不稀疏,导致训练成本与训练集规模直接相关,这点将在下面的讨论中体现出来。
  将通过表示定理得到的优化目标由向量和矩阵形式表示,可以写成

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其中,向量β为协同向量,矩阵K为核矩阵(SVM中提到过),这是一个无约束的优化问题,直接通过对求β偏导并置零来求得解的形式如下

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  下面对核线性回归得到的回归曲线和计算复杂度进行讨论,由式(1)可以看出,核矩阵的规模为NxN,向量的规模为Nx1,最终训练的复杂度为O(N3)与数据集规模的立方成正比,这种方法得到的系数β是稠密的,与传统的线性回归相比有如下区别

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  由上图所示,核线性回归得到的回归曲线更符合真实样本分布,但是随数据集大小的提高,其计算复杂度是呈立方增加的,因此不适合处理大量数据。

支持向量回归(Support Vector Regression)

  由于对输出值进行离散化处理后的线性回归可以看作是逻辑回归,因此核线性回归也可用于分类任务,由此得到的学习器可以作为最小二乘支持向量机(LSSVM)来使用,下面是LLSVM与Soft-margin SVM的区别

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  由上图可以看出,代表核线性回归的LSSVM算法由于协同系数是稠密的,因此最终产生的模型需要全部训练样本作为其支持向量;而带核函数的软间隔支持向量机最终产生的模型只需要一部分的原始样本点作为其支持向量,因此在模型生成之后,Soft-margin SVM的预测成本(Prediction Cost)要比LSSVM小得多。
  为了在保留带核函数支持向量机的优点的基础上,使其适用于回归任务,支持向量回归(SVR)由此产生,与传统带核线性回归计算每个样本误差的方式不同,SVR能容忍预测输出f(xn)与真实输出yn之间最多有ε的偏差,即当他们之间差的绝对值大于ε时,才计算这个样本的损失,如下图所示,这相当于以预测曲线为中心,构建了一个宽度为ε的间隔带,带中样本不计损失。

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  因此,SVR的优化目标可以表示为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其中,C为正则化常数,lε被称为ε-不敏感损失函数,表示成如下形式:

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其与平方误差函数的关系如下图所示

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  使用不同松弛变量和来表示样本点位于预测曲线左右两边时不同的误差,优化目标可以写为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

这里需要注意的是,松弛变量和至少有一个为零,因为一个点不可能同时位于预测曲线的两边,即。与软间隔支持向量机类似,上述问题的拉格朗日乘子函数为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

其KKT条件为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  KKT条件中的αiα^i=0由于f(xi)yiξiε=0yif(xi)ξiε=0不可能同时成立,这与ξiξ^i=0的原因类似。与得到标准SVM的对偶问题相同,将上述拉格朗日乘子函数分别对ωbξiξ^i求偏导并置零,并将得到的等式重新带入乘子函数中,得到如下对偶问题

核技巧(Kernel Trick)与支持向量回归(SVR)详解

  由KKT条件可知,只有当f(xi)yiξiε=0αi才可能取到非零值,只有当yif(xi)ξiε=0α^i才有可能取到非零值,即只有当样本点落在宽度为ε的间隔带外面,相应的αiα^i才有可能取到非零值,因为落在间隔带内部的点,其对应的松弛变量ξiξ^i)为零,这时上述对应等式f(xi)yiξiε=0yif(xi)ξiε=0)不成立,所以αiα^i)为零。最终得到的SVR的解的形式为

核技巧(Kernel Trick)与支持向量回归(SVR)详解

因此,可以作为支持向量的点,即(αiα^i)0的点,必定位于间隔带外,这就体现了SVR的解的稀疏性。


参考资料

【1】《机器学习》周志华
【2】《机器学习技法》林轩田