支持向量机SVM原理二

上接支持向量机(SVM)原理(一)

2.4 软间隔与正则化

现实中很难找到一个合适的核函数将训练样本在特征空间中线性可分,某些情况下的线性可分可能是因为过拟合造成的。要解决该问题就需要允许一定的差错,在此就提及到‘’软间隔‘’。以下图示例展开:

在这里插入图片描述


图中红圈出现了一些不满足约束的错误样本,按照支持向量机的模型,将样本完全分为两类,那样的划分为‘’硬间隔‘’,此处的‘’软间隔‘’部分样本不满足
y i ( w T x + b ) ⩾ 1 (22) \tag{22}y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b)\geqslant 1 yi(wTx+b)1(22)
但是我们需要做到不满足约束条件的样本尽可能少,优化目标函数可写为
min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ℓ 0 / 1 ( y i ( w T x i + b ) − 1 ) (23) \tag{23}\min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \ell_{0 / 1}\left(y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)-1\right) w,bmin21w2+Ci=1m0/1(yi(wTxi+b)1)(23)
其中 C > 0 C>0 C>0 是一个常数, ℓ 0 / 1 \ell_{0 / 1} 0/1 是 “ 0 / 1 0 / 1 0/1 损失函数”
ℓ 0 / 1 ( z ) = { 1 ,  if  z < 0 0 ,  otherwise  (24) \tag{24}\ell_{0 / 1}(z)= \begin{cases}1, & \text { if } z<0 \\ 0, & \text { otherwise }\end{cases} 0/1(z)={1,0, if z<0 otherwise (24)
显然, 当 C C C 为无穷大时, 式(23)迫使所有样本均满足约束(22), 于是式(23)等价于(1); 当 C C C 取有阳值时, 式(23)允许一些样本不满足约束.
然而, ℓ 0 / 1 \ell_{0 / 1} 0/1 非凸、非连续, 数学侏质不太好, 使得式(23)不易直接求解. 于是, 人们通常用其他一些函数来代替 ℓ 0 / 1 \ell_{0 / 1} 0/1, 称为 “替代损失” (surrogate loss). 替代损失函数一般具有较好的数学性质, 如它们通常是凸的连续函数且是 ℓ 0 / 1 \ell_{0 / 1} 0/1 的上界.三种常用的替代损失函数:

hinge 损失: ℓ hinge  ( z ) = max ⁡ ( 0 , 1 − z ) \ell_{\text {hinge }}(z)=\max (0,1-z) hinge (z)=max(0,1z);
指数损失(exponential loss): ℓ exp ⁡ ( z ) = exp ⁡ ( − z ) \ell_{\exp }(z)=\exp (-z) exp(z)=exp(z);
对率损失(logistic loss): ℓ log ⁡ ( z ) = log ⁡ ( 1 + exp ⁡ ( − z ) ) \ell_{\log }(z)=\log (1+\exp (-z)) log(z)=log(1+exp(z)).

在这里插入图片描述

若采用 hinge 损失, 则式 (23)变成
min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 m max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) . (25) \tag{25}\min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \max \left(0,1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right) . w,bmin21w2+Ci=1mmax(0,1yi(wTxi+b)).(25)
引入 “松弛变量” (slack variables) ξ i ⩾ 0 \xi_{i} \geqslant 0 ξi0, 可将式(25)重写为
min ⁡ w , b , ξ i 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i (26) \tag{26}\min _{\boldsymbol{w}, b, \xi_{i}} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \xi_{i} w,b,ξimin21w2+Ci=1mξi(26)
 s.t.  y i ( w T x i + b ) ⩾ 1 − ξ i ξ i ⩾ 0 , i = 1 , 2 , … , m . (27) \begin{array}{ll}\tag{27} \text { s.t. } & y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1-\xi_{i} & \xi_{i} \geqslant 0, i=1,2, \ldots, m . \end{array}  s.t. yi(wTxi+b)1ξiξi0,i=1,2,,m.(27)
这就是常用的 “软间隔支持向量机” 。
显然,式(26)中每个样本都有一个对应的松弛变量, 用以表征该样本不满足约束式 (22), 通过拉格朗日乘子法可得到式(26)的程度通过拉格朗日乘子法可得到式(26)的拉格朗日函数
L ( w , b , α , ξ 1 μ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 m μ i ξ i (28) \begin{aligned}\tag{28} L\left(\boldsymbol{w}, b, \boldsymbol{\alpha}_{,} \xi_{1} \boldsymbol{\mu}\right)=& \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \xi_{i} +\sum_{i=1}^{m} \alpha_{i}\left(1-\xi_{i}-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right)-\sum_{i=1}^{m} \mu_{i} \xi_{i} \end{aligned} L(w,b,α,ξ1μ)=21w2+Ci=1mξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξi(28)
其中 α i ⩾ 0 , μ i ⩾ 0 \alpha_{i} \geqslant 0, \mu_{i} \geqslant 0 αi0,μi0 是拉格朗日乘子.
L ( w , b , α , ξ , μ ) L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \boldsymbol{\xi}, \boldsymbol{\mu}) L(w,b,α,ξ,μ) w , b , ξ i \boldsymbol{w}, b, \xi_{i} w,b,ξi 的俏导为零可得
w = ∑ i = 1 m α i y i x i , 0 = ∑ i = 1 m α i y i C = α i + μ i (29) \begin{aligned}\tag{29} &w=\sum_{i=1}^{m} \alpha_{i} y_{i} x_{i},\\ &0=\sum_{i=1}^{m} \alpha_{i} y_{i} \\ &C=\alpha_{i}+\mu_{i} \end{aligned} w=i=1mαiyixi,0=i=1mαiyiC=αi+μi(29)

将式(29)代入式(28)即可得到式(26)的对偶问题
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 α i y i = 0 , 0 ⩽ α i ⩽ C , i = 1 , 2 , … , m . (30) \begin{array}{ll}\tag{30} \max \limits_{\alpha} & \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} x_{i}^{\mathrm{T}} x_{j} \\ \text { s.t. } & \sum_{i=1}^{m} \alpha_{i} y_{i}=0, 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \ldots, m . \end{array} αmax s.t. i=1mαi21i=1mj=1mαiαjyiyjxiTxji=1mαiyi=0,0αiC,i=1,2,,m.(30)
同理可得, 对软间隔支持向量机, KKT 条件要求
{ α i ⩾ 0 , μ i ⩾ 0 , y i f ( x i ) − 1 + ξ i ⩾ 0 , α i ( y i f ( x i ) − 1 + ξ i ) = 0 , ξ i ⩾ 0 , μ i ξ i = 0. (31) \left\{\begin{array}{l}\tag{31} \alpha_{i} \geqslant 0, \quad \mu_{i} \geqslant 0, \\ y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i} \geqslant 0, \\ \alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1+\xi_{i}\right)=0, \\ \xi_{i} \geqslant 0, \mu_{i} \xi_{i}=0 . \end{array}\right. αi0,μi0,yif(xi)1+ξi0,αi(yif(xi)1+ξi)=0,ξi0,μiξi=0.(31)
于是, 对任意训练样本 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi), 总有 α i = 0 \alpha_{i}=0 αi=0 y i f ( x i ) = 1 − ξ i y_{i} f\left(x_{i}\right)=1-\xi_{i} yif(xi)=1ξi. 若 α i = 0 \alpha_{i}=0 αi=0, 则 该样本不会对 f ( x ) f(\boldsymbol{x}) f(x) 有任何影响; 若 α i > 0 \alpha_{i}>0 αi>0, 则必有 y i f ( x i ) = 1 − ξ i y_{i} f\left(\boldsymbol{x}_{i}\right)=1-\xi_{i} yif(xi)=1ξi, 即该样本 是支持向量: 由式 (6.39) 可知, 若 α i < C \alpha_{i}<C αi<C, 则 μ i > 0 \mu_{i}>0 μi>0, 进而有 ξ i = 0 \xi_{i}=0 ξi=0, 即该样本 恰在最大间隔边界上; 若 α i = C \alpha_{i}=C αi=C, 则有 μ i = 0 \mu_{i}=0 μi=0, 此时若 ξ i ⩽ 1 \xi_{i} \leqslant 1 ξi1 则该样本落在最 大间隔内部, 若 ξ i > 1 \xi_{i}>1 ξi>1 则该样本被错误分类. 由此可看出, 软间隔支持向量机的最终模型仅与支持向量有关, 即通过采用 hinge 损失函数仍保持了稀疏性.

