svm中拉格朗日对偶问题的推导

原始问题:min\ \frac{1}{2}\left \| \mathbf{w}\right \|^{2}      s.t. \ \ y_{i}(wx_{i}+b)\geqslant 1 \ \ \ i=1,2,3,\cdots ,n

应用拉格朗日对偶性,求解最优解,对偶问题比较容易求解,可以引入核函数,推广到非线性问题。

构造拉格朗日函数:L(w,b,\alpha )=\frac{1}{2}\left \| \mathbf{w}\right \|^{2}+\sum_{i=1}^{n}\alpha _{i}-\sum_{i=1}^{n}\alpha _{i}y_{i}(wx_{i}+b)L(w,b,\alpha )L(w,b,\alpha )

我们所求的问题为:\min_{w,b}\max_{\mathbf{\alpha },\alpha _{i}\geq 0}L(w,b,\mathbf{\alpha })

转为为对偶问题为:\max_{\mathbf{\alpha },\alpha _{i}\geq 0}\min_{w,b}L(w,b,\mathbf{\alpha })

如果原问题与对偶问题解相同,则需要满足KKT条件:svm中拉格朗日对偶问题的推导_第1张图片

首先求解min_{w,b}L(w,b,\mathbf{\alpha })

w求偏导\frac{dL}{dw}=w-\sum_{i=1}^{n}\alpha _{i}y_{y}x_{i},令偏导为0,得到:w=\sum_{i=1}^{n}\alpha _{i}y_{i}x_{i}

b求偏导\frac{dL}{db}=-\sum_{i=1}^{n}\alpha _{i}y_{i},令偏导为0,得到\sum_{i=1}^{n}\alpha _{i}y_{i}=0

将偏导为0的结果代入到L(w,b,\alpha)中,得到:L(w,b,\alpha )=-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha _{i}y_{i}x_{i}\alpha _{j}y_{j}x_{j}+\sum_{i=1}^{n}\alpha _{i}

然后我们需要求解的问题为\\ \max_{\alpha,\alpha _{i}\geq 0 }-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha _{i}y_{i}x_{i}\alpha _{j}y_{j}x_{j}+\sum_{i=1}^{n}\alpha _{i}\\ s.t. \ \ \alpha _{i}\geq 0 \\ \sum_{i=1}^{n}\alpha _{i}y_{i}\geq 0,即:\\ \min_{\alpha,\alpha _{i}\geq 0 }\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha _{i}y_{i}x_{i}\alpha _{j}y_{j}x_{j}-\sum_{i=1}^{n}\alpha _{i}\\ s.t. \ \ \alpha _{i}\geq 0 \\ \sum_{i=1}^{n}\alpha _{i}y_{i}\geq 0

\alpha ^{*}=\{\alpha _{1}^{*},\alpha _{2}^{*},\cdots ,\alpha _{n}^{*}\}为对偶最优问题的解

由KKT中剩余条件知w^{*}=\sum_{i=1}^{n}\alpha ^{*}_{i}y_{i}x_{i} \ \ \ \ b^{*}=y_{j}-\sum_{i=1}^{n}\alpha _{i}^{*}y_{i}(x_{i}\cdot x_{i})

从而得到分离超平面为:f(x)=sign(\sum_{i=1}^{n}\alpha ^{*}_{i}y_{i} (x\cdot x_{i} )+b^{*})

SVM学习算法:

  1. 构造求解最优化问题\\ \min_{\alpha,\alpha _{i}\geq 0 }\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha _{i}y_{i}x_{i}\alpha _{j}y_{j}x_{j}-\sum_{i=1}^{n}\alpha _{i}\\ s.t. \ \ \alpha _{i}\geq 0 \\ \sum_{i=1}^{n}\alpha _{i}y_{i}\geq 0,求得最优解\alpha ^{*}=\{\alpha _{1}^{*},\alpha _{2}^{*},\cdots ,\alpha _{n}^{*}\}
  2. 计算w^{*}=\sum_{i=1}^{n}\alpha ^{*}_{i}y_{i}x_{i} \ \ \ \ b^{*}=y_{j}-\sum_{i=1}^{n}\alpha _{i}^{*}y_{i}(x_{i}\cdot x_{i})
  3. 分类决策函数:f(x)=sign(\sum_{i=1}^{n}\alpha ^{*}_{i}y_{i} (x\cdot x_{i} )+b^{*})

小tips

对于\alpha _{i}^{*}> 0的实例\left ( y_{i},x_{i} \right ),称该实例为支持向量

原因:\alpha _{i}(y_{i}(wx_{i}+b)-1)=0得到:y_{i}(wx_{i}+b)-1=0

你可能感兴趣的:(机器学习)