机器学习基础——支持向量机2

mac2022-06-30  28

软间隔与正则化

我们一直假定训练样本在样本空间或特征空间中是线性可分的,但是现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。

缓解该问题的一个方法就是允许向量机在一些样本上出错。

硬间隔(hard margin)要求所有的样本均满足约束,但是软间隔则是允许某些样本不满足约束 y i ( w T x i + b ) ≥ 1 y_i(\pmb{w^Tx_i}+b) \ge 1 yi(wTxiwTxiwTxi+b)1 当然,在最大化间隔的同时,不满足约束的样子应尽可能小,于是,优化目标可以写成: min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ 0 / 1 ( y i ( w T x i + b ) − 1 ) \underset{w,b}{\min} \frac{1}{2}||\pmb{w}||^2 + C\sum{i=1}^m \ell_{0/1}(y_i(\pmb{w^Tx_i}+b)-1) w,bmin21www2+Ci=1m0/1(yi(wTxiwTxiwTxi+b)1) 其中 C > 0 C>0 C>0是一个常数, ℓ 0 / 1 \ell_{0/1} 0/1是0/1损失函数 ℓ 0 / 1 = { 1 i f   z < 0 0 o t h e r w i s e \ell_{0/1} = \begin{cases} 1 & if \ z < 0 \\ 0 & otherwise \end{cases} 0/1={10if z<0otherwise C C C为无穷大,使得所有样本均满足约束,当 C C C取有限值时,允许一些样本不满足约束

然而 ℓ 0 / 1 \ell_{0/1} 0/1非凸、非连续、数学性质不太好。通常用其他一些函数来代替 ℓ 0 / 1 \ell_{0/1} 0/1。称为替代损失函数

常用的替代损失函数

hinge 损失: ℓ h i n g e ( z ) = max ⁡ ( 0 , 1 − z ) \ell_{hinge}(z)=\max(0,1-z) hinge(z)=max(0,1z)指数损失(exponential loss): ℓ e x p ( z ) = exp ⁡ ( − z ) \ell_{exp}(z) = \exp(-z) exp(z)=exp(z)对率损失(logistic loss) ℓ l o g ( z ) = l o g ( 1 + exp ⁡ ( − z ) ) \ell_{log}(z) = log(1+\exp(-z)) log(z)=log(1+exp(z))

若采用hinge损失,则会变成: min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m max ⁡ ( 0 , 1 − y i ( w t x i + b ) ) \underset{w,b}{\min} \frac{1}{2} ||\pmb{w}||^2 + C\sum_{i=1}^m \max(0,1-y_i(\pmb{w^tx_i}+b)) w,bmin21www2+Ci=1mmax(0,1yi(wtxiwtxiwtxi+b)) 引入松弛变量(slack variables) ξ i ≥ 0 \xi_i \ge 0 ξi0,则公式可以重新写成 min ⁡ w , b , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i \underset{w,b,\xi_i}{\min} \frac{1}{2} ||\pmb{w}||^2 + C\sum_{i=1}^m \xi_i w,b,ξimin21www2+Ci=1mξi

s . t .   y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 , 2 , ⋯   , m s.t. \ y_i(\pmb{w^Tx_i}+b) \ge 1-\xi_i \\ \xi_i \ge 0,i=1,2,\cdots,m s.t. yi(wTxiwTxiwTxi+b)1ξiξi0,i=1,2,,m

类似的,通过拉格朗日乘子法可得拉格朗日函数 L ( w , b , α , ξ , μ ) = 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 \begin{aligned} L(\pmb{w},b,\alpha,\xi,\mu)& = \frac{1}{2} ||w||^2 + C\sum_{i=1}^m\xi_i \\& +\sum_{i=1}^m \alpha_i(1-\xi_i -y_i(\pmb{w^Tx_i}+b)) - \sum_{i=1}^m \mu_i \xi_i \end{aligned} L(www,b,α,ξ,μ)=21w2+Ci=1mξi+i=1mαi(1ξiyi(wTxiwTxiwTxi+b))i=1mμiξi 其中 α i ≥ 0 , μ i ≥ 0 \alpha_i\ge 0,\mu_i\ge 0 αi0,μi0是拉格朗日乘子

L ( w , b , α , ξ , μ ) L(\pmb{w},b,\pmb{\alpha,\xi,\mu}) L(www,b,α,ξ,μα,ξ,μα,ξ,μ) w , b , ξ i 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 w = \sum_{i=1}^m \alpha_i y_ix_i \\ 0 = \sum_{i=1}^m \alpha_iy_i\\ C = \alpha_i + \mu_i w=i=1mαiyixi0=i=1mαiyiC=αi+μi 可得对偶问题 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 \underset{\alpha}{\max} \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i\alpha_jy_iy_j\pmb{x_i^Tx_j} \\ s.t. \sum_{i=1}^m \alpha_iy_i =0 \\ 0\le \alpha_i\le C,i=1,2,\cdots,m αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjxiTxjxiTxjs.t.i=1mαiyi=00αiC,i=1,2,,m 对于软间隔支持向量机,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 \begin{cases} \alpha_i \ge 0,\mu_i\ge 0\\ \\ y_if(x_i)-1 + \xi_i \ge 0\\ \\ \alpha_i(y_if(x_i)-1 + \xi_i) =0 \\ \\ \xi_i \ge 0,\mu_i\xi_i=0 \end{cases} αi0,μi0yif(xi)1+ξi0αi(yif(xi)1+ξi)=0ξi0,μiξi=0 于是,对于任意训练样本( x i , y i \pmb{x_i},y_i xixixi,yi),总有 α i = 0 \alpha_i=0 αi=0 y i f ( x i ) = 1 − ξ i y_if(\pmb{x_i})=1-\xi_i yif(xixixi)=1ξi,若 α i = 0 \alpha_i=0 αi=0,则该样本不会对 f ( x ) f(x) f(x)有任何以你选哪个,若 α i > 0 \alpha_i > 0 αi>0,则必有 y i f ( x i ) = 1 − ξ i y_if(\pmb{x_i})=1-\xi_i yif(xixixi)=1ξi,即样本是支持向量。若 α 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,此时若 ξ ≤ 1 \xi \le 1 ξ1则该样本落在最大间隔内部,若 ξ i > 1 \xi_i > 1 ξi>1则样本被错误分类。

支持向量回归

给定训练样本 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } , y i ∈ R D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\},y_i\in \mathbb{R} D={(x1,y1),(x2,y2),,(xm,ym)},yiR。希望学习得到回归模型,使得 f ( x ) f(x) f(x) y y y尽可能接近, w , b w,b w,b是待确定的模型参数。