能否对式(23)使用其他的替代损失函数呢?

可以发现, 如果使用对率损失函数 ℓ log ⁡ \ell_{\log } log 来替代式(23)中的 0 / 1 0 / 1 0/1 损失函数, 则几乎就得到了对率回归模型. 实际上, 支持向量机与对率回归的优化目标相近, 通常情形下它们的性能也相当. 对率回归的优势主要在于其输出具 有自然的概率意义, 即在给出预测标记的同时也给出了概率, 而支持向量机的 输出不具有概率意义, 欲得到概率输出需进行特殊处理.

我们还可以把式(23)中的 0 / 1 0 / 1 0/1 损失函数换成别的替代损失函数以得到 其他学习模型, 这些模型的性质与所用的替代函数直接相关, 但它们具有一 个共性: 优化目标中的第一项用来描述划分超平面的 “间隔” 大小, 另一项 ∑ i = 1 m ℓ ( f ( x i ) , y i ) \sum_{i=1}^{m} \ell\left(f\left(x_{i}\right), y_{i}\right) i=1m(f(xi),yi) 用来表述训练集上的误差, 可写为更一般的形式
min ⁡ f Ω ( f ) + C ∑ i = 1 m ℓ ( f ( x i ) , y i ) (32) \tag{32} \min _{f} \Omega(f)+C \sum_{i=1}^{m} \ell\left(f\left(x_{i}\right), y_{i}\right) fminΩ(f)+Ci=1m(f(xi),yi)(32)
其中 Ω ( f ) \Omega(f) Ω(f) 称为 “结构风险” (structural risk), 用于描述模型 f f f 的某些性质; 第二项 ∑ i = 1 m ℓ ( f ( x i ) , y i ) \sum_{i=1}^{m} \ell\left(f\left(\boldsymbol{x}_{i}\right), y_{i}\right) i=1m(f(xi),yi) 称为 “经验风险”, 用于描述模型与训练 数据的契合程度; C C C 用于对二者进行折中. 从经验风险最小化的角度来看, Ω ( f ) \Omega(f) Ω(f) 表述了我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型), 这为引入领域知识和用户意图提供了途径; 另一方面, 该信息有助于削减假设空间, 从而降低了最小化训练误差的过拟合风险. 从这个角度来说, 式 (32)称 为 “正则化” (regularization) 问题, Ω ( f ) \Omega(f) Ω(f) 称为正则化项, C C C 则称为正则化常数. L p \mathrm{L}_{p} Lp 范数 (norm) 是常用的正则化项, 其中 L 2 \mathrm{L}_{2} L2 范数 ∥ w ∥ 2 \|\boldsymbol{w}\|_{2} w2 倾向于 w \boldsymbol{w} w 的分量取值 尽量均衡, 即非零分量个数尽量稠密, 而 L 0 \mathrm{L}_{0} L0 范数 ∥ w ∥ 0 \|\boldsymbol{w}\|_{0} w0 L 1 \mathrm{L}_{1} L1 范数 ∥ w ∥ 1 \|\boldsymbol{w}\|_{1} w1 则倾向 于 w \boldsymbol{w} w 的分量尽量稀疏, 即非零分量个数尽量少.

