SVM支持向量机原理推导+python代码复现(一)

前言

​ SVM是机器学习的十大算法之一,其是一个偏数学化的模型,本文主要重现其推导过程,以及学习的过程中遇到的问题。过程并不严谨。

数学推导

引入

在这里插入图片描述

​ 对于二维平面坐标系中的点,如果其线性可分,那么我们可以寻找一条直线,去进行划分。但是,往往情况下,这条直线并不是唯一,可以有无数多条。比如

在这里插入图片描述

​ 我们都熟悉感知机,他与SVM是有一丢丢相似,但是感知机有一个很不好的地方,它仅仅将模型训练到能够将数据全部分类正确即可,对该直线几乎没有要求。比如

在这里插入图片描述

​ 对于这种结果,他确实是分类正确了,但是这种结果就一定好吗?这显然是反直觉的,我们一般会希望这个分割直线尽可能地在中间,而不是单独靠近某一边,因为这样很容易造成来了一个新的点后被误分类。比如

在这里插入图片描述

​ 而如果我们的划分直线是这样,就不会误分类。

在这里插入图片描述

​ 因此,我们认为,对于训练出来的直线,我们希望它尽可能地处在两类数据的中间,这样预留的空间足够大,可提高模型的正确率。

​ 那么,如何才能让这条直线处在的位置给两类数据预留够足够的空间呢?

支持向量

​ 以二维为例,假设在直线左侧为正类,右侧为负类。在所有的点中,我们在两类数据之间取一条分割直线,然后要做的就是找到与直线距离最近的点。

在这里插入图片描述

​ 因此,对于所有的点,我们可以找到距离最近的点(点到直线的距离公式)。
min⁡xi∣wTxi+b∣∣∣w∣∣2(1) \min\limits_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\tag{1} ximin∣∣w2wTxi+b(1)
​ 其中∣∣w∣∣2||w||_2∣∣w2表示L2范数。

​ 那么对于这些点,我们就说其为支持向量

损失函数(硬间隔)

​ 对于坐标系中线性可分的数据,我们往往可以使用一条直线将其进行划分,这种间隔被称为硬间隔,相应的还有一个叫做软间隔,此处我们先将硬间隔。

​ 得到最小距离的点,就可以在此基础上需求最大间隔。就是我们希望这些点到直线的距离最短。即
g=max⁡w,bmin⁡xi∣wTxi+b∣∣∣w∣∣2(2) g=\max\limits_{w,b}\min_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\tag{2} g=w,bmaxximin∣∣w2wTxi+b(2)
​ 该式子代表先寻找点到直线距离最小的点,然后再寻找最合适的www使得这些点到直线的距离最大,也就是几何间隔最大化。

