机器学习(周志华) 第六章支持向量机

关于周志华老师的《机器学习》这本书的学习笔记
记录学习过程
本博客记录Chapter6 支持向量机

1 间隔与支持向量

对于给定的训练集,分类学习的最基本想法就是基于训练集D在样本空间中找到一个划分超平面。且应该找位于两位训练样本 “正中间” 的划分超平面(图中加粗的),因为该划分超平面对样本局部扰动的“容忍性”最好,即根据该平面划分的分类结果是最鲁棒的,对未见示例的泛化能力最强。

image.png

该划分超平面可以用如下线性方程描述:
w T x + b = 0 \bold {w^T x}+b=0 wTx+b=0
样本空间中任意点 x \bold x x到超平面 x , b \bold x,b x,b的距离可以写为:
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|\bold{w^T x}+b|}{||\bold w||} r=wwTx+b
假设超平面能将样本正确分类,对于 ( x i , y i ) (\bold x_i,y_i) (xi,yi),总有:
{ w T x i + b ≥ + 1 ,    y i = + 1 w T x i + b ≤ − 1 ,    y i = − 1 \begin{cases} \bold{w^T x_i}+b \ge +1, \space\space y_i=+1\\ \bold{w^T x_i}+b \le -1, \space\space y_i=-1 \end{cases} {wTxi+b+1,  yi=+1wTxi+b1,  yi=1
如上图画圈的样本所示,这几个距离超平面最近的训练样本使得式(3)的等号成立,他们被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和被称为“间隔”(margin)
γ = 2 ∣ ∣ w ∣ ∣ \gamma = \frac{2}{||\bold w||} γ=w2
因此,只需要最大化间隔,支持向量机(Support Vector Machine,简称SVM) 的基本型如下:
min ⁡ x , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T x i + b ) ≥ 1 ,    i = 1 , 2 , … , m \min_{\bold{x},b}\frac{1}{2}||\bold w||^2\\ s.t.\space\space y_i(\bold{w^T x_i}+b)\ge 1, \space\space i=1,2,…,m x,bmin21w2s.t.  yi(wTxi+b)1,  i=1,2,,m

2 对偶问题

对式(5)使用拉格朗日乘子法可得其“对偶问题”(dual problem):
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(\bold w, b, \bold \alpha)=\frac{1}{2}||\bold w||^2+\sum_{i=1}^m\alpha_i(1-y_i(\bold{w^T x_i}+b)) L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))
L ( w , b , α ) L(\bold w,b,\alpha) L(w,b,α) w \bold w w b b b偏导为0可得:
w = ∑ i = 1 m α i y i x i 0 = ∑ i = 1 m α i y i \bold w=\sum_{i=1}^m \alpha_iy_i\bold x_i\\ 0=\sum_{i=1}^m \alpha_iy_i w=i=1mαiyixi0=i=1mαiyi
将式(7)带入式(6),得对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t . {    ∑ i = 1 m a i y i = 0 α i ≥ 0 ,    i = 1 , 2 , … , m \max_\alpha \sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bold{x_i^T x_j}\\ s.t.\begin{cases}\space\space \sum_{i=1}^m a_iy_i=0\\ \alpha_i \ge 0, \space\space i=1,2,…,m \end{cases} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.{  i=1maiyi=0αi0,  i=1,2,,m
解出 α \alpha α后,求出 w \bold w w和b可得模型:
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b f(\bold x)=\bold{w^T x}+b=\sum_{i=1}^m \alpha_iy_i\bold x_i^T\bold x+b f(x)=wTx+b=i=1mαiyixiTx+b
同时,该模型还需要满足KKT条件
{ α i ≥ 0 1 − y i f ( x i ) = 1 − y i ( w T x i + b ) ≤ 0 α i ( 1 − y i f ( x i ) ) = 0 \begin{cases} \alpha_i \ge 0\\ 1-y_if(\bold x_i)=1-y_i(\bold{w^T x_i}+b) \le 0\\ \alpha_i(1-y_if(\bold x_i))=0 \end{cases} αi01yif(xi)=1yi(wTxi+b)0αi(1yif(xi))=0
因此,对于训练样本 ( x i , y i ) (\bold x_i, y_i) (xi,yi),总有 α i = 0 \alpha_i=0 αi=0 y i f ( x i ) = 1 y_if(\bold x_i)=1 yif(xi)=1。若 α = 0 \alpha=0 α=0,则样本不会在 f ( x ) f(\bold x) f(x)求和中出现,也就不会对 f ( x ) f(\bold x) f(x)有任何影响;反之,所对应样本一定在边界上,是一个支持向量。这体现出:训练完成后,大部分训练样本不需要保留,最终模型只与支持向量有关。

求解式(8)的代表方法有SOM(Sequential Minimal Optimization)法:先固定 α i \alpha_i αi之外的所有参数,求 α i \alpha_i αi上的极值。其步骤如下:

  • 选取一对需更新的变量 α i \alpha_i αi α j \alpha_j αj

    仅考虑 α i \alpha_i αi α j \alpha_j αj,式(8)中的约束就可以重写为:
    α i y i + α j y = c − c = ∑ k ≠ i , j α k y k \alpha_iy_i+\alpha_jy=c\\ -c=\sum_{k \neq i,j}\alpha_ky_k αiyi+αjy=cc=k=i,jαkyk

  • 固定其他参数,求解更新后的 α i \alpha_i αi α j \alpha_j αj

    α i y i + α j y = c \alpha_iy_i+\alpha_jy=c αiyi+αjy=c消去目标函数中的 α j \alpha_j αj,即可得到关于 α i \alpha_i αi的单变量二次规划问题,仅有的约束是 α i ≥ 0 \alpha_i\ge0 αi0,具有闭式解。即可更新 α i 和 α j \alpha_i和\alpha_j αiαj

  • b b b的值考虑到支持向量满足 y s f ( x i ) = 1 y_sf(\bold x_i)=1 ysf(xi)=1,因此有:
    b = 1 ∣ S ∣ ∑ s ∈ S ( 1 / y s − ∑ i ∈ S α i y i x i T x s ) b=\frac{1}{|S|}\sum_{s\in S}(1/y_s-\sum_{i\in S}\alpha_iy_i\bold{x_i^T x_s}) b=S1sS(1/ysiSαiyixiTxs)

SOM法高效的原因在于:注意到只需选取的 α i \alpha_i αi α j \alpha_j αj中有一个不满足KKT条件,目标函数就会在迭代后减小。直观来看,KKT条件违背的程度越大,则变量更新后可能导致的目标函数值减幅越大。于是,SMO先选取违背KKT条件程度最大的变量,第二个变量应选择一个使目标函数值减小最快的变量,但由于比较各变量所对应的目标函数值减幅的复杂度过高,因此SMO采用了一个启发式:使选取的两变量所对应样本之间的间隔最大。一种直观的解释是,这样的两个变量有很大的差别,与对两个相似的变量进行更新相比,对它们进行更新会带给目标函数值更大的变化。

总结一下:就是选两个间隔比较大的样本 ( x i , y i ) (\bold x_i,y_i) (xi,yi) ( x j , y j ) (\bold x_j,y_j) (xj,yj)。固定除了 α i 、 α j \alpha_i、\alpha_j αiαj以外的所有参数,这样就能求得 − c = ∑ k ≠ i , j α k y k -c=\sum_{k \neq i,j}\alpha_ky_k c=k=i,jαkyk,同时 α i y i + α j y = c \alpha_iy_i+\alpha_jy=c αiyi+αjy=c,将该式带入目标函数,可以得到关于 α i \alpha_i αi的单变量二次规划函数,求得关于 α i \alpha_i αi的极值,更新 α i 、 α j \alpha_i、\alpha_j αiαj,继续该过程,直到模型收敛。

3 核函数

对于线性不可分问题,我们可以把样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。(如果原始数据的空间是有限维,则一定存在一个高维特征空间使得样本可分)

ϕ ( x ) \phi(\bold x) ϕ(x)表示 x \bold x x映射后的特征向量,则特征空间中划分超平面所对应的模型可表示为:
f ( x ) = w T ϕ ( x ) + b f(\bold x)=\bold{w^T\phi(x)}+b f(x)=wTϕ(x)+b
规划模型:
min ⁡ x , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T ϕ ( x i ) + b ) ≥ 1 ,    i = 1 , 2 , … , m \min_{\bold{x},b}\frac{1}{2}||\bold w||^2\\ s.t.\space\space y_i(\bold{w^T \phi(x_i)}+b)\ge 1, \space\space i=1,2,…,m x,bmin21w2s.t.  yi(wTϕ(xi)+b)1,  i=1,2,,m
对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) s . t . {    ∑ i = 1 m a i y i = 0 α i ≥ 0 ,    i = 1 , 2 , … , m \max_\alpha \sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bold{\phi(x_i)^T \phi(x_j)}\\ s.t.\begin{cases}\space\space \sum_{i=1}^m a_iy_i=0\\ \alpha_i \ge 0, \space\space i=1,2,…,m \end{cases} αmaxi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)s.t.{  i=1maiyi=0αi0,  i=1,2,,m
由于样本映射到特征空间的维数可能很高,甚至是无穷维,因此直接计算 ϕ ( x i ) T ϕ ( x i ) \phi(\bold x_i)^T\phi(\bold x_i) ϕ(xi)Tϕ(xi)是很困难的,因此为避开这个问题,设想一个函数(核函数):
κ ( x i , x j ) = < ϕ ( x i ) , ϕ ( x j ) > = ϕ ( x i ) T ϕ ( x j ) \kappa(x_i,x_j)=<\phi(\bold x_i),\phi(\bold x_j)>=\phi(\bold x_i)^T\phi(\bold x_j) κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
将上面对偶问题重写为:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j κ ( x i T , x j ) s . t . {    ∑ i = 1 m a i y i = 0 α i ≥ 0 ,    i = 1 , 2 , … , m \max_\alpha \sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bold{\kappa(x_i^T ,x_j)}\\ s.t.\begin{cases}\space\space \sum_{i=1}^m a_iy_i=0\\ \alpha_i \ge 0, \space\space i=1,2,…,m \end{cases} αmaxi=1mαi21i=1mj=1mαiαjyiyjκ(xiT,xj)s.t.{  i=1maiyi=0αi0,  i=1,2,,m
求解后可得(支持向量展式):
f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 m α i y i κ ( x , x i ) + b f(\bold x)=\bold w^T\phi(\bold x)+b=\sum_{i=1}^m\alpha_iy_i\phi(\bold x_i)^T\phi(\bold x)+b\\=\sum_{i=1}^m\alpha_iy_i\kappa(\bold x,\bold x_i)+b f(x)=wTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(x)+b=i=1mαiyiκ(x,xi)+b


所以问题的关键在于如何找到一个映射 ϕ \phi ϕ以及对应的核函数 κ ( ⋅ , ⋅ ) \kappa(\cdot,\cdot) κ(,)

关于核函数的定理: χ \chi χ为输入空间, κ ( ⋅ , ⋅ ) \kappa(\cdot, \cdot) κ(,)为定义在 χ × χ \chi \times \chi χ×χ上的对称函数,则 κ \kappa κ是核函数当且仅当对于任意数据 D = { x 1 , x 2 , … , x m } D=\{\bold {x_1,x_2,…,x_m}\} D={x1,x2,,xm},“核矩阵” K K K总是半正定的

  • 半正定:对于一个 n × n n\times n n×n的实对称矩阵 A A A,对任意长度为 n n n的非零向量 x x x,都有 x T A x ≥ 0 x^TAx\ge0 xTAx0

image.png

该定理表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。对于一个半正定核矩阵,总能找到一个与之对应的映射 ϕ \phi ϕ,即任何一个核函数都隐式定义了一个“再生核希尔伯特空间”(Reproducing Kernel Hilbert Space),作为特征空间

几种常用的核函数如下:

image.png

同时上述几种核函数,还能通过函数组合得到新的组合核函数:

  • 线性组合: γ 1 κ 1 + γ 2 κ 2 \gamma_1\kappa_1+\gamma_2\kappa_2 γ1κ1+γ2κ2
  • 直积: κ 1 ⊗ κ 2 ( x , z ) = κ 1 ( x , z ) κ 2 ( x , z ) \kappa_1 \otimes \kappa_2(\bold{x,z})=\kappa_1(\bold{x,z})\kappa_2(\bold{x,z}) κ1κ2(x,z)=κ1(x,z)κ2(x,z)
  • 对于任意函数 g ( x ) g(\bold x) g(x) κ ( x , z ) = g ( x ) κ 1 ( x , z ) g ( z ) \kappa(\bold{x,z})=g(\bold x)\kappa_1(\bold{x,z})g(\bold z) κ(x,z)=g(x)κ1(x,z)g(z)

4 软间隔和正则化

在现实任务中,我们往往很难确定合适的核函数使得训练样本在特征空间中线性可分。即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合所造成的。缓解该问题的一个办法是允许支持向量机在一些样本上出错。为此,要引入 “软间隔”(soft margin) 的概念。

image.png

软间隔允许某些样本不满足约束: y i ( w T x i + b ) ≥ 1 y_i(\bold{w^T x_i}+b)\ge1 yi(wTxi+b)1

但在最大化间隔的同时,还需要保证不满足约束的样本尽可能少( ϑ 0 / 1 \vartheta_{0/1} ϑ0/1是损失函数):
min ⁡ w , b = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ϑ 0 / 1 ( y i ( w T x i + b ) − 1 ) ϑ 0 / 1 = { 1 ,     i f   z < 0 ; 0 ,     o t h e r w i s e \min_{w,b}=\frac{1}{2}||w||^2+C\sum_{i=1}^m \vartheta_{0/1}(y_i(\bold{w^T x_i}+b)-1)\\ \vartheta_{0/1}=\begin{cases} 1 ,\space\space\space if \space z<0;\\ 0 ,\space\space\space otherwise \end{cases} w,bmin=21w2+Ci=1mϑ0/1(yi(wTxi+b)1)ϑ0/1={1,   if z<0;0,   otherwise
ϑ 0 / 1 \vartheta_{0/1} ϑ0/1函数非凸、不连续、数学性质不太好,使得目标函数较难求解。因此常常采用其他函数代替 ϑ 0 / 1 \vartheta_{0/1} ϑ0/1,称为替代损失,如:

  • hinge损失: ϑ h i n g e ( z ) = m a x ( 0 , 1 − z ) \vartheta_{hinge}(z)=max(0,1-z) ϑhinge(z)=max(0,1z)
  • 指数损失: ϑ e x p ( z ) = e ( − z ) \vartheta_{exp}(z)=e^{(-z)} ϑexp(z)=e(z)
  • 对率损失: ϑ l o g ( z ) = l o g ( 1 + e − z ) \vartheta_{log}(z)=log(1+e^{-z}) ϑlog(z)=log(1+ez)

image.png

引入松弛变量,将规划模型改写为(其实是hinge替代损失函数的一种变形):
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s . t . { y i ( w T ϕ ( x i ) + b ) ≥ 1 − ξ i ,    i = 1 , 2 , … , m ξ i ≥ 0 ,     i = 1 , 2 , 3 … , m \min_{\bold{w},b}\frac{1}{2}||\bold w||^2+ C\sum_{i=1}^m \xi_i\\ s.t. \begin{cases} y_i(\bold{w^T \phi(x_i)}+b)\ge 1-\xi_i, \space\space i=1,2,…,m\\ \xi_i \ge 0, \space\space\space i=1,2,3…,m \end{cases} w,bmin21w2+Ci=1mξis.t.{yi(wTϕ(xi)+b)1ξi,  i=1,2,,mξi0,   i=1,2,3,m
对偶问题为:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t . {    ∑ i = 1 m a i y i = 0 0 ≤ α i ≤ C ,    i = 1 , 2 , … , m \max_\alpha \sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bold{x_i^T x_j}\\ s.t.\begin{cases}\space\space \sum_{i=1}^m a_iy_i=0\\ 0\le \alpha_i \le C, \space\space i=1,2,…,m \end{cases} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.{  i=1maiyi=00αiC,  i=1,2,,m


若采用其他的替代损失函数:

  • 对率损失函数 ϑ l o g \vartheta_{log} ϑlog

    如果使用对率损失函数 ϑ l o g \vartheta_{log} ϑlog来替代0/1损失函数,则几乎就得到了对率回归模型。实际上,支持向量机与对率回归的优化目标相近,通常情形下它们的性能也相当。对率回归的优势主要在于其输出具有自然的概率意义,即在给出预测标记的同时也给出了概率,而支持向量机的输出不具有概率意义,欲得到概率输出需进行特殊处理。此外,对率回归能直接用于多分类任务,支持向量机为此则需进行推广;另一方面,hinge损失有一块“平坦”的零区域,使得支持向量机的解具有稀疏性,对率损失是光滑的单调递增函数,不能导出支持向量的概念,因此对率回归的解依赖于更多的训练样本,预测开销更大。

  • 我们还可以把0/1损失函数换成别的替代损失函数以得到其他学习模型,这些模型的性质与所用的替代函数直接相关,但它们具有一个共性:优化目标中的第一项用来描述划分超平面的“间隔”大小,另一项 ∑ i = 1 m ϑ ( f ( x i ) , y i ) \sum_{i=1}^m\vartheta{(f(\bold x_i),y_i)} i=1mϑ(f(xi),yi)用来表述训练集上的误差,可写为更一般的形式:
    min ⁡ f Ω ( f ) + C ∑ i = 1 m ϑ ( f ( x i ) , y i ) \min_f \Omega(f)+C\sum_{i=1}^m \vartheta(f(\bold x_i),y_i) fminΩ(f)+Ci=1mϑ(f(xi),yi)

    • 其中 Ω ( f ) \Omega(f) Ω(f)称为 “结构风险”(structural risk),用于描述模型 f f f的某些性质;第二项 ∑ i = 1 m ϑ ( f ( x i ) , y i ) \sum_{i=1}^m \vartheta(f(\bold x_i),y_i) i=1mϑ(f(xi),yi)称为 “经验风险”(empirical risk),用于描述模型与训练数据的契合程度。 C用于对二者进行折中,从经验风险最小化的角度来看, Ω ( f ) \Omega(f) Ω(f)表述了我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型),这为引入领域知识和用户意图提供了途径;另一方面,该信息有助于削减假设空间,从而降低了最小化训练误差的过拟合风险

      从这个角度来说,上式称为 “正则化”(regularization)问题 Ω ( f ) \Omega(f) Ω(f)称为正则化项,C则称为正则化常数 L p L_p Lp范数(norm)是常用的正则化项,其中 L 2 L_2 L2范数 ∣ ∣ w ∣ ∣ 2 ||\bold w||_2 w2倾向于 w \bold w w的分量取值尽量均衡,即非零分量个数尽量稠密;而 L 0 L_0 L0范数和 L 1 L_1 L1范数则倾向于 w \bold w w的分量尽量稀疏,即非零分量个数尽量少

    • 正则化可以理解为”罚函数“。对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标。(从贝叶斯估计角度,正则化项可认为是提供了模型的先验概率)


5 支持向量回归

支持向量回归(Support Vector Regression, SVR):假设我们能容忍 f ( x ) f(\bold x) f(x)和真实值 y y y之间有 ϵ \epsilon ϵ的偏差。即当 ∣ f ( x ) − y ∣ > ϵ |f(\bold x)-y|\gt \epsilon f(x)y>ϵ时才计算损失。

image.png

目标函数( ϑ ϵ ( z ) \vartheta_\epsilon(z) ϑϵ(z) ϵ \epsilon ϵ-不敏感损失函数):
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ϑ ϵ ( f ( x i ) − y i ) ϑ ϵ ( z ) = { 0 ,            i f   ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ ,    o t h e r w i s e \min_{\bold{w},b}\frac{1}{2}||\bold w||^2+ C\sum_{i=1}^m \vartheta_\epsilon(f(\bold x_i)-y_i)\\ \vartheta_\epsilon(z)=\begin{cases} 0,\space\space\space\space\space\space\space\space\space\space if\space |z|\le\epsilon\\ |z|-\epsilon,\space\space otherwise \end{cases} w,bmin21w2+Ci=1mϑϵ(f(xi)yi)ϑϵ(z)={0,          if zϵzϵ,  otherwise
引入松弛变量,规划模型:
min ⁡ w , b , ξ i , ξ ^ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) s . t . { f ( x i ) − y i ≤ ϵ + ξ i y i − f ( x i ) ≤ ϵ + ξ ^ i ξ i ≥ 0 , ξ ^ i ≥ 0 ,     i = 1 , 2 , 3 … , m \min_{\bold{w},b,\xi_i,\hat \xi_i}\frac{1}{2}||\bold w||^2+ C\sum_{i=1}^m (\xi_i+\hat \xi_i)\\ s.t. \begin{cases} f(\bold x_i)-y_i \le \epsilon+\xi_i\\ y_i-f(\bold x_i) \le \epsilon+\hat \xi_i\\ \xi_i \ge 0,\hat \xi_i \ge0, \space\space\space i=1,2,3…,m \end{cases} w,b,ξi,ξ^imin21w2+Ci=1m(ξi+ξ^i)s.t.f(xi)yiϵ+ξiyif(xi)ϵ+ξ^iξi0,ξ^i0,   i=1,2,3,m
对偶问题:
max ⁡ α ∑ i = 1 m y i ( α ^ i − α i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) x i T x j s . t . {    ∑ i = 1 m ( α ^ i − α i ) = 0 0 ≤ α i , α ^ i ≤ C ,    i = 1 , 2 , … , m \max_\alpha \sum_{i=1}^my_i(\hat \alpha_i-\alpha_i)-\epsilon(\hat \alpha_i+\alpha_i)-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m(\hat \alpha_i-\alpha_i)(\hat \alpha_j-\alpha_j)\bold{x_i^T x_j}\\ s.t.\begin{cases}\space\space \sum_{i=1}^m (\hat \alpha_i-\alpha_i)=0\\ 0\le \alpha_i,\hat \alpha_i \le C, \space\space i=1,2,…,m \end{cases} αmaxi=1myi(α^iαi)ϵ(α^i+αi)21i=1mj=1m(α^iαi)(α^jαj)xiTxjs.t.{  i=1m(α^iαi)=00αi,α^iC,  i=1,2,,m
SVR的解如:
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x + b b = y i + ϵ − ∑ i = 1 m ( α ^ i − α i ) x i T x i f(\bold x)=\sum_{i=1}^m(\hat \alpha_i-\alpha_i)\bold{x_i^T x}+b\\ b=y_i+\epsilon-\sum_{i=1}^m(\hat \alpha_i-\alpha_i)\bold{x_i^T x_i} f(x)=i=1m(α^iαi)xiTx+bb=yi+ϵi=1m(α^iαi)xiTxi
因此,能满足 α ^ i − α i ≠ 0 \hat \alpha_i-\alpha_i \neq 0 α^iαi=0的样本即为 SVR的支持向量。 他们必定落在 ϵ \epsilon ϵ-间隔带之外,因为间隔带内部的 α ^ i = α i = 0 \hat \alpha_i=\alpha_i=0 α^i=αi=0,因此,SVR的支持向量仅仅是训练样本的一部分,其解依然有稀疏性。

6 核方法

表示定理(representer theorem):令 H H H为核函数 κ \kappa κ对应的再生核希尔伯特空间, ∣ ∣ h ∣ ∣ H ||h||_H hH表示 H H H空间中关于 h h h的范数,对于任意单调递增函数$\Omega:[0, \infty] \mapsto R 和 任 意 非 负 损 失 函 数 和任意非负损失函数 \vartheta:R^m \mapsto [0, \infty]$,优化问题
min ⁡ h ∈ H   F ( h ) = Ω ( ∣ ∣ h ∣ ∣ H ) + ϑ ( h ( x 1 ) , h ( x 2 ) , … , h ( x m ) ) \min_{h\in H}\space F(h)=\Omega(||h||_H)+\vartheta(h(x_1),h(x_2),…,h(x_m)) hHmin F(h)=Ω(hH)+ϑ(h(x1),h(x2),,h(xm))
的解总可以写为:
h ∗ ( x ) = ∑ i = 1 m α i κ ( x , x i ) h^*(x)=\sum_{i=1}^m\alpha_i\kappa(x,x_i) h(x)=i=1mαiκ(x,xi)
核方法:基于核函数的学习方法。常见的是,通过”核化“来将线性学习器拓展为非线性学习器。

核线性判别分析(KLDA)

利用某种映射 ϕ : χ ↦ F \phi:\chi \mapsto F ϕ:χF,将样本映射到一个特征空间。

其学习目标为:
max ⁡ w J ( w ) = w T S b ϕ w w T S w ϕ w \max_w J(w)=\frac{\bold w^T\bold S_b^\phi\bold w}{\bold w^T\bold S_w^\phi\bold w} wmaxJ(w)=wTSwϕwwTSbϕw
其中, S b ϕ \bold S_b^\phi Sbϕ是类间散度矩阵, S w ϕ \bold S_w^\phi Swϕ为类内散度矩阵。

我们使用核函数 κ ( x , x i ) = ϕ ( x i ) T ϕ ( x i ) \kappa(x,x_i)=\phi(x_i)^T\phi(x_i) κ(x,xi)=ϕ(xi)Tϕ(xi)来隐式地表达映射和特征空间。得到 h ( x ) = ∑ i = 1 m α i κ ( x , x i ) h(x)=\sum_{i=1}^m\alpha_i\kappa(x,x_i) h(x)=i=1mαiκ(x,xi)

因此 w = ∑ i = 1 m α i ϕ ( x i ) w=\sum_{i=1}^m\alpha_i\phi(x_i) w=i=1mαiϕ(xi)

K ∈ R m × m K\in R^{m\times m} KRm×m为核函数 κ \kappa κ所对应的核矩阵 ( K ) i j = κ ( x i , x j ) (K)_{ij}=\kappa(x_i,x_j) (K)ij=κ(xi,xj)。令 1 i ∈ { 1 , 0 } m × 1 1_i \in \{1,0\}^{m\times 1} 1i{1,0}m×1表示第 i i i类样本地指示向量,即当 1 i 1_i 1i的第 j j j个分量为1当且仅当 x j ∈ X i x_j \in X_i xjXi,否则为0。令
μ ^ 0 = 1 m 0 K 1 0 μ ^ 1 = 1 m 1 K 1 1 M = ( μ ^ 0 − μ ^ 1 ) ( μ ^ 0 − μ ^ 1 ) T N = K K T − ∑ i = 0 1 m i μ ^ i μ ^ i T \hat \mu_0 = \frac{1}{m_0}K1_{0}\\ \hat \mu_1 = \frac{1}{m_1}K1_{1}\\ M=(\hat \mu_0-\hat \mu_1)(\hat \mu_0-\hat \mu_1)^T\\ N=KK^T-\sum_{i=0}^1m_i\hat \mu_i\hat \mu_i^T μ^0=m01K10μ^1=m11K11M=(μ^0μ^1)(μ^0μ^1)TN=KKTi=01miμ^iμ^iT
于是,目标函数等价于
max ⁡ α J ( α ) = α T M α α T N α \max_\alpha J(\alpha)=\frac{\alpha^TM\alpha}{\alpha^TN\alpha} αmaxJ(α)=αTNααTMα
利用线性判别分析求解法可以求得 α \alpha α,进而求得投影函数 h ( x ) h(x) h(x)

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是泛化能力?泛化能力和过拟合之间有什么关系? 泛化能力是指模型在新的、未见过的数据上的表现能力。模型的泛化能力与其对训练数据的拟合程度有关,通常来说,过拟合的模型泛化能力较差。 2. 什么是交叉验证?交叉验证的作用是什么? 交叉验证是一种通过将数据集分成若干个子集来进行模型评估的方法。具体地,将数据集分成k个子集,每个子集都轮流作为测试集,其余子集作为训练集,重复k次,最终得到k个模型的评估结果的平均值。交叉验证的作用是提高模型评估的可靠性和泛化能力。 3. 留出法、k折交叉验证和留一法的区别是什么?它们各自适用于什么情况? 留出法是将数据集分成两部分,一部分作为训练集,另一部分作为测试集。留出法适用于数据集较大的情况。 k折交叉验证是将数据集分成k个子集,每个子集都轮流作为测试集,其余子集作为训练集,重复k次,最终得到k个模型的评估结果的平均值。k折交叉验证适用于数据集较小的情况。 留一法是k折交叉验证的一种特殊情况,即将数据集分成n个子集,每个子集都作为测试集,其余子集作为训练集,重复n次。留一法适用于数据集较小且样本数较少的情况。 4. 为什么要对数据进行预处理?数据预处理的方法有哪些? 数据预处理可以提高模型的表现,并且可以减少过拟合的风险。数据预处理的方法包括:标准化、归一化、缺失值填充、特征选择、特征降维等。 5. 什么是特征选择?特征选择的方法有哪些? 特征选择是指从所有特征中选择出对模型预测结果有重要贡献的特征。特征选择的方法包括:过滤式方法、包裹式方法和嵌入式方法。其中,过滤式方法是基于特征间的关系进行特征选择,包裹式方法是基于模型的性能进行特征选择,嵌入式方法是将特征选择嵌入到模型训练中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值