2.5 支持向量回归

给定训练样本 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots\right. D={(x1,y1),(x2,y2),, ( x m , y m ) } , y i ∈ R \left.\left(x_{m}, y_{m}\right)\right\}, y_{i} \in \mathbb{R} (xm,ym)},yiR, 创建一个回归模型, 使得 f ( x ) f(x) f(x) y y y 尽可能接近, w \boldsymbol{w} w b b b 是待确定的模型参数.
对样本 ( x , y ) (x, y) (x,y), 传统回归模型通常直接基于模型输出 f ( x ) f(x) f(x) 与真实输出 y y y 之 间的差别来计算损失, 当且仅当 f ( x ) f(x) f(x) y y y 完全相同时, 损失才为零. 与此不同, 支持向量回归(Support Vector Regression, 简称 SVR)假设我们能容忍 f ( x ) f(\boldsymbol{x}) f(x) y y y 之间最多有 ϵ \epsilon ϵ 的偏差, 即仅当 f ( x ) f(x) f(x) y y y 之间的差别绝对值大于 ϵ \epsilon ϵ 时才计算损失. 这相当于以 f ( x ) f(x) f(x) 为中心, 构建了一个宽度为 2 ϵ 2 \epsilon 2ϵ 的间隔带, 若训练样本落入此间隔带, 则认为是被预测正确的.红色显示出 ϵ \epsilon ϵ-何隙带, 落入其中的样本不计算损失.