​ 我们先定义一下一些数值
x=(x1Tx2T⋮xnT)=(x11x12⋯x1nx21⋯⋯x2n⋮⋱⋯⋮xn1xn2⋯xnn);w=(w1w2⋮wn);yi={1,  wTxi+b≥0−1,  wTxi+b<0(3) \begin{equation} \begin{aligned} x=\begin{pmatrix} x_1^T \\ x_2 ^T\\ \vdots \\ x_n^T \end{pmatrix} =\begin{pmatrix} x_{11} & x_{12} & \cdots &x_{1n}\\ x_{21} & \cdots & \cdots &x_{2n}\\ \vdots & \ddots & \cdots &\vdots\\ x_{n1} & x_{n2} & \cdots & x_{nn} \end{pmatrix}; w=\begin{pmatrix} w_{1} \\ w{2} \\ \vdots \\ w_{n} \end{pmatrix}; y_i=\left\{\begin{matrix} {1,~~w^Tx_i+b\ge0}\\ {-1,~~w^Tx_i+b<0} \end{matrix}\right. \end{aligned} \end{equation}\tag{3} x=x1Tx2TxnT=x11x21xn1x12xn2x1nx2nxnn;w=w1w2wn;yi={1,  wTxi+b01,  wTxi+b<0(3)
​ y的标签值为+1和-1。

在此之前,由于数据是线性可分的,那么如果所有的数据都分类正确,那么yi(wTxi+b)≥0y_i(w^Tx_i+b)\ge0yi(wTxi+b)0是恒成立的
g=max⁡w,bmin⁡xi∣wTxi+b∣∣∣w∣∣2s.t.yi(wTxi+b)≥0,i∈1,2⋯n(4) g=\max\limits_{w,b}\min_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge0,i\in1,2 \cdots n\tag{4} g=w,bmaxximin∣∣w2wTxi+bs.t.yi(wTxi+b)0,i1,2n(4)
​ 其中s.t.代表限制条件。注意了,此处代表有n个限制条件。

​ 由于式子(2)中∣∣w∣∣2||w||_2∣∣w2与min没有关系,因此我们将其提出来进一步转化。
g=max⁡w,b1∣∣w∣∣2min⁡xi∣wTxi+b∣s.t.yi(wTxi+b)≥0,i∈1,2⋯n(5) g=\max\limits_{w,b}\frac{1}{{||w||_2}}\min_{x_i}{|w^Tx_i+b|}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge0,i\in1,2 \cdots n\tag{5} g=w,bmax∣∣w21ximinwTxi+bs.t.yi(wTxi+b)0,i1,2n(5)
​ 对于wTxi+b=0w^Tx_i+b=0wTxi+b=0这条直线(高维是超平面,以下都用直线表示),将其权值和截距缩放2倍2wTxi+2b=02w^Tx_i+2b=02wTxi+2b=0,该直线仍然是不变的,至此,我们是不是可以让min⁡xi∣wTxi+b∣\min\limits_{x_i}{|w^Tx_i+b|}ximinwTxi+b里面的式子乘以一个未知量r,使得
min⁡xir∣wTxi+b∣=1(6) \min\limits_{x_i}r|w^Tx_i+b|=1\tag{6} ximinrwTxi+b=1(6)
​ 为何可以?因此此处的r就相当于对直线的缩放,我们总能找到一个量r,使其相乘后为0。

​ 这样,我们最终的式子就变成了
g=max⁡w,b1∣∣w∣∣2∗1(7) g=\max\limits_{w,b}\frac{1}{{||w||_2}}*1\tag{7} g=w,bmax∣∣w211(7)
​ 相应的,约束条件也变成了
s.t.yi(wTxi+b)≥1,i∈1,2⋯n(8) s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{8} s.t.yi(wTxi+b)1,i1,2n(8)
​ 那这样不会改变最终w的取值吗?大概率是会的,但没啥影响。实际上,我们的w和b是有无数个解的,因为我们对该直线进行缩放都没有改变平面。

​ 举个例子,假如我们最后算出的w、b的值是2,2,那么直线就是2x+2=0,但是是否也可以是x+1=0?或者4x+4=0?是的,完全可以,因为进行等比例缩放是不会影响最终的平面的,也就是说w、b的值也可以是1,1或者4,4,那么我们这样做min⁡xir∣wTxi+b∣=1\min\limits_{x_i}r|w^Tx_i+b|=1ximinrwTxi+b=1实际上就是对w加以约束,因为w存在无数个解,我们只要min⁡xi∣wTxi+b∣=1\min\limits_{x_i}|w^Tx_i+b|=1ximinwTxi+b=1的w。所以并不会影响最终结果,因此,我们的损失函数最终定义成这样
f(w)=max⁡w,b1∣∣w∣∣2s.t.yi(wTxi+b)≥1,i∈1,2⋯n(9) f(w)=\max\limits_{w,b}\frac{1}{{||w||_2}}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{9} f(w)=w,bmax∣∣w21s.t.yi(wTxi+b)1,i1,2n(9)
​ 将max变成min,再将L2范数写成矩阵相乘的样式,并且方便后面求导运算,我们让其乘以1/2得
f(w)=min⁡w,b12wTws.t.yi(wTxi+b)≥1,i∈1,2⋯n(10) f(w)=\min\limits_{w,b}\frac{1}{2}w^Tw\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{10} f(w)=w,bmin21wTws.t.yi(wTxi+b)1,i1,2n(10)
​ 这样,我们就得到了最终的损失函数的形式,一个条件极值问题。

拉格朗日乘数法

​ 求条件极值,怎么求?当燃是用拉格朗日乘数法(不懂的小伙伴请自行百度)

首先,得出拉格朗日函数
L(w,b,λ)=12wTw+∑i=1n(λi[1−yi(wTxi+b)]),λi≥0.(11) L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )},\lambda_i \ge0.\tag{11} L(w,b,λ)=21wTw+i=1n(λi[1yi(wTxi+b)])λi0.(11)
​ λ为拉格朗日算子。可以看到,由于有n个约束条件,直接求导求解的解法显然是不可能的。那怎么办呢?当燃是对其进行转化了。

原问题

​ 对于原函数和拉格朗日函数,我们总有
f(w)={min⁡w,b12wTws.t.yi(wTxi+b)≥1,i∈1,2⋯n={min⁡w.bmax⁡λL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(12) \begin{equation} \begin{aligned} f(w)&=\left \{ \begin{matrix}\min\limits_{w,b}\frac{1}{2}w^Tw\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\\ \end{matrix}\right. =\left\{\begin{matrix}\min\limits_{w.b}\max\limits_{\lambda}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right. \end{aligned} \end{equation}\tag{12} f(w)={w,bmin21wTws.t.yi(wTxi+b)1,i1,2n={w.bminλmaxL(w,b,λ)s.t.λi0.i1,2,n(12)

证明

​ 为何会成立呢?我们不妨来看一下min⁡w.bmax⁡λL(w)\min\limits_{w.b}\max\limits_{\lambda}L(w)w.bminλmaxL(w)

​ 先对拉格朗日函数求λ的最大值。因为,1−yi(wTxi+b)≤01-y_i(w^Tx_i+b) \le01yi(wTxi+b)0,又因为λ是恒大于等于0的,所以∑i=1nλi[1−yi(wTxi+b)]≤0\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0i=1nλi[1yi(wTxi+b)]0恒成立,所以max⁡λL(w,b,λ)\max\limits_{\lambda}L(w,b,\lambda)λmaxL(w,b,λ)就相当于∑i=1nλi[1−yi(wTxi+b)]=0\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] = 0i=1nλi[1yi(wTxi+b)]=0,假如1−yi(wTxi+b)≥01-y_i(w^Tx_i+b) \ge01yi(wTxi+b)0,那么max⁡λL(w,b,λ)=+∞\max\limits_{\lambda}L(w,b,\lambda)=+\inftyλmaxL(w,b,λ)=+将会没有意义。因为此时对λ其求最大值将得到无穷大,再对w、b求最小值的话,将没有意义,即对于
max⁡λL(w,b,λ)={0,  1−yi(wTxi+b)≥0+∞,  1−yi(wTxi+b)<0(17) \max\limits_{\lambda}L(w,b,\lambda)=\left\{ \begin{matrix} 0,~~1-y_i(w^Tx_i+b) \ge0 \\ +\infty,~~1-y_i(w^Tx_i+b) <0 \end{matrix}\right.\tag{17} λmaxL(w,b,λ)={0,  1yi(wTxi+b)0+,  1yi(wTxi+b)<0(17)
​ 那么
min⁡w,bmax⁡λ=min⁡w,b{0,+∞}(18) \min\limits_{w,b}\max\limits_{\lambda}=\min\limits_{w,b}\left \{0,+\infty \right \}\tag{18} w,bminλmax=w,bmin{0,+}(18)
​ 对无穷大求最小值是没有意义的,因此,我们只能够取∑i=1nλi[1−yi(wTxi+b)]≤0\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0i=1nλi[1yi(wTxi+b)]0的那一部分,所以
max⁡λL(w,b,λ)=12wT(19) \max\limits_{\lambda}L(w,b,\lambda)=\frac{1}{2}w^T\tag{19} λmaxL(w,b,λ)=21wT(19)

min⁡w,bmax⁡λL(w,b,λ)=min⁡w,b12wTw(20) \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)=\min\limits_{w,b}\frac{1}{2}w^Tw\tag{20} w,bminλmaxL(w,b,λ)=w,bmin21wTw(20)

​ 所以
{min⁡w.bmax⁡λL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(21) \left\{\begin{matrix}\min\limits_{w.b}\max\limits_{\lambda}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right.\tag{21} {w.bminλmaxL(w,b,λ)s.t.λi0.i1,2,n(21)
式子(17)是包含了∑i=1nλi[1−yi(wTxi+b)]≤0\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0i=1nλi[1yi(wTxi+b)]0的条件的。我们将这个函数称为原问题

对偶问题

​ 对于式子(17),它仍然是一个条件极值问题,并且包含了多个λ,我们仍然没法求解,那怎么办呢?

​ 对于原问题,我们可以对应其对偶问题。也就是max和min互唤
{max⁡λmin⁡w,bL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(22) \left\{\begin{matrix}\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right.\tag{22} {λmaxw,bminL(w,b,λ)s.t.λi0.i1,2,n(22)
​ 那么这个对偶问题有什么用呢?对于对偶问题,我们分为弱对偶和强对偶,对弱对偶,我们始终有
max⁡λmin⁡w,bL(w,b,λ)≤min⁡w,bmax⁡λL(w,b,λ)(23) \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \le \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)\tag{23} λmaxw,bminL(w,b,λ)w,bminλmaxL(w,b,λ)(23)
​ 以下给出证明

弱对偶证明

因为L(w,b,λ)≥min⁡w,bL(w,b,λ)又因为L(w,b,λ)≤max⁡λL(w,b,λ)所以min⁡w,bL(w,b,λ)≤L(w,b,λ)≤max⁡λL(w,b,λ)所以min⁡w,bL(w,b,λ)≤max⁡λL(w,b,λ)所以等式左边的在λ的最大值也小于右边在w,b的最小值即为max⁡λmin⁡w,bL(w,b,λ)≤min⁡w,bmax⁡λL(w,b,λ)(24) \begin{equation} \begin{aligned} &因为\hspace{1cm}L(w,b,\lambda) \ge \min\limits_{w,b}L(w,b,\lambda) \\又&因为\hspace{1cm}L(w,b,\lambda) \le\max\limits_{\lambda}L(w,b,\lambda) \\&所以\hspace{1cm}\min\limits_{w,b}L(w,b,\lambda) \le L(w,b,\lambda) \le \max\limits_{\lambda}L(w,b,\lambda) \\&所以\hspace{1cm}\min\limits_{w,b}L(w,b,\lambda)\le\max\limits_{\lambda}L(w,b,\lambda) \\&所以等式左边的在\lambda的最大值也小于右边在w,b的最小值 \\&即为\hspace{1cm}\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \le \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda) \end{aligned} \end{equation}\tag{24} 因为L(w,b,λ)w,bminL(w,b,λ)因为L(w,b,λ)λmaxL(w,b,λ)所以w,bminL(w,b,λ)L(w,b,λ)λmaxL(w,b,λ)所以w,bminL(w,b,λ)λmaxL(w,b,λ)所以等式左边的在λ的最大值也小于右边在wb的最小值即为λmaxw,bminL(w,b,λ)w,bminλmaxL(w,b,λ)(24)

​ 在弱对偶里面,式子(21)是始终成立,但是这对我们帮助并不大,因为弱对偶问题是原问题的下确界,但不确定是否相等,那何时才能相等呢?当燃是原问题和对偶问题是强对偶关系的时候了。满足强对偶关系,那么,始终有
max⁡λmin⁡w,bL(w,b,λ)=min⁡w,bmax⁡λL(w,b,λ)(25) \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) = \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)\tag{25} λmaxw,bminL(w,b,λ)=w,bminλmaxL(w,b,λ)(25)
​ 那么,什么情况下,原问题与对偶问题是强对偶关系呢?这是凸优化课程的知识点了,此处不做证明了。满足强对偶关系的充分性条件

​ ①目标函数是凸函数

​ ②约束条件是仿射函数(可以简单认为是一次函数,但不等价)

​ 显然,在原问题中,目标函数是12wTw\frac{1}{2}w^Tw21wTw是二次函数,妥妥的凸函数,对于约束条件s.t.yi(wTxi+b)≥1,i∈1,2⋯ns.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots ns.t.yi(wTxi+b)1,i1,2n,不就是一次函数吗?

​ 所以,原问题和对偶问题是满足强对偶关系的。因此,我们只需要求出对偶问题的解,就相当于求解原问题。所以,我们要求解的问题如下
{max⁡λmin⁡w,bL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(26) \left\{ \begin{matrix} \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix} \right.\tag{26} {λmaxw,bminL(w,b,λ)s.t.λi0.i1,2,n(26)
​ 可以看到,这个问题依然是一个有n个约束的极值问题,但是约束条件不再跟w,b相关,且对于min⁡w,bL(w,b,λ)\min\limits_{w,b}L(w,b,\lambda)w,bminL(w,b,λ)与λ是无关的。因此,我们可以事先求解min⁡w,bL(w,b,λ)\min\limits_{w,b}L(w,b,\lambda)w,bminL(w,b,λ)。因为他已经变成了一个无约束的问题了。

​ 因此,要求L(w,b,λ)L(w,b,\lambda)L(w,b,λ)关于w,b的最小值,分别对w,b求导等于0求解即可即可。
∂L(w,b,λ)∂b=∂(12wTw+∑i=1n(λi[1−yi(wTxi+b)]))∂b=∑i=1nλiyi=0(27) \begin{equation} \begin{aligned} \frac{\partial{L(w,b,\lambda)}}{\partial{b}} &=\frac{\partial{\left(\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )}\right)}}{\partial{b}} \\&=\sum\limits_{i=1}^n\lambda_iy_i=0 \end{aligned} \end{equation}\tag{27} bL(w,b,λ)=b(21wTw+i=1n(λi[1yi(wTxi+b)]))=i=1nλiyi=0(27)
​ 将所得结果回代入拉格朗日函数。
L(w,b,λ)=12wTw+∑i=1n(λi[1−yi(wTxi+b)])=12wTw+∑i=1n(λi−λiyiwTxi+λiyib)=12wTw+∑i=1nλi−∑i=1nλiyiwTxi−∑i=1nλiyib=12wTw+∑i=1nλi−∑i=1nλiyiwTxi−b∑i=1nλiyi=12wTw+∑i=1nλi−∑i=1nλiyiwTxi−b∗0=12wTw+∑i=1nλi−∑i=1nλiyiwTxi=L(w,λ)(28) \begin{equation} \begin{aligned} L(w,b,\lambda)&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )} \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left({ \lambda_i - \lambda_iy_iw^Tx_i+\lambda_iy_ib}\right)} \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -\sum\limits_{i=1}^n\lambda_iy_ib \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -b\sum\limits_{i=1}^n\lambda_iy_i \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -b*0 \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i \\&=L(w,\lambda) \end{aligned} \end{equation}\tag{28} L(w,b,λ)=21wTw+i=1n(λi[1yi(wTxi+b)])=21wTw+i=1n(λiλiyiwTxi+λiyib)=21wTw+i=1nλii=1nλiyiwTxii=1nλiyib=21wTw+i=1nλii=1nλiyiwTxibi=1nλiyi=21wTw+i=1nλii=1nλiyiwTxib0=21wTw+i=1nλii=1nλiyiwTxi=L(w,λ)(28)
​ 把所得结果再对w求导
∂L(w,λ)∂b=∂(12wTw+∑i=1nλi−∑i=1nλiyiwTxi)∂b=w−∑i=1nλiyixi=0→w=∑i=1nλiyixi(29) \begin{equation} \begin{aligned} \frac{\partial{L(w,\lambda)}}{\partial{b}} &=\frac{\partial{\left(\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i\right)}}{\partial{b}} \\&=w-\sum\limits_{i=1}^n\lambda_iy_ix_i=0 \rightarrow w=\sum\limits_{i=1}^n\lambda_iy_ix_i \end{aligned} \end{equation}\tag{29} bL(w,λ)=b(21wTw+i=1nλii=1nλiyiwTxi)=wi=1nλiyixi=0w=i=1nλiyixi(29)
​ 最终,我们得到w=∑i=1nλiyixiw=\sum\limits_{i=1}^n\lambda_iy_ix_iw=i=1nλiyixi,将其代入L(w,λ)L(w,\lambda)L(w,λ)
L(w,λ)=12wTw+∑i=1nλi−∑i=1nλiyiwTxi=12∑i=1nλiyixiT∑j=1nλjyjxj+∑i=1nλi−∑i=1nλiyi∑j=1nλjyjxjTxi=12∑i=1n∑j=1nλiyiλjyjxiTxj−∑i=1n∑j=1nλiyiλjyjxjTxi+∑i=1nλi=12∑i=1n∑j=1nλiyiλjyjxiTxj−∑i=1n∑j=1nλiyiλjyjxiTxj+∑i=1nλi=∑i=1nλi−12∑i=1n∑j=1nλiyiλjyjxiTxj=L(λ)(30) \begin{equation} \begin{aligned} L(w,\lambda)&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\lambda_iy_ix_i^T\sum\limits_{j=1}^n\lambda_jy_jx_j +\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_i\sum\limits_{j=1}^n\lambda_jy_jx_j^Tx_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j-\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_j^Tx_i+\sum\limits_{i=1}^n\lambda_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j-\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j+\sum\limits_{i=1}^n\lambda_i \\&=\sum\limits_{i=1}^n\lambda_i-\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j \\&=L(\lambda) \end{aligned} \end{equation}\tag{30} L(w,λ)=21wTw+i=1nλii=1nλiyiwTxi=21i=1nλiyixiTj=1nλjyjxj+i=1nλii=1nλiyij=1nλjyjxjTxi=21i=1nj=1nλiyiλjyjxiTxji=1nj=1nλiyiλjyjxjTxi+i=1nλi=21i=1nj=1nλiyiλjyjxiTxji=1nj=1nλiyiλjyjxiTxj+i=1nλi=i=1nλi21i=1nj=1nλiyiλjyjxiTxj=L(λ)(30)
​ 所以,我们的问题最终转化成
{max⁡λmin⁡w,bL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n→{max⁡λ∑i=1nλi−12∑i=1n∑j=1nλiyiλjyjxiTxjs.t.λi≥0.i∈1,2,⋯n∑i=1nλiyi=0(31) \left\{ \begin{matrix} \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix} \right.\rightarrow \left\{ \begin{matrix} \max\limits_{\lambda}\sum\limits_{i=1}^n\lambda_i-\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \\\sum\limits_{i=1}^n\lambda_iy_i=0 \end{matrix} \right.\tag{31} {λmaxw,bminL(w,b,λ)s.t.λi0.i1,2,nλmaxi=1nλi21i=1nj=1nλiyiλjyjxiTxjs.t.λi0.i1,2,ni=1nλiyi=0(31)
​ 其中∑i=1nλiyi=0\sum\limits_{i=1}^n\lambda_iy_i=0i=1nλiyi=0是对b求导后所得,因为包含有λ,而所求的最大值也是在λ处求的,故作为新的约束条件

​ 现在我们知道了w=∑i=1nλiyixiw=\sum\limits_{i=1}^n\lambda_iy_ix_iw=i=1nλiyixi,也得到了对偶问题在w,b下的最小L(w,b,λ),那b怎么办?似乎没有求出来?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值