支持向量回归(Support Vector Regression,SVR)假设我们容忍 f ( x ) f(x) f(x) y y y之间最多的有 ϵ \epsilon ϵ的偏差,即仅当 f ( x ) f(x) f(x) y y y之间的差别绝对值大于 ϵ \epsilon ϵ时才计算损失。

于是,SVR问题可形式化为 min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i − y i ) ) \underset{w,b}{\min} \frac{1}{2}||w||^2 + C\sum_{i=1}^m \ell_{\epsilon}(f(\pmb{x}_i-y_i)) w,bmin21w2+Ci=1mϵ(f(xxxiyi)) 其中C为正则化常数, ℓ ϵ \ell_{\epsilon} ϵ ϵ \epsilon ϵ不敏感损失函数 ℓ ϵ ( z ) = { 0 i f ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ o t h e r w i s e \ell_{\epsilon}(z) = \begin{cases} 0 & if |z|\le \epsilon \\ |z|-\epsilon & otherwise \end{cases} ϵ(z)={0zϵifzϵotherwise 引入松弛变量 ξ i \xi_i ξi ξ i ^ \hat{\xi_i} ξi^ min ⁡ w , b , ξ i , ξ i ^ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ i ^ ) \underset{w,b,\xi_i,\hat{\xi_i}}{\min} \frac{1}{2} ||w||^2 + C\sum_{i=1}^m (\xi_i + \hat{\xi_i}) w,b,ξi,ξi^min21w2+Ci=1m(ξi+ξi^)

s . t . f ( x i ) − y i ≤ ϵ + ξ i y i − f ( x i ) ≤ ϵ + ξ i ^ ξ i ≥ 0 , ξ i ^ ≥ 0 , i = 1 , 2 ⋯ m \begin{aligned} s.t.\quad & f(x_i) - y_i \le \epsilon + \xi_i \\ & y_i - f(x_i)\le \epsilon +\hat{\xi_i} \\ & \xi_i \ge 0,\hat{\xi_i}\ge 0, i=1,2\cdots m \end{aligned} s.t.f(xi)yiϵ+ξiyif(xi)ϵ+ξi^ξi0,ξi^0,i=1,2m 通过引入拉格朗日乘子 μ ≥ 0 , μ i ^ ≥ 0 , α i ≥ 0 , α i ^ ≥ 0 \mu \ge 0,\hat{\mu _i}\ge 0, \alpha_i \ge 0,\hat{\alpha_i} \ge 0 μ0,μi^0,αi0,αi^0,可以得到拉格朗日函数 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 ) \begin{aligned} & L(w,b,\alpha,\hat{\alpha},\xi,\hat\xi,\mu,\hat\mu) \\ & = \frac{1}{2}||w||^2 + C\sum_{i=1}^m (\xi_i + \hat\xi_i)-\sum_{i=1}^m\mu_i\xi_i-\sum_{i=1}^m \hat\mu_i\hat\xi_i + \sum_{i=1}^m \alpha_i(f(x_i)-y_i-\epsilon-\xi_i) \\ &\quad + \sum_{i=1}^m \hat\alpha_i(y_i-f(x_i)-\epsilon-\hat\xi_i) \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) 可得到SVR的对偶问题 max ⁡ α , α ^ ∑ i = 1 m y 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 \begin{aligned} \underset{\alpha,\hat\alpha}{\max} \quad & \sum_{i=1}^m y_i(\hat\alpha_i-\alpha_i)-\epsilon(\hat\alpha_i+\alpha) \\ & -\frac{1}{2} \sum_{i=1}^m\sum_{j=1}^m (\hat\alpha_i-\alpha_i)(\hat\alpha_j-\alpha_j)\pmb{x_i^Tx_j} \\ s.t. \quad & \sum_{i=1}^m(\hat\alpha_i-\alpha_i)=0 \\ & 0\le \hat\alpha_i,\alpha_i \le C \end{aligned} α,α^maxs.t.i=1myi(α^iαi)ϵ(α^i+α)21i=1mj=1m(α^iαi)(α^jαj)xiTxjxiTxjxiTxji=1m(α^iαi)=00α^i,αiC 需要满足的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 = 0 \begin{cases} \alpha_i (f(\pmb{x_i})-y_i-\epsilon-\xi_i)=0\\ \hat\alpha_i(y_i-f(\pmb{x_i})-\epsilon-\hat\xi_i) =0\\ \alpha_i\hat\alpha_i=0,\xi_i\hat\xi_i=0\\ (C-\alpha_i)\xi_i=0\\ (C-\hat\alpha)\hat\xi_i=0 \end{cases} αi(f(xixixi)yiϵξi)=0α^i(yif(xixixi)ϵξ^i)=0αiα^i=0,ξiξ^i=0(Cαi)ξi=0(Cα^)ξ^i=0 可以看出,当且仅当 f ( x i ) − y i − ϵ − ξ i = 0 f(\pmb{x_i})-y_i-\epsilon-\xi_i=0 f(xixixi)yiϵξi=0 α i \alpha_i αi能取非零值,当前仅当 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_i-f(\pmb{x_i})-\epsilon-\hat\xi_i=0 yif(xixixi)ϵξ^i=0s时 α ^ i \hat\alpha_i α^i能够取非零值。

