w T x + b = 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0 wTx+b=0
证明:
r = ∣ w T x + b ∣ ∥ w ∥ r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|} r=∥w∥∣∣wTx+b∣∣
首先我们设点 x 0 x_0 x0到超平面的距离为 r r r,在超平面上的投影为 x 1 x_1 x1, 那么法向量 w w w一定与向量 x 1 x 0 → \overrightarrow{\boldsymbol{x_{1}} \boldsymbol{x_{0}}} x1x0平行。此时若考虑求两个向量内积的绝对值可得
∣ w T ⋅ x 1 x 0 → ∣ = ∥ w ∥ ⋅ ∣ ± 1 ∣ ⋅ ∥ x 1 x 0 → ∥ = ∥ w ∥ ⋅ r \left|\boldsymbol{w}^{\mathrm{T}} \cdot \overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right|=\|\boldsymbol{w}\| \cdot|\pm 1| \cdot\left\|\overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right\|=\|\boldsymbol{w}\| \cdot r ∣∣∣wT⋅x1x0∣∣∣=∥w∥⋅∣±1∣⋅∥∥∥x1x0∥∥∥=∥w∥⋅r
又因为 x 0 , x 1 , w ∈ R n \boldsymbol{x_0},\boldsymbol{x_1}, \boldsymbol{w} \in R^{n} x0,x1,w∈Rn
w T ⋅ x 1 x 0 → = w 1 ( x 0 1 − x 1 1 ) + w 2 ( x 0 2 − x 1 2 ) + … + w n ( x 0 n − x 1 n ) = w 1 x 0 1 + w 2 x 0 2 + … + w n x 0 n − ( w 1 x 1 1 + w 2 x 1 2 + … + w n x 1 n ) = w 1 x 0 1 + w 2 x 0 2 + … + w n x 0 n − ( − b ) = w 1 x 0 1 + w 2 x 0 2 + … + w n x 0 n + b = w T x 0 + b \begin{aligned} \boldsymbol{w}^{\mathrm{T}} \cdot \overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}} &=w_{1}\left(x_{0}^{1}-x_{1}^{1}\right)+w_{2}\left(x_{0}^{2}-x_{1}^{2}\right)+\ldots+w_{n}\left(x_{0}^{n}-x_{1}^{n}\right) \\ &=w_{1} x_{0}^{1}+w_{2} x_{0}^{2}+\ldots+w_{n} x_{0}^{n}-\left(w_{1} x_{1}^{1}+w_{2} x_{1}^{2}+\ldots+w_{n} x_{1}^{n}\right) \\ &=w_{1} x_{0}^{1}+w_{2} x_{0}^{2}+\ldots+w_{n} x_{0}^{n}-(-b) \\ &=w_{1} x_{0}^{1}+w_{2} x_{0}^{2}+\ldots+w_{n} x_{0}^{n}+b=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{0}+b \end{aligned} wT⋅x1x0=w1(x01−x11)+w2(x02−x12)+…+wn(x0n−x1n)=w1x01+w2x02+…+wnx0n−(w1x11+w2x12+…+wnx1n)=w1x01+w2x02+…+wnx0n−(−b)=w1x01+w2x02+…+wnx0n+b=wTx0+b
【可以理解 x 0 \boldsymbol{x_0} x0这个从坐标原点为起点的向量先投影在法向量 w \boldsymbol{w} w上,然后减去 b b b这个原点到超平面的距离,就得到了 x 1 x 0 → \overrightarrow{\boldsymbol{x_{1}} \boldsymbol{x_{0}}} x1x0在法向量上的投影长度】
所以
∣ w T ⋅ x 1 x 0 → ∣ = ∣ w T x 0 + b ∣ = ∥ w ∥ ⋅ r ⇒ r = ∣ w T x + b ∣ ∥ w ∥ \left|\boldsymbol{w}^{\mathrm{T}} \cdot \overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right|=\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{0}+b\right|=\|\boldsymbol{w}\| \cdot r\\ \Rightarrow r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|} ∣∣∣wT⋅x1x0∣∣∣=∣∣wTx0+b∣∣=∥w∥⋅r⇒r=∥w∥∣∣wTx+b∣∣
我们又定义函数间隔:给定数据集 D = { ( x 1 , y 1 ) ⋅ ( x 2 , y 2 ) … ( x m ⋅ y m ) } , y i ∈ { − 1 , + 1 } D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right) \cdot\left(\boldsymbol{x}_{2}, y_{2}\right) \ldots\left(\boldsymbol{x}_{m} \cdot y_{m}\right)\right\}, y_{i} \in\{-1,+1\} D={(x1,y1)⋅(x2,y2)…(xm⋅ym)},yi∈{−1,+1}和超平面 w T x + b = 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0 wTx+b=0。这里 y i y_i yi表示样本标签值。定义超平面关于样本 ( x i , y i ) \left(\boldsymbol{x}_{i}, y_{i}\right) (xi,yi)的函数间隔为
γ ^ i = y i ( w T x i + b ) \hat{\gamma}_{i}=y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) γ^i=yi(wTxi+b)
定义超平面关于数据集的间隔函数为超平面关于数据集中所有样本的函数间隔最小值,也就是
γ ^ = min 1 , 2 , … , m γ ^ i \hat{\gamma}=\min _{1,2, \ldots, m} \hat{\gamma}_{i} γ^=1,2,…,mminγ^i
此时,样本数据集合超平面有如上图三种情况:
显然一个好的超平面应该同时满足:
如果只是优化 γ ^ \hat{\gamma} γ^, 也就是最大化 γ ^ \hat{\gamma} γ^( max γ ^ \text{max} \; \hat{\gamma} maxγ^), 让所有的 γ i ^ \hat{\gamma_{i}} γi^都大于等于0,只能保证第一点。
因为如果我们对超平面的法向量和位移项进行等倍缩放,超平面本身是不会变的,但是公式(6)中的 γ ^ \hat{\gamma} γ^会等倍缩放。
λ γ ^ i = y i ( λ w T x i + λ b ) \lambda\hat{\gamma}_{i}=y_{i}\left(\lambda\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+\lambda b\right) λγ^i=yi(λwTxi+λb)
【也即是说我们可以在固定超平面的情况下,无限放大 γ ^ \hat{\gamma} γ^,我们求出 max γ ^ \text{max}\;\hat{\gamma} maxγ^只能保证分开正负样本集合,无法保证超平面在正负样本正中间。为了实现第二点,我们要把这个缩放效应从优化过程中去除掉,因此我们要引入几何间隔概念。】
定义几何间隔:定义超平面关于样本 ( x i , y i ) \left(\boldsymbol{x}_{i}, y_{i}\right) (xi,yi)的几何间隔为
γ i = γ ^ i ∥ w ∥ = λ γ ^ i λ ∥ w ∥ \gamma_{i}=\frac{\hat{\gamma}_{i}}{\|\boldsymbol{w}\|}=\frac{\lambda \hat{\gamma}_{i}}{\lambda\|\boldsymbol{w}\|} γi=∥w∥γ^i=λ∥w∥λγ^i
同样,定义超平面关于数据集的几何间隔为超平面关于数据集中所有样本的几何间隔最小值,也就是
γ = min 1 , 2 , … , m γ i = γ ^ ∥ w ∥ \gamma=\min _{1,2, \ldots, m} \gamma_{i}=\frac{\hat{\gamma}}{\|\boldsymbol{w}\|} γ=1,2,…,mminγi=∥w∥γ^
此时针对 γ \gamma γ优化到最大值,就能保证超平面在正负样本集合的正中间。因为此时我们优化的对象是距离超平面最近的样本点投影到超平面法向量上的距离,让最近点离超平面尽可能远
γ = γ ^ ∥ w ∥ = y m i n ( w T x m i n + b ) ∥ w ∥ = ∣ w T x m i n + b ∣ ∥ w ∥ \gamma=\frac{\hat{\gamma}}{\|\boldsymbol{w}\|}= \dfrac{y_{min}(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{min}+b)}{\|\boldsymbol{w}\|}=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{min}+b\right|}{\|\boldsymbol{w}\|} γ=∥w∥γ^=∥w∥ymin(wTxmin+b)=∥w∥∣∣wTxmin+b∣∣
SVM的核心思想:求一个与已知数据集几何间隔最大的那个超平面,也就是
max γ s.t. γ i ≥ γ , i = 1 , 2 , … , m ⇒ max γ ^ ∥ w ∥ s.t. γ i ∥ w ∥ ≥ γ ^ ∥ w ∥ , i = 1 , 2 , … , m ⇒ max γ ^ ∥ w ∥ s.t. y i ( w T x i + b ) ≥ γ ^ , i = 1 , 2 , … , m ⇒ max 1 ∥ w ∥ s.t. y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , … , m ⇒ min w , b 1 2 ∥ w ∥ 2 s.t. 1 − y i ( w T x i + b ) ⩽ 0 , i = 1 , 2 , … , m \begin{aligned} \max & \gamma \\ \text { s.t. } & \gamma_{i} \geq \gamma, \quad i=1,2, \ldots, m \\ \Rightarrow \max & \frac{\hat{\gamma}}{\|\boldsymbol{w}\|} \\ \text { s.t. } & \frac{\gamma_{i}}{\|\boldsymbol{w}\|} \geq \frac{\hat{\gamma}}{\|\boldsymbol{w}\|}, \quad i=1,2, \ldots, m \\ \Rightarrow \max & \frac{\hat{\gamma}}{\|\boldsymbol{w}\|} \\ \text { s.t. } & y_{i}\left(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b\right) \geq \hat{\gamma}, \quad i=1,2, \ldots, m \\ \Rightarrow \max & \frac{1}{\|\boldsymbol{w}\|} \\ \text { s.t. } & y_{i}\left(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b\right) \geq 1, \quad i=1,2, \ldots, m\\ \Rightarrow \min _{\boldsymbol{w}, b} & \frac{1}{2}\|\boldsymbol{w}\|^{2} \\ \text { s.t. } & 1-y_{i}\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right) \leqslant 0, \quad i=1,2, \ldots, m \end{aligned} max s.t. ⇒max s.t. ⇒max s.t. ⇒max s.t. ⇒w,bmin s.t. γγi≥γ,i=1,2,…,m∥w∥γ^∥w∥γi≥∥w∥γ^,i=1,2,…,m∥w∥γ^yi(wTxi+b)≥γ^,i=1,2,…,m∥w∥1yi(wTxi+b)≥1,i=1,2,…,m21∥w∥21−yi(wTxi+b)⩽0,i=1,2,…,m
【这里从第二步到第三步有个小细节要注意。因为针对一个超平面,假设正负样本离超平面最近距离分别是 a 1 a_1 a1和 a 2 a_2 a2, 那么优化后应该有 a 1 = a 2 = max γ a_1=a_2=\max\;\gamma a1=a2=maxγ.假设此时的超平面参数满足:
λ w ∗ T x + λ b ∗ = 0 \lambda \boldsymbol{w}^{*T}\boldsymbol{x}+\lambda b^{*}=0 λw∗Tx+λb∗=0
我们可以发现无法确认一组确定的超平面参数 w ∗ , b ∗ \boldsymbol{w^{*}}, b^{*} w∗,b∗, 因为一个超平面无法确认一组参数!其根本原因是,我们对参数缩放 λ \lambda λ倍的时候, γ ^ \hat{\gamma} γ^和 ∥ w ∥ \|\boldsymbol{w}\| ∥w∥也被缩放了 λ \lambda λ倍。也就是优化目标 γ ^ ∥ w ∥ = λ γ ^ λ ∥ w ∥ \dfrac{\hat{\gamma}}{\|\boldsymbol{w}\|}=\dfrac{\lambda\hat{\gamma}}{\lambda\|\boldsymbol{w}\|} ∥w∥γ^=λ∥w∥λγ^,还有 s.t. y i λ ( w T x i + b ) ≥ λ γ ^ \text { s.t. } y_{i}\lambda\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right) \geq \lambda\hat{\gamma} s.t. yiλ(wTxi+b)≥λγ^. 所以无法优化出唯一解。为了打破“平衡”,要对平面参数或者 γ ^ \hat{\gamma} γ^进行约束。因为对平面参数约束增加求解难度,所以我们第二步到第三步将 γ ^ = 1 \hat{\gamma}=1 γ^=1设为常数。】
此优化问题本身就是一个很容易求解的凸优化问题,但是还是要用拉格朗日对偶求解。
在scikit-learn的dual参数就是关于这第二点进行设置的。反过来,如果不满足这两个条件,尤其是样本个数很大时,用不用对偶求解区别不大。所以dual=False, if n_samples>n_features.
min x f ( x ) s.t. g i ( x ) ≤ 0 ( i = 1 , … , m ) h j ( x ) = 0 ( j = 1 … n ) \begin{array}{ll} \underset{\boldsymbol{x}}{\min} & f(\boldsymbol{x}) \\ \text { s.t. } & g_{i}(\boldsymbol{x}) \leq 0 \quad(i=1, \ldots, m) \\ & h_{j}(\boldsymbol{x})=0 \quad(j=1 \ldots n) \end{array} xmin s.t. f(x)gi(x)≤0(i=1,…,m)hj(x)=0(j=1…n)
设定义域为: D = dom f ∩ ⋂ i = 1 m d o m g i ∩ ⋂ j = 1 n d o m h j D=\operatorname{dom} f \cap \bigcap_{i=1}^{m} d o m g_{i} \cap \bigcap_{j=1}^{n} d o m h_{j} D=domf∩⋂i=1mdomgi∩⋂j=1ndomhj, 同时可行集为: D ~ = { x ∣ x ∈ D , g i ( x ) ≤ 0. h j ( x ) = 0 } \tilde{D}=\left\{\boldsymbol{x} \mid \boldsymbol{x} \in D, g_{i}(\boldsymbol{x}) \leq 0 . h_{j}(\boldsymbol{x})=0\right\} D~={x∣x∈D,gi(x)≤0.hj(x)=0} 【这里m, n不是样本数】
拉格朗日对偶函数 Γ \Gamma Γ(以拉格朗日乘子( μ , λ \mu, \lambda μ,λ)为自变量的函数):
Γ ( μ , λ ) = inf x ∈ D L ( x , μ , λ ) = inf x ∈ D ( f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 n λ j h j ( x ) ) \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda})=\inf _{\boldsymbol{x} \in D} L(\boldsymbol{x}, \boldsymbol{\mu}, \boldsymbol{\lambda})=\inf _{\boldsymbol{x} \in D}\left(f(\boldsymbol{x})+\sum_{i=1}^{m} \mu_{i} g_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \lambda_{j} h_{j}(\boldsymbol{x})\right) Γ(μ,λ)=x∈DinfL(x,μ,λ)=x∈Dinf(f(x)+i=1∑mμigi(x)+j=1∑nλjhj(x))
【inf:下确界,函数下界的最大值,下确界和最小值不完全等价】
【 μ = ( μ 1 , μ 2 , ⋯ , μ m ) ∈ R m , λ = ( λ 1 , λ 2 , ⋯ , λ n ) ∈ R n \boldsymbol{\mu} = (\mu_1, \mu_2, \cdots, \mu_m) \in R^{m}, \boldsymbol{\lambda} = (\lambda_1, \lambda_2, \cdots, \lambda_n) \in R^{n} μ=(μ1,μ2,⋯,μm)∈Rm,λ=(λ1,λ2,⋯,λn)∈Rn】
我们来证明第2点:
因为当 μ ≥ 0 \mu\geq0 μ≥0时, 对于可行集中的点 x ~ ∈ D ~ \tilde{x}\in\tilde{D} x~∈D~, 下式恒成立:
∑ i = 1 n μ i g i ( x ~ ) + ∑ j = 1 m λ j h j ( x ~ ) ≤ 0 \sum_{i=1}^{n} \mu_{i} g_{i}(\tilde{\boldsymbol{x}})+\sum_{j=1}^{m} \lambda_{j} h_{j}(\tilde{\boldsymbol{x}}) \leq 0 i=1∑nμigi(x~)+j=1∑mλjhj(x~)≤0
又根据拉格朗日函数定义,所以我们有
f ( x ~ ) + ∑ i = 1 m μ i g i ( x ~ ) + ∑ j = 1 n λ j h j ( x ~ ) ≤ f ( x ~ ) f(\tilde{\boldsymbol{x}})+\sum_{i=1}^{m} \mu_{i} g_{i}(\tilde{\boldsymbol{x}})+\sum_{j=1}^{n} \lambda_{j} h_{j}(\tilde{\boldsymbol{x}})\leq f(\tilde{\boldsymbol{x}}) f(x~)+i=1∑mμigi(x~)+j=1∑nλjhj(x~)≤f(x~)
又因为 D ~ ∈ D \tilde{D}\in D D~∈D, 所以可行集中的拉格朗日函数最小值一定大于等于定义域上拉格朗日函数的下确界,也就是 inf x ∈ D L ( x , μ , λ ) ≤ L ( x ~ , μ , λ ) \inf _{\boldsymbol{x} \in D} L(\boldsymbol{x}, \boldsymbol{\mu}, \boldsymbol{\lambda}) \leq L(\tilde{\boldsymbol{x}}, \boldsymbol{\mu}, \boldsymbol{\lambda}) infx∈DL(x,μ,λ)≤L(x~,μ,λ)
所以我们有
Γ ( μ , λ ) = inf x ∈ D L ( x , μ , λ ) ≤ L ( x ~ , μ , λ ) ≤ f ( x ~ ) Γ ( μ , λ ) ≤ min { f ( x ~ ) } = p ∗ \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda})=\inf _{\boldsymbol{x} \in D} L(\boldsymbol{x}, \boldsymbol{\mu}, \boldsymbol{\lambda}) \leq L(\tilde{\boldsymbol{x}}, \boldsymbol{\mu}, \boldsymbol{\lambda}) \leq f(\tilde{\boldsymbol{x}})\\ \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda}) \leq \min \{f(\tilde{\boldsymbol{x}})\}=p^{*} Γ(μ,λ)=x∈DinfL(x,μ,λ)≤L(x~,μ,λ)≤f(x~)Γ(μ,λ)≤min{f(x~)}=p∗
因此拉格朗日对偶函数就是优化问题 f ( x ~ ) f(\tilde{\boldsymbol{x}}) f(x~)最优值 p ∗ p^{*} p∗的下界。于是我们接下来就要知道对偶函数的最大值 d ∗ d^{*} d∗是什么。
求对偶函数最大值的优化问题为拉格朗日对偶问题:
max μ , λ Γ ( μ , λ ) s.t. μ ≥ 0 \begin{array}{cl} \underset{\boldsymbol{\mu}, \boldsymbol{\lambda}}{\max} & \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda}) \\ \text { s.t. } & \boldsymbol{\mu} \geq 0 \end{array} μ,λmax s.t. Γ(μ,λ)μ≥0
设该优化问题的最优值为 d ∗ d^{*} d∗, 显然 d ∗ ≤ p ∗ d^{*} \leq p^{*} d∗≤p∗, 此时称为“弱对偶性”成立。如果 d ∗ = p ∗ d^{*}= p^{*} d∗=p∗,则称为“强对偶性”成立。
slater条件:若主问题是凸优化问题,且可行集中存在一点能使得所有不等式约束的不等 号成立,则强对偶性成立。【强对偶性成立的条件不光slater条件】
我们先求SVM的对偶函数:
Γ ( μ , λ ) = inf x ∈ D L ( x , μ , λ ) = inf x ∈ D ( f ( x ) + ∑ i = 1 m μ i g i ( x ) + ∑ j = 1 n λ j h j ( x ) ) = inf w , b ∈ D ( 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) ) = inf w , b ∈ D ( 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i − ∑ i = 1 m α i y i b ) = inf w , b ∈ D ( 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i − b ∑ i = 1 m α i y i ) \begin{aligned} \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda}) &=\inf _{\boldsymbol{x} \in D} L(\boldsymbol{x}, \boldsymbol{\mu}, \boldsymbol{\lambda})=\inf _{\boldsymbol{x} \in D}\left(f(\boldsymbol{x})+\sum_{i=1}^{m} \mu_{i} g_{i}(\boldsymbol{x})+\sum_{j=1}^{n} \lambda_{j} h_{j}(\boldsymbol{x})\right) \\ &=\inf _{w, b \in D}\left(\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}\left(1-y_{i}\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right)\right)\right) \\ &=\inf _{\boldsymbol{w}, b \in D}\left(\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} b\right) \\ &=\inf _{w, b \in D}\left(\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}-b \sum_{i=1}^{m} \alpha_{i} y_{i}\right) \end{aligned} Γ(μ,λ)=x∈DinfL(x,μ,λ)=x∈Dinf(f(x)+i=1∑mμigi(x)+j=1∑nλjhj(x))=w,b∈Dinf(21∥w∥2+i=1∑mαi(1−yi(wTxi+b)))=w,b∈Dinf(21∥w∥2+i=1∑mαi−i=1∑mαiyiwTxi−i=1∑mαiyib)=w,b∈Dinf(21∥w∥2+i=1∑mαi−i=1∑mαiyiwTxi−bi=1∑mαiyi)
此时,因为b可以取正负无穷,所以如果 ∑ i = 1 m α i y i ≠ 0 \sum_{i=1}^{m} \alpha_{i} y_{i}\neq 0 ∑i=1mαiyi=0 ,对偶函数就会取到正负无穷。所以
Γ ( μ , λ ) = { inf w ∈ D { 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i } , if ∑ i = 1 m α i y i = 0 − ∞ , otherwise \Gamma(\boldsymbol{\mu}, \boldsymbol{\lambda})= \begin{cases}\inf _{w \in D}\left\{\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}\right\}, & \text { if } \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \\ -\infty, & \text { otherwise }\end{cases} Γ(μ,λ)={infw∈D{21∥w∥2+∑i=1mαi−∑i=1mαiyiwTxi},−∞, if ∑i=1mαiyi=0 otherwise
【这里又要注意,因为 1 − y i ( w T x i + b ) ⩽ 0 , i = 1 , 2 , … , m 1-y_{i}\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right) \leqslant 0, \quad i=1,2, \ldots, m 1−yi(wTxi+b)⩽0,i=1,2,…,m中的不等式数量又变回了样本数量,所以这里m代表样本数量】
所以对偶问题转化为:
max α { inf w ∈ D { 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i } , if ∑ i = 1 m α i y i = 0 − ∞ , otherwise s.t. α ≥ 0 \begin{aligned} &\max_{\alpha} \begin{cases}\inf _{w \in D}\left\{\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}\right\}, & \text { if } \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \\ -\infty, & \text { otherwise }\end{cases}\\ &\text { s.t. } \boldsymbol{\alpha} \geq 0 \end{aligned} αmax{infw∈D{21∥w∥2+∑i=1mαi−∑i=1mαiyiwTxi},−∞, if ∑i=1mαiyi=0 otherwise s.t. α≥0
也就是:
max α inf w ∈ D { 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i } s.t. α ≥ 0 ∑ i = 1 m α i y i = 0 \begin{array}{ll} \max _{\alpha} & \inf _{w \in D}\left\{\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}\right\} \\ \text { s.t. } & \boldsymbol{\alpha} \geq 0 \\ & \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \end{array} maxα s.t. infw∈D{21∥w∥2+∑i=1mαi−∑i=1mαiyiwTxi}α≥0∑i=1mαiyi=0
其中:
inf w ∈ D { 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i } = min w ∈ D { 1 2 ∥ w ∥ 2 + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i } = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \begin{aligned} & \inf _{\boldsymbol{w} \in D}\left\{\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}\right\} \\ =& \min _{\boldsymbol{w} \in D}\left\{\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}-\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{w}^{T} \boldsymbol{x}_{i}\right\} \\ =& \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} \boldsymbol{x}_{i}^{T} \boldsymbol{x}_{j} \end{aligned} ==w∈Dinf{21∥w∥2+i=1∑mαi−i=1∑mαiyiwTxi}w∈Dmin{21∥w∥2+i=1∑mαi−i=1∑mαiyiwTxi}i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
对第二行求偏导得到关于 w w w的解 w = ∑ i = 1 m α i y i x i \boldsymbol{w}=\sum^{m}_{i=1}\alpha_{i}y_{i}\boldsymbol{x_i} w=∑i=1mαiyixi,然后代入回去即可。而且因为括号中整个式子是个凸函数,inf=min。
所以,SVM的对偶问题的具体形式为:
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. α ≥ 0 ∑ i = 1 m α i y i = 0 \begin{array}{ll} \max _{\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} \boldsymbol{x}_{i}^{T} \boldsymbol{x}_{j} \\ \text { s.t. } & \boldsymbol{\alpha} \geq 0 \\ & \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \end{array} maxα s.t. ∑i=1mαi−21∑i=1m∑j=1mαiαjyiyjxiTxjα≥0∑i=1mαiyi=0
这个就是西瓜书中的式6.11。
引入对偶问题解决svm的理由:
SVM的对偶问题的具体形式不光满足以上两个s.t.条件,还满足KKT条件(一个局部最优解的必要条件)。
针对优化问题:
min f ( x ) s.t. g i ( x ) ≤ 0 ( i = 1 , … , m ) h j ( x ) = 0 ( j = 1 , … , n ) \begin{array}{ll} \min & f(x) \\ \text { s.t. } & g_{i}(x) \leq 0 \quad(i=1, \ldots, m) \\ & h_{j}(x)=0 \quad(j=1, \ldots, n) \end{array} min s.t. f(x)gi(x)≤0(i=1,…,m)hj(x)=0(j=1,…,n)
设 f ( x ) , g i ( x ) , h j ( x ) f(x), g_{i}(x), h_{j}(x) f(x),gi(x),hj(x)具有连续的一阶偏导数, x ∗ x^{*} x∗是局部问题的最优解且满足约束限制条件,那么一定存在拉格朗日乘子 μ ∗ = ( μ 1 ∗ , μ 2 ∗ , … , μ m ∗ ) T , λ ∗ = ( λ 1 ∗ , λ 2 ∗ … , λ u ∗ ) T \boldsymbol{\mu}^{*}=\left(\mu_{1}^{*}, \mu_{2}^{*}, \ldots, \mu_{m}^{*}\right)^{T}, \boldsymbol{\lambda}^{*}=\left(\lambda_{1}^{*}, \lambda_{2}^{*} \ldots, \lambda_{u}^{*}\right)^{T} μ∗=(μ1∗,μ2∗,…,μm∗)T,λ∗=(λ1∗,λ2∗…,λu∗)T使得:
{ ∇ x L ( x ∗ , μ ∗ , λ ∗ ) = ∇ f ( x ∗ ) + ∑ i = 1 m μ i ∗ ∇ g i ( x ∗ ) + ∑ j = 1 n λ j ∗ ∇ h j ( x ∗ ) = 0 h j ( x ∗ ) = 0 g i ( x ∗ ) ≤ 0 μ i ∗ ≥ 0 μ i ∗ g i ( x ∗ ) = 0 \left\{\begin{array}{l} \nabla_{x} L\left(\boldsymbol{x}^{*} , \boldsymbol{\mu}^{*} , \boldsymbol{\lambda}^{*}\right)=\nabla f\left(\boldsymbol{x}^{*}\right)+\sum_{i=1}^{m} \mu_{i}^{*} \nabla g_{i}\left(\boldsymbol{x}^{*}\right)+\sum_{j=1}^{n} \lambda_{j}^{*} \nabla h_{j}\left(\boldsymbol{x}^{*}\right)=0 \\ h_{j}\left(\boldsymbol{x}^{*}\right)=0 \\ g_{i}\left(\boldsymbol{x}^{*}\right) \leq 0 \\ \mu_{i}^{*} \geq 0 \\ \mu_{i}^{*}g_{i}\left(\boldsymbol{x}^{*}\right)=0 \end{array}\right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧∇xL(x∗,μ∗,λ∗)=∇f(x∗)+∑i=1mμi∗∇gi(x∗)+∑j=1nλj∗∇hj(x∗)=0hj(x∗)=0gi(x∗)≤0μi∗≥0μi∗gi(x∗)=0
(约束限制条件有哪些,可参考文献:王燕军, 梁治安. 最优化基础理论与方法[M]. 复旦大学出版社, 2011.)
以上就是KKT条件。
回到SVM
min w , b 1 2 ∥ w ∥ 2 s.t. 1 − y i ( w T x i + b ) ⩽ 0 , i = 1 , 2 , … , m \begin{array}{ll} \min _{\boldsymbol{w}, b} & \frac{1}{2}\|\boldsymbol{w}\|^{2} \\ \text { s.t. } & 1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \leqslant 0, \quad i=1,2, \ldots, m \end{array} minw,b s.t. 21∥w∥21−yi(wTxi+b)⩽0,i=1,2,…,m
SVM问题本身是个凸优化问题,只有一个唯一的全局解,所以我们要求解的( w ∗ , b ∗ \boldsymbol{w}^{*}, \boldsymbol{b}^{*} w∗,b∗)就是KKT条件中的 x ∗ \boldsymbol{x}^{*} x∗。如果KKT条件要成为( w ∗ , b ∗ \boldsymbol{w}^{*}, \boldsymbol{b}^{*} w∗,b∗)的必要条件的话,要满足可导和约束限制条件。Slater条件就是其中之一。所以全局最优解( w ∗ , b ∗ \boldsymbol{w}^{*}, \boldsymbol{b}^{*} w∗,b∗)一定满足KKT条件。
SVM的KKT条件(充分+必要。充分性的证明参见参考文献中的定理4.4.4):
{ ∇ w , b L ( w ∗ , b ∗ , α ∗ ) = ∇ w , b ( 1 2 ∥ w ∗ ∥ 2 + ∑ i = 1 m a i ( 1 − y i ( w ∗ T x i + b ∗ ) ) ) = 0 1 − y i ( w ∗ T x i + b ∗ ) ≤ 0 a i ∗ ≥ 0 a i ∗ ( 1 − y i ( w ∗ T x i + b ∗ ) ) = 0 \left\{\begin{array}{l} \nabla_{\boldsymbol{w}, b} L\left(\boldsymbol{w}^{*}, b^{*}, \boldsymbol{\alpha}^{*}\right)=\nabla_{\boldsymbol{w}, b}\left(\frac{1}{2}\left\|\boldsymbol{w}^{*}\right\|^{2}+\sum_{i=1}^{m} a_{i}\left(1-y_{i}\left(\boldsymbol{w}^{* T} x_{i}+b^{*}\right)\right)\right)=0 \\ 1-y_{i}\left(\boldsymbol{w}^{* T} \boldsymbol{x}_{i}+b^{*}\right) \leq 0 \\ a_{i}^{*} \geq 0 \\ a_{i}^{*}\left(1-y_{i}\left(\boldsymbol{w}^{* T} \boldsymbol{x}_{i}+b^{*}\right)\right)=0 \end{array}\right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧∇w,bL(w∗,b∗,α∗)=∇w,b(21∥w∗∥2+∑i=1mai(1−yi(w∗Txi+b∗)))=01−yi(w∗Txi+b∗)≤0ai∗≥0ai∗(1−yi(w∗Txi+b∗))=0
而且KKT条件是SVM全局最优解的充分条件。