SVM之问题形式化

   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}\]

这里要求所有样本的函数间隔至少为1,这就是所谓的“完美”,两类样本被分的尽可能的开,它们离分类超平面至少有值为1的函数间隔,$\frac{1}{\left\| w \right\|}$ 的几何间隔。(注意函数间隔和几何间隔的关系,下文为叙述方便将以函数间隔来描述,尽管SVM的目的实际上是在最大化几何间隔)

现在,我们放松要求,不要求那么苛刻了,对于一些样本并不要求函数间隔至少为1,比1小点也行(分的不够开了),小到小于0了也行(错分了)。写成表达式就是${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge 1-{{\xi }_{i}},{{\xi }_{i}}\ge 0$,不要求样本$i$ 的函数间隔为至少1了,够$1-{{\xi }_{i}}$就行了,也就是说优化问题(1)的约束条件变了。

相应地,目标函数也得变,因为不可能约束变但目标不变,不然${{\xi }_{i}}$给的很大,$1-{{\xi }_{i}}$远远小于0了,${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)$即使小于0也是满足约束的,那其实好多样本都被错分了,Duang~ 一下分类器变得很差,很挫,很笨,这样别的分类器一定会笑话它,根本没有这样的分类器,是假的。所以,你有${{\xi }_{i}}$的不完美,我就要给你${{C}_{i}}{{\xi }_{i}}$ 的惩罚,其中${{C}_{i}}$是惩罚因子,表示惩罚的相对大小,它可以对所有的样本一视同仁,不随$i$ 的变化而变化,也可以厚此薄彼,对有些样本严加惩罚,对另一些则睁一只眼,闭一只眼。一般这个惩罚因子还是比较公平的,所以不写${{C}_{i}}$,写成$C$吧~目标不是要最小化$\frac{1}{2}{{\left\| w \right\|}^{2}}$ 吗,现在将对所有样本的惩罚$C\sum\limits_{i}{{{\xi }_{i}}}$ 也加进去,不光要最小化$\frac{1}{2}{{\left\| w \right\|}^{2}}$,也要最小化$C\sum\limits_{i}{{{\xi }_{i}}}$,这样一来${{\xi }_{i}}$虽然大于0,但不敢变的很大了,也就是说,可以不“完美”,但不能太离谱。

现在,优化问题可以重新写成 \[\begin{align}\left\{ \begin{matrix}\underset{w,b,\xi }{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}}+C\sum\limits_{i}{{{\xi }_{i}}}  \\\left\{ \begin{matrix}\begin{matrix}s.t. & 1-{{\xi }_{i}}-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\le 0  \\\end{matrix}  \\ -{{\xi }_{i}}\le 0  \\\end{matrix} \right.  \\\end{matrix} \right.\end{align}\]

求解这个优化问题就可以了。

写出拉格朗日函数\[\begin{align}&L(w,b,\xi ,\alpha ,\beta )\notag\\&=\frac{1}{2}{{\left\| w \right\|}^{2}}+C\sum\limits_{i}{{{\xi }_{i}}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{\xi }_{i}}-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))}-\sum\limits_{i}{{{\beta }_{i}}{{\xi }_{i}}}\\\end{align}\] ,其中${{\alpha }_{i}}\ge 0,{{\beta }_{i}}\ge 0$

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

先来求${{\theta }_{D}}(\alpha ,\beta )$。

令$\frac{\partial L(w,b,\xi ,\alpha ,\beta )}{\partial w}=0$ ,得到$w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}$

令$\frac{\partial L(w,b,\xi ,\alpha ,\beta )}{\partial b}=0$,得到$\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0$

令$\frac{\partial L(w,b,\xi ,\alpha ,\beta )}{\partial \xi}=0$,得到$C-{{\alpha }_{i}}-{{\beta }_{i}}=0$ ,由于${{\alpha }_{i}}\ge 0$ 且${{\beta }_{i}}\ge 0$ ,所以更进一步有$0\le {{\alpha }_{i}}\le C$

