SVM之问题形式化

>>>SVM之对偶问题

   SVM之核函数

   SVM之解决线性不可分

   写在SVM之前——凸优化与对偶问题

前一篇SVM之问题形式化中将最大间隔分类器形式化为以下优化问题: \[\begin{align}\left\{ \begin{matrix} \underset{w,b}{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}}  \\ \begin{matrix}s.t. & {{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge 1  \\\end{matrix}  \\\end{matrix} \right.\end{align}\]

容易发现这是一个凸优化问题,而凸优化问题问题一般而言是满足Slater条件的(具体证明我也不懂),所以可以等价地求解其对偶问题。转而求解其对偶问题,是因为它的对偶问题有很好的形式(向量内积形式),可以为SVM很方便的引人核函数。关于对偶问题的基本概念在写在SVM之前——凸优化与对偶问题一文中已做粗略介绍。现在,写出以上优化问题的对偶形式。

首先,将(1)化为标准形式 \[\begin{align}\left\{ \begin{matrix}\underset{w,b}{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}}  \\\begin{matrix}s.t. & 1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\le 0  \\\end{matrix}  \\\end{matrix} \right.\end{align}\]

构建拉格朗日函数:\[\begin{align}L(w,b,\alpha )=\frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))}\end{align}\]

令${{\theta }_{D}}(\alpha )=\underset{w,b}{\mathop{\min }}\,L(w,b,\alpha )$,则(2)的对偶问题可以写成\[\begin{align}\underset{\alpha }{\mathop{\max }}\,\underset{w,b}{\mathop{\min }}\,L(w,b,\alpha )=\underset{\alpha }{\mathop{\max }}\,{{\theta }_{D}}(\alpha )\end{align}\]

首先求出${{\theta }_{D}}(\alpha )$。${{\theta }_{D}}(\alpha )$是函数$L(w,b,\alpha )$关于变量$(w,b)$ 的最小值,且容易发现$L(w,b,\alpha )$是关于$(w,b)$的凸函数,所以可以直接求偏导数并令其为0得到解。

$L(w,b,\alpha )$ 关于$w$ 求偏导:

$\begin{align*}\frac{\partial L(w,b,\alpha )}{\partial w}&=\frac{\partial \left[ \frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial w} \\& =\frac{\partial \left[ \frac{1}{2}{{w}^{T}}w+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial w} \\& =w-\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}} \\\end{align*}$

令其为0,得到 \[\begin{align}w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}\end{align}\]

$L(w,b,\alpha )$ 关于$b$ 求偏导:

$\begin{array}{*{35}{l}} \frac{\partial L(w,b,\alpha )}{\partial b} & =\frac{\partial \left[ \frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial b}  \\{} & =-\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}  \\\end{array}$

令其为0,得到 \[\begin{align}\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0\end{align}\]

现在,将(5) 代回(3),得到

$\begin{align*}{{\theta }_{D}}(\alpha )&=\frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \\& =\frac{1}{2}{{w}^{T}}w+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \\& =\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}+\sum\limits_{i}{{{\alpha }_{i}}}-\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}-b\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}} \\& =\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}-b\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}} \\\end{align*}$

再根据(6),得到  \[\begin{align} {{\theta }_{D}}(\alpha )&=\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}} \\& =\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}<{{x}^{i}},{{x}^{j}}>} \\\end{align}\]

这便求出了${{\theta }_{D}}(\alpha )$,而对偶问题是$\underset{\alpha }{\mathop{\max }}\,{{\theta }_{D}}(\alpha )$。加上约束条件,对偶问题就可以写成

\[\begin{align}\left\{ \begin{matrix}\underset{\alpha }{\mathop{\max }}\,\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}<{{x}^{i}},{{x}^{j}}>}  \\s.t.\left\{ \begin{matrix}{{\alpha }_{i}}\ge 0  \\\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0  \\\end{matrix} \right.  \\\end{matrix} \right.\end{align}\]

