\qquad 支持向量机(Support Vector Machines)的核心思想是通过在特征空间上寻找一个线性超平面,将数据进行二分类且每类数据到超平面的间隔达到最大。其基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。SVM的学习策略是将问题转化为凸二次规划问题并求解。
\qquad 线性可分支持向量机:训练数据线性可分时,采用硬间隔最大化,学习一个线性分类器。
\qquad 线性支持向量机:训练数据近似可分,此时采用软间隔最大化,学习一个线性分类器。
\qquad 非线性支持向量机:训练数据完全线性不可分时,使用核技巧(kernel trick)及软间隔最大化,学习一个实质上的非线性支持向量机
\qquad 假设给定一个特征空间上的训练数据集
T = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , ⋯ , ( x ⃗ N , y N ) , } T=\{(\vec{x}_{1},y_{1}),(\vec{x}_{2},y_{2}), \cdots ,(\vec{x}_{N},y_{N}),\} T={(x1,y1),(x2,y2),⋯,(xN,yN),}
\qquad 其中,
x ⃗ i = ( x 1 , x 2 , x 3 ⋯ , x n ) T ∈ R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , 3 , ⋯ , N \vec{x}_i=(x_{1},x_{2},x_{3} \cdots ,x_{n})^{T} \in R^{n}, \\ \quad y_{i} \in \{+1,-1\}, \quad i=1,2,3, \cdots ,N \\ xi=(x1,x2,x3⋯,xn)T∈Rn,yi∈{+1,−1},i=1,2,3,⋯,N
x ⃗ i \qquad \vec{x}_i xi 是第i个特征向量,也称作实例, y i y_{i} yi 是实例 x ⃗ i \vec{x}_i xi 的标记,其中 + 1 +1 +1 表示为正例; − 1 -1 −1 表示为负例。假设数据集线性可分。
\qquad 线性可分支持向量机即是要在两组数据之间找到一个间隔超平面,将两组数据完美的划分开。此外,为了考虑模型的泛化效果,使得数据的扰动对于分类的结果影响尽可能的小,那么就需要超平面分别到两组数据的间隔达到最大,即对于距离超平面最近的点,也要能以尽可能高的确信度将它们分隔开,在间隔边界处的特征向量也被成为支持向量(Support Vector),如下图所示。
\qquad 线性可分支持向量机基本模型如下:
{ w ⃗ T ⋅ x ⃗ + b = 0 f ( x ⃗ ) = s i g n ( w ⃗ T ⋅ x ⃗ + b ) \begin{cases} &\vec{w}^{T}\cdot \vec{x}+b=0 \\ &f(\vec{x})=sign(\vec{w}^{T}\cdot \vec{x}+b) \end{cases} {wT⋅x+b=0f(x)=sign(wT⋅x+b)
\qquad 其中, w ⃗ T ⋅ x ⃗ + b = 0 \vec{w}^{T} \cdot \vec{x}+b=0 wT⋅x+b=0 是超平面方程, w ⃗ \vec{w} w 是超平面的法向量, w ⃗ = ( w 1 , w 2 , ⋯ , w n ) T \vec{w}=(w_{1},w_{2}, \cdots ,w_{n})^{T} w=(w1,w2,⋯,wn)T。 f ( x ) f(x) f(x) 是得到的分类器, s i g n ( x ) sign(x) sign(x) 为符号函数,输出为正,则得到的是正例;输出为负,则得到的是反例。
函数间隔
\qquad 引入函数间隔,可用于定性表示分类的正确性以及确信程度。由于超平面方程为: w ⃗ T ⋅ x ⃗ + b = 0 \vec{w}^{T}\cdot \vec{x}+b=0 \quad wT⋅x+b=0 不在超平面上的实例点 ( x ⃗ i , y i ) (\vec{x}_{i},y_{i}) (xi,yi)代入超平面方程后会得到一个非零数 ( w ⃗ T ⋅ x ⃗ i + b ) (\vec{w}^{T}\cdot \vec{x}_{i}+b) (wT⋅xi+b),其与实例的标记 y i y_{i} yi的乘积定义为实例点到超平面的函数间隔,记作:
γ ^ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) \hat{\gamma}_{i}=y_{i}(\vec{w}^{T}\cdot \vec{x}_{i}+b) γ^i=yi(wT⋅xi+b)
γ ^ i \qquad \hat{\gamma}_{i} γ^i 为正,则分类正确;反之,则分类错误。 γ ^ i \hat{\gamma}_{i} γ^i 的绝对值越大,表示分类结果的确信程度越高。
\qquad 因此,定义训练集与超平面的函数间隔即为所有实例点与超平面函数距离的最小值,记作:
γ ^ = min i = 1 , 2 , 3 , ⋯ , N γ ^ i \hat{\gamma}=\min_{i=1,2,3, \cdots ,N}\hat{\gamma}_{i} γ^=i=1,2,3,⋯,Nminγ^i
几何间隔
\qquad 在二维平面直角坐标系中求点到直线的距离公式为:
l = ∣ a x + b y + c ∣ a 2 + b 2 l=\frac{|ax+by+c|}{\sqrt{a^{2}+b^{2}}} l=a2+b2∣ax+by+c∣
\qquad 那么,推广到更高维的超平面 H : w ⃗ T ⋅ x ⃗ + b = 0 H:\vec{w}^{T}\cdot \vec{x}+b=0 H:wT⋅x+b=0 上,可以得到更加一般性的距离公式:
L = ∣ w ⃗ T ⋅ x ⃗ + b ∣ ∥ w ⃗ ∥ L=\frac{|\vec{w}^{T}\cdot \vec{x}+b|}{\lVert \vec{w} \rVert} L=∥w∥∣wT⋅x+b∣
其中, ∥ w ⃗ ∥ \lVert \vec{w} \rVert ∥w∥ 是法向量 w ⃗ \vec{w} w 的二阶范数, ∥ w ⃗ ∥ = ∑ i = 1 n w i 2 \lVert \vec{w} \rVert=\sqrt{\sum_{i=1}^n{w}_i^{2}} ∥w∥=∑i=1nwi2 。
\qquad 由于在训练数据时,实例点的标记 y i ∈ { + 1 , − 1 } y_{i} \in \{+1,-1\} yi∈{+1,−1},则可以将距离公式中的绝对值符号去掉,用各个实例点的标记值替代,定义为实例点到超平面的几何间隔,记作:
γ i = y i ( w T ⋅ x ⃗ i + b ) ∥ w ⃗ ∥ \gamma_i=\frac{y_i(w^{T}\cdot \vec{x}_{i}+b)}{\lVert \vec{w} \rVert} γi=∥w∥yi(wT⋅xi+b)
\qquad 与函数间隔类似, γ i \gamma_i γi 为正,则分类正确;反之,则分类错误。 γ i \gamma_{i} γi 的绝对值越大,表示分类结果的确信程度越高。
\qquad 因此,定义训练集与超平面的几何间隔即为所有实例点与超平面几何距离的最小值,记作:
γ = min i = 1 , 2 , ⋯ , N γ i \gamma=\min_{i=1,2,\cdots,N}\gamma_i γ=i=1,2,⋯,Nminγi
函数间隔与几何间隔的关系
\qquad 由上述定义得,
\qquad 函数间隔:
γ ^ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) \hat{\gamma}_{i}=y_{i}(\vec{w}^{T}\cdot \vec{x}_{i}+b) γ^i=yi(wT⋅xi+b)
\qquad 几何间隔:
γ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) ∥ w ⃗ ∥ \gamma_i=\frac{y_i(\vec{w}^{T}\cdot \vec{x}_{i}+b)}{\lVert \vec{w} \rVert} γi=∥w∥yi(wT⋅xi+b)
\qquad 得到二者之间的关系:
γ i = γ i ^ ∥ w ⃗ ∥ \gamma_i=\frac{\hat{\gamma_i}}{\lVert \vec{w} \rVert} γi=∥w∥γi^
\qquad 另外,函数间隔的定义规定了函数间隔不是一个确定的数,其可以随着超平面参数成比例地倍增而改变,是一个定性的衡量工具。
\qquad 例如,对于超平面 ( w ⃗ , b ) (\vec{w},b) (w,b),有: ( w ⃗ ′ , b ′ ) = 10 ( w ⃗ , b ) (\vec{w}^{'},b^{'})=10(\vec{w},b) (w′,b′)=10(w,b),则有:
w ⃗ ′ T ⋅ x ⃗ + b ′ = 10 w ⃗ T ⋅ x ⃗ + 10 b = 10 ( w ⃗ T ⋅ x ⃗ + b ) = 0 = w ⃗ T ⋅ x ⃗ + b \vec{w}^{'T} \cdot \vec{x}+b^{'}=10\vec{w}^{T} \cdot \vec{x}+10b=10(\vec{w}^{T} \cdot \vec{x}+b)=0=\vec{w}^{T} \cdot \vec{x}+b w′T⋅x+b′=10wT⋅x+10b=10(wT⋅x+b)=0=wT⋅x+b
\qquad 这表明超平面参数的倍增并不改变这一超平面, ( w ⃗ , b ) , ( w ⃗ ′ , b ′ ) (\vec{w},b),(\vec{w}^{'},b^{'}) (w,b),(w′,b′) 表示同一个超平面,故:
γ ^ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) γ ^ i ′ = y i ( w ⃗ ′ T ⋅ x ⃗ i + b ′ ) \hat{\gamma}_{i}=y_{i}(\vec{w}^{T}\cdot \vec{x}_{i}+b) \\ \hat{\gamma}_{i}^{'}=y_{i}(\vec{w}^{'T}\cdot \vec{x}_{i}+b^{'}) γ^i=yi(wT⋅xi+b)γ^i′=yi(w′T⋅xi+b′)
γ ^ i \qquad \hat{\gamma}_{i} γ^i 和 γ ^ i ′ \hat{\gamma}_{i}^{'} γ^i′ 均可以表示实例点对同一超平面的函数间隔。
\qquad 对于几何间隔来说,由于分母位是法向量的二阶范数,在超平面参数倍增的同时, ∥ w ⃗ ∥ \lVert \vec{w} \rVert ∥w∥ 也以同样的倍数增加,仍以 ( w ⃗ ′ , b ′ ) = 10 ( w ⃗ , b ) (\vec{w}^{'},b^{'})=10(\vec{w},b) (w′,b′)=10(w,b) 为例,
γ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) ∥ w ⃗ ∥ = y i ( 10 w ⃗ T ⋅ x ⃗ i + 10 b ) ∥ 10 w ⃗ ∥ = y i ( w ⃗ ′ T ⋅ x ⃗ i + b ′ ) ∥ w ⃗ ′ ∥ \gamma_i=\frac{y_i(\vec{w}^{T}\cdot \vec{x}_{i}+b)}{\lVert \vec{w} \rVert}=\frac{y_i(10\vec{w}^{T}\cdot \vec{x}_{i}+10b)}{\lVert 10\vec{w} \rVert}=\frac{y_i(\vec{w}^{'T}\cdot \vec{x}_{i}+b^{'})}{\lVert \vec{w}^{'} \rVert} γi=∥w∥yi(wT⋅xi+b)=∥10w∥yi(10wT⋅xi+10b)=∥w′∥yi(w′T⋅xi+b′)
\qquad 所以,对于确定的超平面和实例点来说几何间隔是一个确定的值,也即几何上与超平面之间的距离。
\qquad 根据前文描述的线性可分支持向量机的思想,我们需要找到一个超平面,使其与训练集的几何间隔达到最大,所有训练点相对所求超平面都在这一几何间隔之外。这可以视作一个约束问题,如下所示:
max w ⃗ , b γ s . t . γ i = y i ( w ⃗ T ⋅ x ⃗ i + b ) ∥ w ⃗ ∥ ≥ γ , i = 1 , 2 , 3 , ⋯ , N \max_{\vec{w},b} \quad \gamma \\ s.t. \quad \gamma_i=\frac{y_i(\vec{w}^{T}\cdot \vec{x}_i+b)}{\lVert \vec{w} \rVert} \geq \gamma, \quad i=1,2,3,\cdots,N w,bmaxγs.t.γi=∥w∥yi(wT⋅xi+b)≥γ,i=1,2,3,⋯,N
\qquad 其中
max w ⃗ , b γ ⟺ max w ⃗ , b min i = 1 , 2 , ⋯ , N γ i \max_{\vec{w},b}\gamma \quad \iff \quad \max_{\vec{w},b}\min_{i=1,2,\cdots,N}\gamma_i w,bmaxγ⟺w,bmaxi=1,2,⋯,Nminγi
\qquad 根据前文所讨论的函数间隔与几何间隔的关系: γ = γ ^ ∥ w ⃗ ∥ \gamma = \frac{\hat{\gamma}}{\lVert \vec{w} \rVert} γ=∥w∥γ^
\qquad 目标问题可以得到如下变形:
max w ⃗ , b γ ^ ∥ w ⃗ ∥ s . t . y i ( w ⃗ T ⋅ x ⃗ i + b ) ≥ γ ^ , i = 1 , 2 , 3 , ⋯ , N \max_{\vec{w},b} \quad \frac{\hat{\gamma}}{\lVert \vec{w} \rVert} \\ s.t. \quad y_i(\vec{w}^{T}\cdot \vec{x}_i+b) \geq \hat{\gamma}, \quad i=1,2,3,\cdots,N w,bmax∥w∥γ^s.t.yi(wT⋅xi+b)≥γ^,i=1,2,3,⋯,N
\qquad 又根据前文所讨论的函数间隔可以随同一超平面进行超平面参数成比例缩放的性质,将目标约束问题中的函数间隔 γ ^ \hat{\gamma} γ^ 缩放为 1 1 1,此时求解问题所得的超平面不变,而问题简化为:
max w ⃗ , b 1 ∥ w ⃗ ∥ s . t . y i ( w ⃗ T ⋅ x ⃗ i + b ) ≥ 1 , i = 1 , 2 , 3 , ⋯ , N \max_{\vec{w},b} \quad \frac{1}{\lVert \vec{w} \rVert} \\ s.t. \quad y_i(\vec{w}^{T}\cdot \vec{x}_{i}+b) \geq 1, \quad i=1,2,3,\cdots,N w,bmax∥w∥1s.t.yi(wT⋅xi+b)≥1,i=1,2,3,⋯,N
\qquad 此外由于是凸二次规划问题( ∣ ∥ w ⃗ ∥ |\lVert \vec{w} \rVert ∣∥w∥ 是一个凸二次函数),可将求解极大值问题转变为求解如下极小值问题,也是最终的目标优化问题:
min w ⃗ , b 1 2 ∥ w ⃗ ∥ 2 s . t . y i ( w ⃗ T ⋅ x ⃗ i + b ) − 1 ≥ 0 , i = 1 , 2 , 3 , ⋯ , N \min_{\vec{w},b} \quad \frac12 {\lVert \vec{w} \rVert}^2 \\ s.t. \quad y_i(\vec{w}^{T}\cdot \vec{x}_i+b)-1 \geq 0, \quad i=1,2,3,\cdots,N w,bmin21∥w∥2s.t.yi(wT⋅xi+b)−1≥0,i=1,2,3,⋯,N
\qquad 另外,在这里对线性可分支持向量机中最大间隔超平面的存在唯一性进行证明:
\qquad (1)存在性证明:
\qquad 由于训练数据集线性可分,且目标函数为凸二次函数,则目标最优化必有解,记作$ (\vec{w}{*},b{*}) $。训练数据集中既有正类点又有负类点,故 w ⃗ ∗ ≠ 0 \vec{w}^{*} \neq 0 w∗=0 。由此得知分离超平面的存在性。
\qquad (2)唯一性证明:
\qquad 假设目标优化问题存在两个最优解 ( w ⃗ 1 ∗ , b 1 ∗ ) , ( w ⃗ 2 ∗ , b 2 ∗ ) (\vec{w}_{1}^{*},b_{1}^{*}),(\vec{w}_{2}^{*},b_{2}^{*}) (w1∗,b1∗),(w2∗,b2∗)。故 ∥ w 1 ∗ ∥ = ∥ w 2 ∗ ∥ = c \lVert w_{1}^{*} \rVert = \lVert w_{2}^{*} \rVert = c ∥w1∗∥=∥w2∗∥=c ,其中 c c c 是一个常数。令:
w = 1 2 w 1 ∗ + 1 2 w 2 ∗ w = \frac{1}{2}w_{1}^{*} + \frac{1}{2}w_{2}^{*} w=21w1∗+21w2∗
\qquad 满足:
1 2 ∥ w ∥ 2 = 1 2 ∥ w 1 ∗ + w 2 ∗ 2 ∥ 2 = 1 2 ∥ w 1 ∗ ∥ 2 = 1 2 ∥ w 2 ∗ ∥ 2 \frac{1}{2}\lVert w \rVert^{2} = \frac{1}{2}\lVert \frac{w_{1}^{*} + w_{2}^{*}}{2} \rVert^{2} = \frac{1}{2}\lVert w_{1}^{*} \rVert^{2} = \frac{1}{2}\lVert w_{2}^{*} \rVert^{2} 21∥w∥2=21∥2w1∗+w2∗∥2=21∥w1∗∥2=21∥w2∗∥2
\qquad 易知 w w w 满足目标优化问题的不等式约束,是一个可行解,且根据三角不等式,从而有:
c ≤ ∥ w ∥ ≤ 1 2 ∥ w 1 ∗ ∥ + 1 2 ∥ w 2 ∗ ∥ = c c \leq \lVert w \rVert \leq \frac{1}{2}\lVert w_{1}^{*} \rVert + \frac{1}{2}\lVert w_{2}^{*} \rVert = c c≤∥w∥≤21∥w1∗∥+21∥w2∗∥=c
\qquad 要使上式不等号取等,即 ∥ w ∥ = 1 2 ∥ w 1 ∗ ∥ + 1 2 ∥ w 2 ∗ ∥ \lVert w \rVert = \frac{1}{2}\lVert w_{1}^{*} \rVert + \frac{1}{2}\lVert w_{2}^{*} \rVert ∥w∥=21∥w1∗∥+21∥w2∗∥ ,那么向量 w ⃗ 1 ∗ \vec{w}_{1}^{*} w1∗ 和 w ⃗ 2 ∗ \vec{w}_{2}^{*} w2∗ 共线,即有 w ⃗ 1 ∗ = λ w ⃗ 2 ∗ , ∣ λ ∣ = 1 \vec{w}_{1}^{*} = \lambda \vec{w}_{2}^{*}, |\lambda| = 1 w1∗=λw2∗,∣λ∣=1。而 λ = − 1 \lambda = -1 λ=−1 时, w = 0 w = 0 w=0 不是目标问题的可行解,从而矛盾。故 λ = 1 \lambda = 1 λ=1,即:
w ⃗ 1 ∗ = w ⃗ 1 ∗ \vec{w}_{1}^{*} = \vec{w}_{1}^{*} w1∗=w1∗
\qquad 令:
a ⃗ = [ w ⃗ n × 1 b ] b ⃗ i = [ x ⃗ i 1 ] c ⃗ = [ 1 ⃗ 1 × n , 0 ] a ⃗ = w ⃗ n × 1 \vec{a} = \begin{bmatrix} \vec{w}_{n \times 1} \\ b \end{bmatrix} \qquad \vec{b}_{i} = \begin{bmatrix} \vec{x}_{i} \\ 1 \end{bmatrix} \qquad \vec{c} = \begin{bmatrix} \vec{1}_{1 \times n}, 0 \end{bmatrix} \vec{a} = \vec{w}_{n \times 1} a=[wn×1b]bi=[xi1]c=[11×n,0]a=wn×1
\qquad 那么原问题被转化为:
min a ⃗ 1 2 ∥ c ⃗ ∥ 2 s . t . y i a ⃗ T b ⃗ i − 1 ≥ 0 , i = 1 , 2 , 3 , ⋯ , N \min_{\vec{a}} \quad \frac12 {\lVert \vec{c} \rVert}^2 \\ s.t. \quad y_i\vec{a}^{T}\vec{b}_{i}-1 \geq 0, \quad i=1,2,3,\cdots,N amin21∥c∥2s.t.yiaTbi−1≥0,i=1,2,3,⋯,N
\qquad 同上述证明方式,可以证明 ( w , b ) (w,b) (w,b) 最优解的唯一性。
\qquad 凸二次规划问题的常见求解办法是通过转化为拉格朗日函数 L L L 求极值:
L ( w ⃗ , b , α ⃗ ) = 1 2 ∥ w ⃗ ∥ 2 − ∑ i = 1 N α i y i ( w ⃗ T ⋅ x ⃗ i + b ) + ∑ i = 1 N α i L(\vec{w},b,\vec{\alpha})=\frac12 {\lVert \vec{w} \rVert}^2-\sum_{i=1}^N\alpha_iy_i(\vec{w}^{T}\cdot \vec{x}_i+b)+\sum_{i=1}^N\alpha_i L(w,b,α)=21∥w∥2−i=1∑Nαiyi(wT⋅xi+b)+i=1∑Nαi
\qquad 通过对拉格朗日函数关于拉格朗日乘子 α ⃗ \vec{\alpha} α 求极大值,在对目标变量求极小值即可得到原问题在约束条件下的目标解 p ∗ p^{*} p∗,即:(详见下文)
p ∗ = min w ⃗ , b max α ⃗ L ( w ⃗ , b , α ⃗ ) p^{*} = \min_{\vec{w},b}\max_{\vec{\alpha}}L(\vec{w},b,\vec{\alpha}) p∗=w,bminαmaxL(w,b,α)
\qquad 对于拉格朗日函数的极小极大值问题,通常可以转化为求极大极小值形式来得到其对偶问题,求对偶问题的目标解 d ∗ d^{*} d∗,即:(详见下文)
d ∗ = max α ⃗ min w ⃗ , b L ( w ⃗ , b , α ⃗ ) d^{*} = \max_{\vec{\alpha}}\min_{\vec{w},b}L(\vec{w},b,\vec{\alpha}) d∗=αmaxw,bminL(w,b,α)
求 min w ⃗ , b L ( w ⃗ , b , α ⃗ ) \min_{\vec{w},b}L(\vec{w},b,\vec{\alpha}) minw,bL(w,b,α)
\qquad 首先分别对 w ⃗ \vec{w} w 和 b b b求导,有:
∇ w ⃗ L ( w ⃗ , b , α ⃗ ) = w ⃗ − ∑ i = 1 N α i y i x ⃗ i = 0 ∇ b L ( w ⃗ , b , α ⃗ ) = − ∑ i = 1 N α i y i = 0 \nabla_{\vec{w}}L(\vec{w},b,\vec{\alpha})=\vec{w}-\sum_{i=1}^{N}\alpha_{i}y_{i}\vec{x}_{i}=0 \\ \nabla_{b}L(\vec{w},b,\vec{\alpha})=-\sum_{i=1}^N\alpha_iy_i=0 ∇wL(w,b,α)=w−i=1∑Nαiyixi=0∇bL(w,b,α)=−i=1∑Nαiyi=0
w ⃗ = ∑ i = 1 N α i y i x ⃗ i ∑ i = 1 N α i y i = 0 \vec{w}=\sum_{i=1}^{N}\alpha_{i}y_{i}\vec{x}_{i} \\ \sum_{i=1}^N\alpha_iy_i=0 w=i=1∑Nαiyixii=1∑Nαiyi=0
代入:
L ( w ⃗ , b , α ⃗ ) = 1 2 ∥ w ⃗ ∥ 2 − ∑ i = 1 N α i y i ( w ⃗ T ⋅ x ⃗ i + b ) + ∑ i = 1 N α i L(\vec{w},b,\vec{\alpha})=\frac12 {\lVert \vec{w} \rVert}^2-\sum_{i=1}^N\alpha_iy_i(\vec{w}^{T} \cdot \vec{x}_i+b)+\sum_{i=1}^N\alpha_i L(w,b,α)=21∥w∥2−i=1∑Nαiyi(wT⋅xi+b)+i=1∑Nαi
得:
min w ⃗ , b L ( w ⃗ , b , α ⃗ ) = 1 2 w ⃗ T w ⃗ − ∑ i = 1 N α i y i ( w ⃗ T ⋅ x ⃗ i + b ) + ∑ i = 1 N α i = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x ⃗ i T ⋅ x ⃗ j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x ⃗ j T ) ⋅ x ⃗ i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x ⃗ i T ⋅ x ⃗ j ) + ∑ i = 1 N α i \min_{\vec{w},b}L(\vec{w},b,\vec{\alpha})= \frac{1}{2}\vec{w}^{T}\vec{w}-\sum_{i=1}^N\alpha_iy_i(\vec{w}^{T} \cdot \vec{x}_i+b)+\sum_{i=1}^N\alpha_{i} \\ \qquad \qquad \qquad \qquad \qquad \qquad \qquad=\frac12\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(\vec{x}_i^{T} \cdot \vec{x}_j)-\sum_{i=1}^{N}\alpha_{i}y_{i}\big((\sum_{j=1}^{N}\alpha_{j}y_{j}\vec{x}_{j}^{T})\cdot \vec{x}_i \\ +b\big)+\sum_{i=1}^{N}\alpha_i \\ \qquad \qquad \qquad =-\frac12\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(\vec{x}_{i}^{T} \cdot \vec{x}_{j})+\sum_{i=1}^{N}\alpha_{i} w,bminL(w,b,α)=21wTw−i=1∑Nαiyi(wT⋅xi+b)+i=1∑Nαi=21i=1∑Nj=1∑Nαiαjyiyj(xiT⋅xj)−i=1∑Nαiyi((j=1∑NαjyjxjT)⋅xi+b)+i=1∑Nαi=−21i=1∑Nj=1∑Nαiαjyiyj(xiT⋅xj)+i=1∑Nαi
等价的对偶最优化问题形式
max α ⃗ 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x ⃗ i T ⋅ x ⃗ j ) + ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , 3 , ⋯ , N \max_{\vec{\alpha}} \quad \frac12\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(\vec{x}_{i}^{T} \cdot \vec{x}_{j})+\sum_{i=1}^{N}\alpha_{i} \\ s.t. \quad \sum_{i=1}^{N}\alpha_{i}y_{i}=0 \\ \qquad \qquad \qquad \qquad \quad \alpha_{i} \geq 0, \quad i=1,2,3, \cdots ,N αmax21i=1∑Nj=1∑Nαiαjyiyj(xiT⋅xj)+i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0,i=1,2,3,⋯,N
根据对偶问题的解求超平面参数
\qquad 若已根据对偶问题的形式求出对偶问题的解 α ⃗ ∗ = ( α 1 ∗ , α 2 ∗ , α 3 ∗ , ⋯ , α i ∗ ) T \vec{\alpha}^{*} = (\alpha_{1}^{*},\alpha_{2}^{*},\alpha_{3}^{*}, \cdots ,\alpha_{i}^{*})^{T} α∗=(α1∗,α2∗,α3∗,⋯,αi∗)T ,且其中至少存在一个 α j ∗ ≥ 0 \alpha_{j}^{*} \geq 0 αj∗≥0 , 根据KKT条件(详见下文),可以求出原始问题的解:
w ⃗ ∗ = ∑ i = 1 N α i ∗ y i x ⃗ i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x ⃗ i T ⋅ x ⃗ j ) \begin{aligned} & \vec{w}^{*} = \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}\vec{x}_{i} \\ & b ^{*} = y_{j} - \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(\vec{x}_{i}^{T} \cdot \vec{x}_{j}) \end{aligned} w∗=i=1∑Nαi∗yixib∗=yj−i=1∑Nαi∗yi(xiT⋅xj)
\qquad KKT条件:
{ ∇ w ⃗ L ( w ⃗ ∗ , b ∗ , α ⃗ ∗ ) = w ⃗ ∗ − ∑ i = 1 N α i ∗ y i x ⃗ i = 0 ∇ b L ( w ⃗ ∗ , b ∗ , α ⃗ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 α i ∗ ( y i ( w ⃗ ∗ T ⋅ x ⃗ i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , 3 , ⋯ , N y i ( w ⃗ ∗ T ⋅ x ⃗ i + b ∗ ) − 1 ≥ 0 , i = 1 , 2 , 3 , ⋯ , N α i ∗ ≥ 0 , i = 1 , 2 , 3 , ⋯ , N \begin{cases} \begin{aligned} & \nabla_{\vec{w}}L(\vec{w}^{*},b^{*},\vec{\alpha}^{*}) = \vec{w}^{*} - \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}\vec{x}_{i} = 0 \\ & \nabla_{b}L(\vec{w}^{*},b^{*},\vec{\alpha}^{*}) = -\sum_{i=1}^{N}\alpha_{i}^{*}y_{i} = 0 \\ & \alpha_{i}^{*}(y_{i}(\vec{w}^{*T} \cdot \vec{x}_{i} + b^{*})-1) = 0, &i = 1,2,3, \cdots ,N \\ & y_{i}(\vec{w}^{*T} \cdot \vec{x}_{i} + b^{*}) - 1 \geq 0, & i = 1,2,3, \cdots ,N \\ & \alpha_{i}^{*} \geq 0, & i = 1,2,3, \cdots ,N \end{aligned} \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∇wL(w∗,b∗,α∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,α∗)=−i=1∑Nαi∗yi=0αi∗(yi(w∗T⋅xi+b∗)−1)=0,yi(w∗T⋅xi+b∗)−1≥0,αi∗≥0,i=1,2,3,⋯,Ni=1,2,3,⋯,Ni=1,2,3,⋯,N
\qquad 下面给出证明:
∵ L ( w ⃗ , b , α ⃗ ) = 1 2 ∥ w ⃗ ∥ 2 − ∑ i = 1 N α i y i ( w ⃗ T ⋅ x ⃗ i + b ) + ∑ i = 1 N α i ∇ w ⃗ L ( w ⃗ , b , α ⃗ ) = w ⃗ − ∑ i = 1 N α i y i x ⃗ i = 0 ∇ b L ( w ⃗ , b , α ⃗ ) = − ∑ i = 1 N α i y i = 0 ∴ w ⃗ = ∑ i = 1 N α i y i x ⃗ i w ⃗ ∗ = ∑ i = 1 N α i ∗ y i x ⃗ i ∴ ∇ w ⃗ L ( w ⃗ ∗ , b ∗ , α ⃗ ∗ ) = w ⃗ ∗ − ∑ i = 1 N α i ∗ y i x ⃗ i = 0 ∇ b L ( w ⃗ ∗ , b ∗ , α ⃗ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 ∵ α i ∗ 是 拉 格 朗 日 乘 子 , 且 α i ∗ ≥ 0 ∴ 对 任 一 α j ∗ > 0 , 令 y i ( w ⃗ ∗ T ⋅ x ⃗ j + b ∗ ) − 1 = 0 这 里 找 到 的 x ⃗ j 与 超 平 面 之 间 存 在 最 大 间 隔 , 是 支 持 向 量 。 故 得 b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x ⃗ i T ⋅ x ⃗ j ) 这 时 , 可 以 证 明 y i ( w ⃗ ∗ T ⋅ x ⃗ i + b ∗ ) − 1 ≥ 0 , i = 1 , 2 , 3 , ⋯ , N 成 立 , K K T 条 件 均 满 足 , 得 证 。 \because L(\vec{w},b,\vec{\alpha})=\frac12 {\lVert \vec{w} \rVert}^2-\sum_{i=1}^N\alpha_iy_i(\vec{w}^{T} \cdot \vec{x}_i+b)+\sum_{i=1}^N\alpha_i \\ \nabla_{\vec{w}}L(\vec{w},b,\vec{\alpha})=\vec{w}-\sum_{i=1}^{N}\alpha_{i}y_{i}\vec{x}_{i}=0 \\ \nabla_{b}L(\vec{w},b,\vec{\alpha})=-\sum_{i=1}^N\alpha_iy_i=0 \\ \therefore \vec{w} = \sum_{i=1}^{N}\alpha_{i}y_{i}\vec{x}_{i} \\ \vec{w}^{*} = \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}\vec{x}_{i} \\ \therefore \nabla_{\vec{w}}L(\vec{w}^{*},b^{*},\vec{\alpha}^{*}) = \vec{w}^{*} - \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}\vec{x}_{i} = 0 \\ \nabla_{b}L(\vec{w}^{*},b^{*},\vec{\alpha}^{*}) = -\sum_{i=1}^{N}\alpha_{i}^{*}y_{i} = 0 \\ \because \alpha_{i}^{*}是拉格朗日乘子,且\alpha_{i}^{*} \geq 0 \\ \therefore 对任一 \alpha_{j}^{*} > 0, \quad 令y_{i}(\vec{w}^{*T} \cdot \vec{x}_{j} + b^{*})-1 = 0 \\ 这里找到的\vec{x}_{j}与超平面之间存在最大间隔,是支持向量。 \\ 故得b ^{*} = y_{j} - \sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(\vec{x}_{i}^{T} \cdot \vec{x}_{j}) \\ 这时,可以证明 \quad y_{i}(\vec{w}^{*T} \cdot \vec{x}_{i} + b^{*}) - 1 \geq 0, \quad i = 1,2,3, \cdots ,N \quad 成立,KKT条件均满足,得证。 \\ ∵L(w,b,α)=21∥w∥2−i=1∑Nαiyi(wT⋅xi+b)+i=1∑Nαi∇wL(w,b,α)=w−i=1∑Nαiyixi=0∇bL(w,b,α)=−i=1∑Nαiyi=0∴w=i=1∑Nαiyixiw∗=i=1∑Nαi∗yixi∴∇wL(w∗,b∗,α∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,α∗)=−i=1∑Nαi∗yi=0∵αi∗是拉格朗日乘子,且αi∗≥0∴对任一αj∗>0,令yi(w∗T⋅xj+b∗)−1=0这里找到的xj与超平面之间存在最大间隔,是支持向量。故得b∗=yj−i=1∑Nαi∗yi(xiT⋅xj)这时,可以证明yi(w∗T⋅xi+b∗)−1≥0,i=1,2,3,⋯,N成立,KKT条件均满足,得证。
\qquad 综上得到的 w ⃗ ∗ , b ∗ , α i ∗ \vec{w}^{*},b^{*},\alpha_{i}^{*} w∗,b∗,αi∗ 满足KKT条件,分别是原始问题和对偶问题的最优解。