则SVR的解形如 f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x i + b f(\pmb{x}) = \sum_{i=1}^m (\hat\alpha_i-\alpha_i)\pmb{x_i^Tx_i}+b f(xxx)=i=1m(α^iαi)xiTxixiTxixiTxi+b 考虑特征映射形式,则形如 w = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x i ) \pmb{w} = \sum_{i=1}^m (\hat\alpha_i-\alpha_i)\phi(\pmb{x_i}) www=i=1m(α^iαi)ϕ(xixixi) 则SVR可以表示为 f ( x ) = ∑ i = 1 m ( α ^ i − α i ) κ ( x , x i ) + b f(\pmb{x}) = \sum_{i=1}^m (\hat\alpha_i-\alpha_i)\kappa(\pmb{x,x_i})+b f(xxx)=i=1m(α^iαi)κ(x,xix,xix,xi)+b 其中 κ ( x , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa(\pmb{x,x_j})=\phi(\pmb{x_i})^T\phi(\pmb{x}_j) κ(x,xjx,xjx,xj)=ϕ(xixixi)Tϕ(xxxj)为核函数

核方法

定理 令 H \mathbb{H} H为核函数 κ \kappa κ对应的再生核希尔伯特空间, ∣ ∣ h ∣ ∣ H ||h||_{\mathbb{H}} hH表示 H \mathbb{H} H空间中关于 h h h的范数,对于任意单调递增函数 Ω : [ 0 , ∞ ] → R \Omega:[0,\infty]\rightarrow \mathbb{R} Ω:[0,]R和任意非负损失函数 ℓ : R m → [ 0 , ∞ ] \ell:\mathbb{R}^m \rightarrow [0,\infty] :Rm[0,],优化问题 min ⁡ h ∈ H = Ω ( ∣ ∣ h ∣ ∣ H ) + ℓ ( h ( x 1 ) , h ( x 2 ) , ⋯   , h ( x m ) ) \underset{h\in \mathbb{H}}{\min} = \Omega(||h||_{\mathbb{H}}) + \ell(h(x_1),h(x_2),\cdots,h(x_m)) hHmin=Ω(hH)+(h(x1),h(x2),,h(xm)) 的解总可写为: h ∗ ( x ) = ∑ i = 1 m α i κ ( x , x i ) h^{*}(\pmb{x}) =\sum_{i=1}^m \alpha_i\kappa(\pmb{x,x_i}) h(xxx)=i=1mαiκ(x,xix,xix,xi) 表示定义对损失函数没有限制,对正则化项 Ω \Omega Ω仅要求单调递增,甚至不要求 Ω \Omega Ω是凸函数,意味着对于一般的损失函数和正则化项,优化问题的最优解可以表示为核函数的线性组合。

人们发展出一系列的基于核函数的学习方法。通过核化(引入核函数)将线性学习器扩展为非线性学习器。

我们先假设可通过某种映射( ϕ : X → F \phi:\mathcal{X}\rightarrow \mathbb{F} ϕ:XF)将样本映射到一个特征空间 F \mathbb{F} F,然后在 F \mathbb{F} F中执行线性判别分析,以求得KLDA的学习目标 max ⁡ w J ( w ) = w T S b ϕ w w T S w b w \underset{\pmb{w}}{\max} J(\pmb{w}) = \frac{\pmb{w^TS_{b}^{\phi}w}}{\pmb{w^TS_{w}^bw}} wwwmaxJ(www)=wTSwbwwTSwbwwTSwbwwTSbϕwwTSbϕwwTSbϕw 其中 S b ϕ \pmb{S}_{b}^{\phi} SSSbϕ S w ϕ \pmb{S}_{w}^{\phi} SSSwϕ分别为训练样本在特征空间 F \mathbb{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类样本在特征空间 F \mathbb{F} F中的均衡为 μ i ϕ = 1 m ∑ x ∈ X i ϕ ( x ) \mu_i^{\phi} = \frac{1}{m}\sum_{x\in X_i}\phi(x) μiϕ=m1xXiϕ(x) 两个散度矩阵分别为 S b ϕ = ( μ 1 ϕ − μ o ϕ ) ( μ 1 ϕ − μ o ϕ ) T \pmb{S}_b^{\phi} = \pmb{(\mu_1^{\phi}-\mu_o^{\phi})(\mu_1^{\phi}-\mu_o^{\phi})^T} SSSbϕ=(μ1ϕμoϕ)(μ1ϕμoϕ)T(μ1ϕμoϕ)(μ1ϕμoϕ)T(μ1ϕμoϕ)(μ1ϕμoϕ)T

S w ϕ = ∑ i = 0 1 ∑ x ∈ X i ( ϕ ( x ) − μ i ϕ ) ( ϕ ( x ) − μ i ϕ ) T \pmb{S}_w^{\phi} = \sum_{i=0}^1 \sum_{x\in X_i} (\phi(x)-\mu_i^{\phi})(\phi(x)-\mu_i^{\phi})^T SSSwϕ=i=01xXi(ϕ(x)μiϕ)(ϕ(x)μiϕ)T

函数 h ( x ) h(\pmb{x}) h(xxx)可写为 h ( x ) = ∑ i = 1 m α i κ ( x , x i ) h(\pmb{x}) = \sum_{i=1}^m \alpha_i\kappa(\pmb{x,x_i}) h(xxx)=i=1mαiκ(x,xix,xix,xi) 可以得到 w = ∑ i = 1 m α i ϕ ( x i ) \pmb{w} = \sum_{i=1}^m \alpha_i \phi(\pmb{x_i}) www=i=1mαiϕ(xixixi) K ∈ R m × m K\in \mathbb{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类样本的指示向量。 μ ^ 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} \pmb{K1_0}\\ \hat\mu_1 = \frac{1}{m_1}\pmb{K1_1}\\ \pmb{M} = (\hat\mu_0-\hat\mu_1)(\hat\mu_0-\hat\mu_1)^T\\ N = KK^T-\sum_{i=0}^1 m_i\hat\mu_i\hat\mu_i^T μ^0=m01K10K10K10μ^1=m11K11K11K11MMM=(μ^0μ^1)(μ^0μ^1)TN=KKTi=01miμ^iμ^iT 等价为 max ⁡ α J ( α ) = α T M α α T N α \underset{\alpha}{\max} J(\alpha) = \frac{\alpha^TM\alpha}{\alpha^TN\alpha} αmaxJ(α)=αTNααTMα

最新回复(0)