其中约束${{\alpha }_{i}}\ge 0$是拉格朗日对偶问题本身的要求,约束$\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0$代表$\frac{\partial L(w,b,\alpha )}{\partial b}=0$的结果。

现在,对偶问题就得到了。对偶问题求解的结果是得到$\alpha $ 的取值。当$\alpha $得到解后,就可以根据$w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}$解出$w$ 。$w$确定了分类超平面的方向,$b$ 使得超平面有一个平移,根据最大间隔分类器的准则,最优超平面是穿过两类样本“最中间”的一个平面,所以$b$并不难确定\[\begin{align}b=-\frac{\underset{i:{{y}^{i}}=-1}{\mathop{\max }}\,{{w}^{T}}{{x}^{i}}+\underset{i:{{y}^{i}}=1}{\mathop{\min }}\,{{w}^{T}}x}{2}\end{align}\]

$(w,b)$ 确定后,分类器就确定了,就是超平面${{w}^{T}}x+b=0$ ,对于新的输入样本$x$ ,如果${{w}^{T}}x+b>0$则判别它样本类别为1,否则判别它样本类别为-1。

现在不求解$w$ ,而是将$w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}$ 带入判别式${{w}^{T}}x+b$ 中,得 \[\begin{align}{{w}^{T}}x+b=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}<{{x}^{i}},x>}+b\end{align}\]

上式将判别式写成了向量内积的形式,看似需要计算输入$x$与所有训练样本的内积,但实际上还可以简化。

回顾写在SVM之前——凸优化与对偶问题一文提到的KKT条件${{\alpha }_{i}}{{g}_{i}}(x)=0$ ,只有${{g}_{i}}(x)=0$时${{\alpha }_{i}}$ 才可能不为0。对应到现在的分类器:$x\to (w,b),{{g}_{i}}(x)\to {{g}_{i}}(w,b)=1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)$ (注意这里的$x$ 是优化问题形式化中的优化变量,不要与上文中的新输入样本$x$ 混淆)。所以只有当$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$时,对于的${{\alpha }_{i}}$ 才可能不为0,那么(11)的计算实际上只需计算了部分训练样本与新输入样本的内积,这部分$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$的训练样本称为支持向量,这也是SVM——支持向量机名字的来源。