将上述结果代回(3)(4)得到对偶问题\[\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}0\le {{\alpha }_{i}}\le C  \\\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0  \\\end{matrix} \right.  \\\end{matrix} \right.\end{align}\]

当然,这里仍然可以引人核函数,将$<{{x}^{i}},{{x}^{j}}>$ 替换为$K({{x}^{i}},{{x}^{j}})$ 。\[\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}}K({{x}^{i}},{{x}^{j}})}  \\s.t.\left\{ \begin{matrix}0\le {{\alpha }_{i}}\le C  \\\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0  \\\end{matrix} \right.  \\\end{matrix} \right.\end{align}\]

这是一个二次规划问题,可以用一般的二次规划方法来解,不过代价比较大,John C.Platt提出了SMO算法用来求解该优化问题。求解得到$\alpha $ 后,根据$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}\]

或者引人核函数的话写作\[\begin{align}{{w}^{T}}x+b=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}K({{x}^{i}},x)}+b\end{align}\]

不过这里$b$ 的求解会有所不同。之前的文章SVM之对偶问题中求解$b$的方法是根据KKT条件,找到${{\alpha }_{i}}>0$对于的向量即为支持向量,就可以由${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=1$解出$b$。现在的约束条件中虽然引人了${{\xi }_{i}}$,但如果推导一下现在优化问题的KKT条件的话,会得出$0<{{\alpha }_{i}}<C\Rightarrow {{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=1$ 的结论,所以现在应该仍然可以按照上述方法来解$b$。不过SMO算法有迭代更新求解的方法,是不是因为向上面那样做不太可行我还没搞清楚。

核函数通过向高维映射来解决线性不可分问题,现在有引人了惩罚机制了解决线性不可分问题问题,但不能简单地将它们看作完全独立的方法。如果仅仅依赖于惩罚机制,在样本线性不可分的情况下得到是所谓最优分类器其实也是比较差的,这是由样本本身的分布决定的,所以还是需要首先用“核函数完成映射”,使样本变得尽可能线性可分。

另外,惩罚机制也解决了噪声问题,通过对噪声数据较小的惩罚损失来换取目标函数整体上较大的优化。

不考虑惩罚机制,如果图中没有黑色的三角形样本,那分类器可能像实线那样,分类间隔还是挺大的,但这一个很像噪声的样本却将分类间隔挤压的很小,严重影响分类器的番话特性。加入惩罚机制后,新的分类器就有可能会以对这个样本的“不完美”分类为代价,换取分类间隔的提升。从(2)中目标函数$\frac{1}{2}{{\left\| w \right\|}^{2}}+C\sum\limits_{i}{{{\xi }_{i}}}$来看,分类器以第二项的增大换取了第一项的减小,是分类更加合理。从这也可以看出惩罚因子的作用,它起到了调节分类器间隔和样本惩罚直接的相对权重的作用。

写到这里,SVM的基本问题除了求解优化问题(6)的SMO算法之外,已基本完成。对于SMO算法,再学习吧~

SVM之解决线性不可分的更多相关文章

  1. 支持向量机SVM——专治线性不可分

    SVM原理 线性可分与线性不可分 线性可分 线性不可分-------[无论用哪条直线都无法将女生情绪正确分类] SVM的核函数可以帮助我们: 假设‘开心’是轻飘飘的,“不开心”是沉重的 将三维视图还原 ...

  2. OpenCV支持向量机SVM对线性不可分数据的处理

    支持向量机对线性不可分数据的处理 目标 本文档尝试解答如下问题: 在训练数据线性不可分时,如何定义此情形下支持向量机的最优化问题. 如何设置 CvSVMParams 中的参数来解决此类问题. 动机 为 ...

  3. 支持向量机(SVM)的推导(线性SVM、软间隔SVM、Kernel Trick)

    线性可分支持向量机 给定线性可分的训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习到的分离超平面为 \[w^{\ast }x+b^{\ast }=0\] 以及相应的决策函数 \[f\le ...

  4. 文本分类学习 (八)SVM 入门之线性分类器

    SVM 和线性分类器是分不开的.因为SVM的核心:高维空间中,在线性可分(如果线性不可分那么就使用核函数转换为更高维从而变的线性可分)的数据集中寻找一个最优的超平面将数据集分隔开来. 所以要理解SVM ...

  5. RBF网络——核心思想:把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了

      RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近.时间序列分析.数据分类.模式识别.信息处理.图像处理. ...

  6. 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式

    矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b     *     A B   =   a*A+b*C  a*c+b*D c d     ...

  7. 【笔记】SVM思想解决回归问题

    使用svm思想解决回归问题 使用svm思想解决是如何解决回归问题,其中回归问题的本质就是找一条线,能够最好的拟合数据点 怎么定义拟合就是回归算法的关键,线性回归算法就是让预测的直线的MSE的值最小,对 ...

  8. SVM清晰讲解——线性可分问题

    转载作者:liangdas 引言: 1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine),由于其能够适应小样本的分类,分类速度快等特点,性能不差于 ...

  9. SVM学习笔记-线性支撑向量机

    对于PLA算法来说,最终得到哪一条线是不一定的,取决于算法scan数据的过程. 从VC bound的角度来说,上述三条线的复杂度是一样的 Eout(w)≤Ein0+Ω(H)dvc= ...

随机推荐

  1. 论文笔记:dropout

    Improving neural networks by preventing co-adaptation of feature detectors arXiv preprint arXiv: 120 ...

  2. oracle中length、lengthb、substr、substrb用法小结

    我记得我曾经在开发form的时候犯过这样一个错误,对于form中的某个字段,对应于数据库中某张表的字段,假设在数据库中这个字段一般也就用到20个汉字的长度,后来我在开发form的时候,设置item类型 ...

  3. 基于Python的接口测试框架实例

    文章来源:http://www.jb51.net/article/96481.htm 下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. ...

  4. 【分库分表】sharding-jdbc—解决的问题

    一.遇到的问题 随着互联网技术和业务规模的发展,单个db的表里数据越来越多,sql的优化已经作用不明显或解决不了问题了,这时系统的瓶颈就是单个db了(或单table数据太大).这时候就涉及到分库分表的 ...

  5. 20145328 《Java程序设计》第4周学习总结

    20145328 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承也符合DRY(Don't Repeat Yourself)原则 ISA与O ...

  6. 无线网卡在 MAC 系统下的安装与使用过程

    MAC系统安装netgear无线网卡的方法: 1)去网件官网下载相应的驱动软件 2)单击页面左侧的“Version 1.0.0.0”进入下载页面如下图 3)选择对应您系统版本的驱动程序,按右键保存到计 ...

  7. PLMN和PSTN

    一.PLMNPLMN公众陆地移动电话网(PLMN) public land mobile network 由政府或它所批准的经营者,为公众提供陆地移动通信业务目的而建立和经营的网路.该网路必须与公众交 ...

  8. [Network Architecture]Mask R-CNN论文解析(转)

    前言 最近有一个idea需要去验证,比较忙,看完Mask R-CNN论文了,最近会去研究Mask R-CNN的代码,论文解析转载网上的两篇博客 技术挖掘者 remanented 文章1 论文题目:Ma ...

  9. 01_MySQL DQL_基础查询

    DQL,Data Query Language,数据查询 # 基础查询/*语法:select 查询列表 from 表名: 特点:1.查询列表可以是:表中的字段,常量值.表达式.函数,也可以是多个组合2 ...

  10. 把 b中的字段整合到a上

    a = [{"id": 1, "data": 1}, {"id": 2, "data": 1}, {"id&q ...