在这里插入图片描述

于是, SVR 问题可形式化为
min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i ) (33) \tag{33} \min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m} \ell_{\epsilon}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right) w,bmin21w2+Ci=1mϵ(f(xi)yi)(33)
其中 C C C 为正则化常数, ℓ ϵ \ell_{\epsilon} ϵ ϵ \epsilon ϵ-不敏感损失函数.
ℓ ϵ ( z ) = { 0 ,  if  ∣ z ∣ ⩽ ϵ ∣ z ∣ − ϵ ,  otherwise  (34) \tag{34} \ell_{\epsilon}(z)= \begin{cases}0, & \text { if }|z| \leqslant \epsilon \\ |z|-\epsilon, & \text { otherwise }\end{cases} ϵ(z)={0,zϵ, if zϵ otherwise (34)

在这里插入图片描述

引入松弛变量 ξ i \xi_{i} ξi ξ ^ i \hat{\xi}_{i} ξ^i, 可将式 (33)重写为
min ⁡ w , b , ξ i , ξ ^ i 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) (35) \tag{35} \min _{\boldsymbol{w}, b, \xi_{i}, \hat{\xi}_{i}} \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m}\left(\xi_{i}+\hat{\xi}_{i}\right) w,b,ξi,ξ^imin21w2+Ci=1m(ξi+ξ^i)(35)
s.t.  f ( x i ) − y i ⩽ ϵ + ξ i y i − f ( x i ) ⩽ ϵ + ξ ^ i ξ i ⩾ 0 , ξ ^ i ⩾ 0 , i = 1 , 2 , … , m . (36) \begin{aligned}\tag{36} &\text{s.t. } f\left(x_{i}\right)-y_{i} \leqslant \epsilon+\xi_{i}\\ &y_{i}-f\left(\boldsymbol{x}_{i}\right) \leqslant \epsilon+\hat{\xi}_{i} \\ &\xi_{i} \geqslant 0, \hat{\xi}_{i} \geqslant 0, i=1,2, \ldots, m . \end{aligned} s.t. f(xi)yiϵ+ξiyif(xi)ϵ+ξ^iξi0,ξ^i0,i=1,2,,m.(36)
通过引入拉格朗日乘子 μ i ⩾ 0 , μ ^ i ⩾ 0 , α i ⩾ 0 , α ^ i ⩾ 0 \mu_{i} \geqslant 0, \hat{\mu}_{i} \geqslant 0, \alpha_{i} \geqslant 0, \hat{\alpha}_{i} \geqslant 0 μi0,μ^i0,αi0,α^i0, 由拉 格朗日乘子法可得到拉格朗日函数
L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ i ξ i − ∑ i = 1 m μ ^ i ξ ^ i + ∑ i = 1 m α i ( f ( x i ) − y i − ϵ − ξ i ) + ∑ i = 1 m α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) . (37) \begin{aligned}\tag{37} &L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \hat{\boldsymbol{\alpha}}, \boldsymbol{\xi}, \hat{\boldsymbol{\xi}}, \boldsymbol{\mu}, \hat{\boldsymbol{\mu}}) \\ &=\frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{m}\left(\xi_{i}+\hat{\xi}_{i}\right)-\sum_{i=1}^{m} \mu_{i} \xi_{i}-\sum_{i=1}^{m} \hat{\mu}_{i} \hat{\xi}_{i} \\ &+\sum_{i=1}^{m} \alpha_{i}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)+\sum_{i=1}^{m} \hat{\alpha}_{i}\left(y_{i}-f\left(\boldsymbol{x}_{i}\right)-\epsilon-\hat{\xi}_{i}\right) . \end{aligned} L(w,b,α,α^,ξ,ξ^,μ,μ^)=21w2+Ci=1m(ξi+ξ^i)i=1mμiξii=1mμ^iξ^i+i=1mαi(f(xi)yiϵξi)+i=1mα^i(yif(xi)ϵξ^i).(37)
f ( x ) = w T x + b f(x)=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b f(x)=wTx+b代入, 再令 L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) L(\boldsymbol{w}, b, \boldsymbol{\alpha}, \hat{\boldsymbol{\alpha}}, \boldsymbol{\xi}, \hat{\boldsymbol{\xi}}, \boldsymbol{\mu}, \hat{\boldsymbol{\mu}}) L(w,b,α,α^,ξ,ξ^,μ,μ^) w , b , ξ i \boldsymbol{w}, b, \xi_{\mathrm{i}} w,b,ξi ξ ^ i \hat{\xi}_{i} ξ^i 的偏导为零可得
w = ∑ i = 1 m ( α ^ i − α i ) x i , 0 = ∑ i = 1 m ( α ^ i − α i ) , C = α i + μ i , C = α ^ i + μ ^ i . (38) \begin{aligned}\tag{38} &w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}, \\ &0=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right), \\ &C=\alpha_{i}+\mu_{i}, \\ &C=\hat{\alpha}_{i}+\hat{\mu}_{i} . \end{aligned} w=i=1m(α^iαi)xi,0=i=1m(α^iαi),C=αi+μi,C=α^i+μ^i.(38)
将式(38)代入式(37), 即可得到 SVR的对偶问题
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 . (39) \begin{array}{ll}\tag{39} \max \limits_{\alpha, \hat{\alpha}} & \sum_{i=1}^{m} y_{i}\left(\hat{\alpha}_{i}-\alpha_{i}\right)-\epsilon\left(\hat{\alpha}_{i}+\alpha_{i}\right) \\ & -\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right)\left(\hat{\alpha}_{j}-\alpha_{j}\right) x_{i}^{\mathrm{T}} \boldsymbol{x}_{j} \\ \text { s.t. } & \sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right)=0, 0 \leqslant \alpha_{i}, \hat{\alpha}_{i} \leqslant C . \end{array} α,α^max s.t. i=1myi(α^iαi)ϵ(α^i+αi)21i=1mj=1m(α^iαi)(α^jαj)xiTxji=1m(α^iαi)=0,0αi,α^iC.(39)
上述过程中需满足 KKT 条件, 即要求
{ α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 , α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 , α i α ^ i = 0 , ξ i ξ ^ i = 0 , ( C − α i ) ξ i = 0 , ( C − α ^ i ) ξ ^ i = 0. (40) \left\{\begin{array}{l}\tag{40} \alpha_{i}\left(f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)=0, \\ \hat{\alpha}_{i}\left(y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}\right)=0, \\ \alpha_{i} \hat{\alpha}_{i}=0, \xi_{i} \hat{\xi}_{i}=0, \\ \left(C-\alpha_{i}\right) \xi_{i}=0,\left(C-\hat{\alpha}_{i}\right) \hat{\xi}_{i}=0 . \end{array}\right. αi(f(xi)yiϵξi)=0,α^i(yif(xi)ϵξ^i)=0,αiα^i=0,ξiξ^i=0,(Cαi)ξi=0,(Cα^i)ξ^i=0.(40)
可以看出, 当且仅当 f ( x i ) − y i − ϵ − ξ i = 0 f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}=0 f(xi)yiϵξi=0 α i \alpha_{i} αi 能取非零值, 当且仅当 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}=0 yif(xi)ϵξ^i=0 α ^ i \hat{\alpha}_{i} α^i 能取非零值. 换言之, 仅当样本 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 不落入 ϵ − \epsilon- ϵ 间 隔带中, 相应的 α i \alpha_{i} αi α ^ i \hat{\alpha}_{i} α^i 才能取非零值. 此外, 约束 f ( x i ) − y i − ϵ − ξ i = 0 f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}=0 f(xi)yiϵξi=0 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}=0 yif(xi)ϵξ^i=0 不能同时成立, 因此 α i \alpha_{i} αi α ^ i \hat{\alpha}_{i} α^i 中至少有一个为零.
将式 w = ∑ i = 1 m ( α ^ i − α i ) x i w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i} w=i=1m(α^iαi)xi 代入 f ( x ) = w T x + b f(x)=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b f(x)=wTx+b, 则 SVR 的解形如
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x + b . (41) \tag{41} f(x)=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}+b . f(x)=i=1m(α^iαi)xiTx+b.(41)
能使式 (41)中的 ( α ^ i − α i ) ≠ 0 \left(\hat{\alpha}_{i}-\alpha_{i}\right) \neq 0 (α^iαi)=0 的样本即为 SVR 的支持向量, 它们必落在 ϵ \epsilon ϵ-间隔带之外. 显然, SVR 的支持向量仅是训练样本的一部分, 即基解仍具有稀疏性.
由 KKT 条件 (40) 可看出, 对每个样本 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 都有 ( C − α i ) ξ i = 0 \left(C-\alpha_{i}\right) \xi_{i}=0 (Cαi)ξi=0 且. α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 \alpha_{i}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)=0 αi(f(xi)yiϵξi)=0. 于是, 在得到 α i \alpha_{i} αi 后, 若 0 < α i < C 0<\alpha_{i}<C 0<αi<C, 则必有 ξ i = 0 \xi_{i}=0 ξi=0, 进而有
b = y i + ϵ − ∑ i = 1 m ( α ^ i − α i ) x i T x . (42) \tag{42} b=y_{i}+\epsilon-\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i}^{\mathrm{T}} x . b=yi+ϵi=1m(α^iαi)xiTx.(42)
因此, 在求解式(39)得到 α i \alpha_{i} αi 后, 理论上来说, 可任意选取满足 0 < α i < C 0<\alpha_{i}<C 0<αi<C 的样本通过式 (42)求得 b b b. 实践中常采用一种更鲁桻的办法: 选取多个(或所有)㳾 足条件 0 < α i < C 0<\alpha_{i}<C 0<αi<C 的样本求解 b b b 后取平均值.
若考虑特征映射形式, 则相应的 w = ∑ i = 1 m ( α ^ i − α i ) x i w=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) x_{i} w=i=1m(α^iαi)xi将形如
w = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x i ) (43) \tag{43} \boldsymbol{w}=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \phi\left(x_{i}\right) w=i=1m(α^iαi)ϕ(xi)(43)
将式(43)代入 f ( x ) = w T ϕ ( x ) + b f(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x})+b f(x)=wTϕ(x)+b, 则 SVR 可表示为
f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b (44) \tag{44} f(\boldsymbol{x})=\sum_{i=1}^{m}\left(\hat{\alpha}_{i}-\alpha_{i}\right) \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right)+b f(x)=i=1m(α^iαi)κ(x,xi)+b(44)
其中 κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\phi\left(\boldsymbol{x}_{i}\right)^{\mathrm{T}} \phi\left(\boldsymbol{x}_{j}\right) κ(xi,xj)=ϕ(xi)Tϕ(xj) 为核函数.