考虑支持向量满足$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$,所以${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=1$,而${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)$正是样本函数间隔的定义,也就是说,支持向量就是函数间隔为1的样本,它们也是所有样本中函数间隔最小的样本。

上图标出来最优分类超平面(红色)和对于的函数间隔为1的样本(两条黑线上的样本),对左侧黑线上的支持向量有${{w}^{T}}{{x}_{l}}+b=-1$ ,对于右侧黑线上的支持向量有${{w}^{T}}{{x}_{r}}+b=1$,根据KKT条件,这两个样本可以根据${{\alpha }_{l}}>0$ 和${{\alpha }_{r}}>0$找到,两个式子联立起来得到$b=-\frac{{{w}^{T}}{{x}_{l}}+{{w}^{T}}{{x}_{r}}}{2}$ ,与(10)的是一致的。其实从这里就可以看出,只需要一个样本就可以确定$b$了,根据${{w}^{T}}{{x}_{r}}+b=1$,就可以解出$b$,$b=-\frac{{{w}^{T}}{{x}_{l}}+{{w}^{T}}{{x}_{r}}}{2}$和(10)比较直观的说明分类超平面穿过两类样本正中间而已。

现在,分类器的内容似乎已经完整了,但不要忘了,这都是在样本可分的情况下进行的,还没有考虑样本不可分的情况。

核函数在一定程度上解决了样本不可分问题,观察优化问题(9)和判别函数(11),其中都存在向量的内积形式,核函数正是在这上面做文章的。下一篇SVM之核函数将讨论这个问题。

SVM之对偶问题的更多相关文章

  1. [置顶] 最优间隔分类器、原始/对偶问题、SVM的对偶问题——斯坦福ML公开课笔记7

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9774135 本篇笔记针对ML公开课的第七个视频,主要内容包括最优间隔分类器( ...

  2. 三种SVM的对偶问题

    一.SVM原问题及要变成对偶问题的解决办法 对于SVM的,我们知道其终于目的是求取一分类超平面,然后将新的数据带入这一分类超平面的方程中,推断输出结果的符号,从而推断新的数据的正负. 而求解svm分类 ...

  3. 关于SVM数学细节逻辑的个人理解(二):从基本形式转化为对偶问题

    第二部分:转化为对偶问题进一步简化 这一部分涉及的数学原理特别多.如果有逻辑错误希望可以指出来. 上一部分得到了最大间隔分类器的基本形式:   其中i=1,2,3...m 直接求的话一看就很复杂,我们 ...

  4. 写在SVM之前——凸优化与对偶问题

    SVM之问题形式化 SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 >>>写在SVM之前——凸优化与对偶问题 本篇是写在SVM之前的关于优化问题的一点知识,在SVM中会用到 ...

  5. Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题

    这篇博客主要解说了Ng的课第六.七个视频,涉及到的内容包含,函数间隔和几何间隔.最优间隔分类器 ( Optimal Margin Classifier).原始/对偶问题 ( Primal/Dual P ...

  6. 支持向量机(SVM)必备概念(凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件、KKT条件)

    SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件.KKT条件还有 ...

  7. soft-margin SVM

    1. soft-margin SVM的形式 其中ξn表示每个点允许的犯错程度(偏离margin有多远),但是犯错是有代价的,也就是目标函数里面要最小化的.c控制对犯错的容忍程度. 2. 推导soft ...

  8. SVM=LASSO?

    SVM和LASSO是机器学习里两个非常经典的模型,每个模型都有大量的文献进行研究.其中去年出版的这本书——<Regularization, Optimization, Kernels, and ...

  9. SVM学习笔记

    一.SVM概述 支持向量机(support vector machine)是一系列的监督学习算法,能用于分类.回归分析.原本的SVM是个二分类算法,通过引入“OVO”或者“OVR”可以扩展到多分类问题 ...

随机推荐

  1. python 查找元素 获取元素信息 元素交互操作 执行JavaScript

    from selenium import webdriver browser = webdriver.Firefox() browser.get("https://tieba.baidu.c ...

  2. C语言中字符串赋值的几个理解

    在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值. 一.首先,我们来看第一种赋值方法:指针式赋值 我们知道,上面的示例是显然可以正常执行的,也是很容易理 ...

  3. (转)service apache2 restart失败

    https://askubuntu.com/questions/431925/how-to-restart-apache2-when-i-get-a-pid-conflict sudo kill -9 ...

  4. AS 3.1 多library合并打包成aar的正确方式(fat-aar)

    前言 主要参考fat-aar来合并打包. 但是这个fat-aar很久没维护了,如果直接使用它会有很多问题.由于对gradle脚本也不是太熟,就只能顺着它的意思,将gradle降级成2.2.3的版本. ...

  5. 南京Uber优步司机奖励政策(1月4日~1月10日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. 厦门Uber优步司机奖励政策(12月14日到12月20日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. 【LG1527】[国家集训队]矩阵乘法

    [LG1527][国家集训队]矩阵乘法 题面 洛谷 题解 我也不知道为什么取个这样的名字... 其实就是区间\(kth\)扩展到二维 还是用整体二分搞啦,把树状数组换成二维的 其他的基本没有什么差别 ...

  8. Linux下安装Nginx并实现socket代理

    nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...

  9. 利尔达CC3200模块第一篇之-wlan_ap例程测试

    1. 本次采用利尔达的CC3200模块,CC3200主时钟80M,内部没有flash,必须外接SPI Flash.本次测试采用利尔达科技的CC3200的底板和模块(左边).烧写连接VCC, GND, ...

  10. apache和IIS共存,服务器对外统一使用80端口

    apache和IIS共用80端口为了PHP与ASP各自的执行效率,要在服务器上安装iis与Apache,但是无法同时使用80端口,否则其中必定有一个启动不了.让它们共存的并且访问网站不需要加端口号,解 ...