2.6 核方法

给定训练样本 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … \left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots\right. {(x1,y1),(x2,y2),, ( x m , y m ) } \left.\left(x_{m}, y_{m}\right)\right\} (xm,ym)}, 若不考虑偏移项 b b b, 则无论 SVM 还是 SVR, 学得的模型总能表示成核函数 κ ( x , x i ) \kappa\left(x, x_{i}\right) κ(x,xi) 的线性组合. 不仅如此, 事实上我们有下面这个称为 “表示定理” 。

表示定理:令 H \mathbb{H} H 为核函数 κ \kappa κ 对应的再生核希尔伯特空间, ∥ h ∥ H \|h\|_{\mathbb{H}} hH 表示 H \mathbb{H} H 空间中关于 h h h 的范数, 对于任意单调递增函数 Ω : [ 0 , ∞ ] ↦ R \Omega:[0, \infty] \mapsto \mathbb{R} Ω:[0,]R 和任意非 负损失函数 ℓ : R m ↦ [ 0 , ∞ ] \ell: \mathbb{R}^{m} \mapsto[0, \infty] :Rm[0,], 优化问题
min ⁡ h ∈ H F ( h ) = Ω ( ∥ h ∥ H ) + ℓ ( h ( x 1 ) , h ( x 2 ) , … , h ( x m ) ) (45) \tag{45} \min _{h \in \mathrm{H}} F(h)=\Omega\left(\|h\|_{\mathrm{H}}\right)+\ell\left(h\left(\boldsymbol{x}_{1}\right), h\left(\boldsymbol{x}_{2}\right), \ldots, h\left(\boldsymbol{x}_{m}\right)\right) hHminF(h)=Ω(hH)+(h(x1),h(x2),,h(xm))(45)
的解总可写为
h ∗ ( x ) = ∑ i = 1 m α i κ ( x , x i ) . (46) \tag{46} h^{*}(x)=\sum_{i=1}^{m} \alpha_{i} \kappa\left(x, x_{i}\right) . h(x)=i=1mαiκ(x,xi).(46)
表示定理对损失函数没有限制, 对正则化项 Ω \Omega Ω 仅要求单调递增, 甚至不要求 Ω \Omega Ω 是凸函数, 意味着对于一般的损失函数和正则化项, 优化问题(45)的最优解 h ∗ ( x ) h^{*}(\boldsymbol{x}) h(x) 都可表示为核函数 κ ( x , x i ) \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right) κ(x,xi) 的线性组合; 这显示出核函数的巨大威力.
人们发展出一系列基于核函数的学习方法, 统称为 “核方法” (kernel methods). 最常见的, 是通过 “核化” (即引入核函数)来将线性学习器拓展为 非线性学习器. 下面我们以线性判别分析为例来演示如何通过核化来对其进 行非线性拓展, 从而得到 “核线性判别分析” (Kernelized Linear Discriminant Analysis, 简称 KLDA).
我们先假设可通过某种映射 ϕ : X ↦ F \phi: \mathcal{X} \mapsto \mathbb{F} ϕ:XF 将样本映射到一个特征空间 F \mathbb{F} F, 然 后在 F \mathbb{F} F 中执行线性判别分析, 以求得
h ( x ) = w T ϕ ( x ) . (47) \tag{47} h(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}} \phi(\boldsymbol{x}) . h(x)=wTϕ(x).(47)
KLDA 的学习目标是
max ⁡ w J ( w ) = w T S b ϕ w w T S w ϕ w (48) \tag{48} \max _{w} J(\boldsymbol{w})=\frac{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b}^{\phi} \boldsymbol{w}}{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w}^{\phi} w} wmaxJ(w)=wTSwϕwwTSbϕw(48)
其中 S b ϕ \mathbf{S}_{b}^{\phi} Sbϕ S w ϕ \mathbf{S}_{w}^{\phi} Swϕ 分别为训练样本在特征空问 F \mathrm{F} F 中的类间散度矩阵和类内敝 度矩阵. 令 X i X_{i} Xi 表示第 i ∈ { 0 , 1 } i \in\{0,1\} i{0,1} 类样本的集合, 其样本数为 m i m_{i} mi; 总样本数 m = m 0 + m 1 m=m_{0}+m_{1} m=m0+m1. 第 i i i 类样本在特征空间 F \mathbb{F} F 中的均值为
μ i ϕ = 1 m i ∑ x ∈ X i ϕ ( x ) , (49) \tag{49} \boldsymbol{\mu}_{i}^{\phi}=\frac{1}{m_{i}} \sum_{x \in X_{i}} \phi(x), μiϕ=mi1xXiϕ(x),(49)
两个散度矩阵分别为
S b ϕ = ( μ 1 ϕ − μ 0 ϕ ) ( μ 1 ϕ − μ 0 ϕ ) T ; S w ϕ = ∑ i = 0 1 ∑ x ∈ X i ( ϕ ( x ) − μ i ϕ ) ( ϕ ( x ) − μ i ϕ ) T . (50) \begin{aligned}\tag{50} &\mathbf{S}_{b}^{\phi}=\left(\boldsymbol{\mu}_{1}^{\phi}-\boldsymbol{\mu}_{0}^{\phi}\right)\left(\boldsymbol{\mu}_{1}^{\phi}-\boldsymbol{\mu}_{0}^{\phi}\right)^{\mathrm{T}} ; \\ &\mathbf{S}_{w}^{\phi}=\sum_{i=0}^{1} \sum_{x \in X_{i}}\left(\phi(\boldsymbol{x})-\boldsymbol{\mu}_{i}^{\phi}\right)\left(\phi(\boldsymbol{x})-\boldsymbol{\mu}_{i}^{\phi}\right)^{\mathrm{T}} . \end{aligned} Sbϕ=(μ1ϕμ0ϕ)(μ1ϕμ0ϕ)T;Swϕ=i=01xXi(ϕ(x)μiϕ)(ϕ(x)μiϕ)T.(50)
通常我们难以知道映射 ϕ \phi ϕ 的具体形式, 因此使用核函数 κ ( x , x i ) = \kappa\left(x, x_{i}\right)= κ(x,xi)= ϕ ( x i ) T ϕ ( x ) \phi\left(\boldsymbol{x}_{i}\right)^{\mathrm{T}} \phi(\boldsymbol{x}) ϕ(xi)Tϕ(x) 来隐式地表达这个映射和特征空间 F F F. 把 J ( w ) J(\boldsymbol{w}) J(w) 作为式 (45)中 的损失函数 ℓ \ell , 再令 Ω ≡ 0 \Omega \equiv 0 Ω0, 由表示定理, 函数 h ( x ) h(x) h(x) 可写为
h ( x ) = ∑ i = 1 m α i κ ( x , x i ) , (51) \tag{51} h(\boldsymbol{x})=\sum_{i=1}^{m} \alpha_{i} \kappa\left(\boldsymbol{x}, \boldsymbol{x}_{i}\right), h(x)=i=1mαiκ(x,xi),(51)
于是由式(47)可得
w = ∑ i = 1 m α i ϕ ( x i ) . (52) \tag{52} \boldsymbol{w}=\sum_{i=1}^{m} \alpha_{i} \phi\left(\boldsymbol{x}_{i}\right) . w=i=1mαiϕ(xi).(52)
K ∈ R m × m \mathbf{K} \in \mathbb{R}^{m \times m} KRm×m 为核函数 κ \kappa κ 所对应的核矩阵, ( K ) i j = κ ( x i , x j ) (\mathbf{K})_{i j}=\kappa\left(x_{i}, x_{j}\right) (K)ij=κ(xi,xj). 令 1 i ∈ \mathbf{1}_{i} \in 1i { 1 , 0 } m × 1 \{1,0\}^{m \times 1} {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, 否则 1 i \mathbf{1}_{i} 1i 的第 j j j 个分量为 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 (53) \begin{aligned}\tag{53} &\hat{\mu}_{0}=\frac{1}{m_{0}} \mathbf{K} \mathbf{1}_{0}\\ &\hat{\mu}_{1}=\frac{1}{m_{1}} \mathbf{K} \mathbf{1}_{1}\\ &\mathbf{M}=\left(\hat{\boldsymbol{\mu}}_{0}-\hat{\mu}_{1}\right)\left(\hat{\mu}_{0}-\hat{\mu}_{1}\right)^{\mathbf{T}}\\ &\mathbf{N}=\mathbf{K K}^{\mathrm{T}}-\sum_{i=0}^{1} m_{i} \hat{\boldsymbol{\mu}}_{i} \hat{\boldsymbol{\mu}}_{i}^{\mathrm{T}} \end{aligned} μ^0=m01K10μ^1=m11K11M=(μ^0μ^1)(μ^0μ^1)TN=KKTi=01miμ^iμ^iT(53)
于是, 式(48)等价为
max ⁡ α J ( α ) = α T M α α T N α \max _{\alpha} J(\boldsymbol{\alpha})=\frac{\boldsymbol{\alpha}^{\mathrm{T}} \mathbf{M} \alpha}{\boldsymbol{\alpha}^{\mathrm{T}} \mathbf{N} \alpha} αmaxJ(α)=αTNααTMα
显然, 使用线性判别分析求解方法即可得到 α \boldsymbol{\alpha} α, 进而可由式(51)得到投影 函数 h ( x ) h(\boldsymbol{x}) h(x).

原理部分结束,后续见python实现篇章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340