Soft Margin SVM 

(1)Recall

之前分析到SVM的模型为:

\begin{align}\mathop{\min}&\quad \frac{1}{2}w^\prime w\nonumber\\\mathop{s.t}&\quad y_i(x_i^\prime w+b)\geq 1, i=1,2,\cdots,m\label{model:SVM}\end{align}

利用Lagrange乘子法转化为对偶问题:

\begin{align}\mathop{\max}&\quad \theta(\alpha)=\sum_{i}\alpha_i-\frac{1}{2}\sum_i\sum_j \alpha_i\alpha_jy_iy_j\langle x_i,x_j\rangle\nonumber\\\mathop{s.t}&\quad \sum_i\alpha_iy_i=0\nonumber\\&\quad \alpha \geq 0\label{model:SVMDual}\end{align}

但上诉模型只能用于解决线性可分的情况,当训练集为线性不可分时其分类的效果非常差,故引入Soft Margin SVM。

(2)Soft SVM

Soft Margin SVM的关键点是引入松弛变量(Slack variable),将上述严格的限制条件变为$y_i(x_i^\prime w+b)\geq 1-\xi_i,\ (\xi_i\geq 0)$,使某些数据点可以处于间隔內,甚至允许有错误的点,但与此相应付出一定的惩罚$C\xi_i$。故目标函数变为:

\begin{equation*}\mathop{\min}\quad \frac{1}{2}w^\prime w+C\sum_{i=1}^m\xi_i\end{equation*}

其中$C$叫做惩罚因子。于是Soft Margin SVM的模型为:

\begin{align}\mathop{\min}&\quad \frac{1}{2}w^\prime w+C\sum_{i=1}^m\xi_i\nonumber\\\mathop{s.t.}&\quad y_i(x_i^\prime w+b)\geq 1-\xi_i\nonumber\\&\quad \xi_i\geq 0\Longrightarrow -\xi_i \leq 0\label{model:SoftSVM}\end{align}

其对应的Lagrange函数:

\begin{equation}L(w,\xi,\alpha,\gamma,b)=\frac{1}{2}w^\prime w+C\sum_{i=1}^m\xi_i+\sum_{i=1}^m\alpha_i[1-\xi_i-y_i(x_i^\prime w+b)]-\sum_{i=1}^m\gamma_i\xi_i\label{equ:lagrange}\end{equation}

对Lagrange函数求导:

\begin{equation}\frac{\partial L}{\partial w}=w-\sum_{i=1}^m\alpha_iy_ix_i=0\Longrightarrow w=\sum_{i=1}^m\alpha_iy_ix_i\label{equ:derivativew}\end{equation}

\begin{equation}\frac{\partial L}{\partial b}=\sum_{i=1}^m\alpha_iy_i=0\Longrightarrow \sum_{i=1}^m\alpha_iy_i=0\label{equ:derivativeb}\end{equation}

\begin{equation}\frac{\partial L}{\partial\xi}=C-\alpha-\gamma=0\Longrightarrow \alpha_i=C-\gamma_i,\forall i\label{equ:derivativexi}\end{equation}

将式子\ref{equ:derivativew},\ref{equ:derivativeb},\ref{equ:derivativexi}代入$L(w,\xi,\alpha,\gamma,b)$中得到:

\begin{equation}\theta(\alpha,\gamma)=\sum_{i=1}^m \alpha_i-\frac{1}{2}\sum_{i,j=1}^m\alpha_i\alpha_jy_iy_j\langle x_i,x_j\rangle\label{equ:softSVMObjection}\end{equation}

虽然soft SVM对偶问题的目标函数(式子\ref{equ:softSVMObjection})与SVM的对偶形同,当它们的限制条件不同。Soft SVM对偶问题模型为:

\begin{align}\mathop{\max}&\quad\theta(\alpha,\gamma)=\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i,j=1}^m\alpha_i\alpha_jy_iy_j\langle x_i,x_j\rangle\nonumber\\\mathop{s.t.}&\quad\sum_{i=1}^m\alpha_iy_i=0\nonumber\\&\quad\alpha_i=C-\gamma_i\Longrightarrow 0\leq\alpha_i\leq C\label{model:SoftSVMDual}\end{align}

模型\ref{model:SoftSVMDual}可以用我们下一节将要总结的SMO算法求解。现在,我们来分析一下Soft SVM。

KKT dual-complementarily条件为:

\begin{equation*}\left\{\begin{array}&\alpha_i[1-\xi_i-y_i(x_i^\prime w+b)]=0\\\gamma_i\xi_i=0\end{array}\right.\end{equation*}

1)当$\alpha_i=0$时,$y_i(x_i^\prime w+b)\geq 1-\xi_i$,

由$\alpha_i=C-\gamma_i\Longrightarrow C=\gamma_i\neq 0\Longrightarrow \xi_i=0\Longrightarrow y_i(x_i^\prime w+b)\geq 1$.

2)当$\alpha_i=C$时,$y_i(x_i^\prime w+b)=1-\xi_i$,

由$\alpha_i=C-\gamma_i\Longrightarrow\gamma_i=0\Longrightarrow\xi_i\geq 0\Longrightarrow y_i(x_i^\prime w+b)=1-\xi_i\leq 1$.

3)当$0<\alpha_i<C$时,$y_i(x_i^\prime w+b)=1-\xi_i$,

由$\alpha_i=C-\gamma_i\Longrightarrow \gamma_i\neq 0\Longrightarrow \xi_i=0\Longrightarrow y_i(x_i^\prime w+b)=1$

综上所述,可得:

\begin{equation*}\left\{\begin{array}&\alpha_i=0\Longrightarrow y_i(x_i^\prime w+b)\geq 1\Longleftrightarrow \xi_i=0\\\alpha_i=C\Longrightarrow y_i(x_i^\prime w+b)\leq 1\Longleftrightarrow \xi_i\geq 0\\0<\alpha_i<C\Longrightarrow y_i(x_i^\prime w+b)=1\Longleftrightarrow \xi_i=0\end{array}\right.\end{equation*}

从上面的式子可以看出,当$\alpha_i=0$时,对应的应该是两条间隔线外并且结果正确的点;当$\alpha_i=C$时,对应的应该是两条间隔线内以及结果错误的点;当$0<\alpha_i<C$时,对应的是两条间隔线上的点。故此时的支撑向量(support vectors)应包括两种数据点:a) 两条线内以及结果错误的点;b) 两条间隔线上的点。从$\xi_i$的取值可以看出只有在两条间隔线内以及结果错误的点才会受到惩罚,并结果错误的点所遭受的惩罚更大。

现在,我们从图形上直观的看$\xi_i$的几何意义。由于$\xi_i\geq 1-y_i(x_i^\prime w+b)$且$\xi_i\geq 0$,故$\xi_i=\mathop{max}\{0,1-y_i(x_i^\prime w+b)\}$

  1. 当$y_i(x_i^\prime w+b)>1$时,对应图中C,D点,此时$1-y_i(x_i^\prime w+b)<0$,故$\xi_i=0$,即不受惩罚。
  2. 当$y_i(x_i^\prime w+b)=1$时,对应图中E,G点,此时$1-y_i(x_i^\prime w+b)=0$,故$\xi_i=0$,即不受惩罚。
  3. 当$0<y_i(x_i^\prime w+b)<1$时,对应图中A,H点(分类正确,但在间隔线内),此时$0<1-y_i(x_i^\prime w+b)<1$,故$\xi_i=1-y_i(x_i^\prime w+b)$,遭受0到1之间的惩罚,在图中表示为到相应支撑线的距离(A点到直线2的距离,H点到直线3的距离)。
  4. 当$y_i(x_i^\prime w+b)=0$时,对应图中的F点(在直线1上),此时$\xi_i=1$,遭受惩罚1,表示距图中直线1或者直线2的距离。
  5. 当$y_i(x_i^\prime w+b)<0$时,对应图中的B,I点(分类结果错误),此时$1-y_i(x_i^\prime w+b)>1$,故$\xi_i>1$,遭受大于1的惩罚,在图中表示到相应支撑线的距离(B点到直线3的距离,I点到直线2的距离)。

故目标函数中$C\sum_{i=1}^m\xi_i$可用于表示置信的风险,而$\frac{1}{2}w^\prime w$用于表示间隔的大小(越小表示间隔越大,分类的效果越好),而$C$的取值则用于权衡二者的比重。

Jordan Lecture Note-7: Soft Margin SVM的更多相关文章

  1. 机器学习:SVM(目标函数推导:Hard Margin SVM、Soft Margin SVM)

    一.Hard Margin SVM SVM 的思想,最终用数学表达出来,就是在优化一个有条件的目标函数: 此为 Hard Margin SVM,一切的前提都是样本类型线性可分: 1)思想 SVM 算法 ...

  2. SVM3 Soft Margin SVM

    之前分为两部分讨论过SVM.第一部分讨论了线性SVM,并且针对线性不可分的数据,把原始的问题转化为对偶的SVM求解.http://www.cnblogs.com/futurehau/p/6143178 ...

  3. 机器学习——SVM详解(标准形式,对偶形式,Kernel及Soft Margin)

    (写在前面:机器学习入行快2年了,多多少少用过一些算法,但由于敲公式太过浪费时间,所以一直搁置了开一个机器学习系列的博客.但是现在毕竟是电子化的时代,也不可能每时每刻都带着自己的记事本.如果可以掏出手 ...

  4. Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).

    The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...

  5. Support Vector Machine(3):Soft Margin 平衡之美

    很多材料上面讲道“引入Soft Margin的原因是因为数据线性不可分”,个人认为有些错误,其实再难以被分解的数据,如果我们用很复杂的弯弯绕曲线去做,还是可以被分解,并且映射到高维空间后认为其线性可分 ...

  6. Jordan Lecture Note-1: Introduction

    Jordan Lecture Note-1: Introduction 第一部分要整理的是Jordan的讲义,这份讲义是我刚进实验室时我们老师给我的第一个任务,要求我把讲义上的知识扩充出去,然后每周都 ...

  7. Jordan Lecture Note-3: 梯度投影法

    Jordan Lecture Note-3:梯度投影法 在这一节,我们介绍如何用梯度投影法来解如下的优化问题: \begin{align} \mathop{\min}&\quad f(x)\n ...

  8. Colorful Lecture Note(手工栈)

    题目1 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm ...

  9. HihoCoder - 1103 Colorful Lecture Note

    Little Hi is writing an algorithm lecture note for Little Ho. To make the note more comprehensible, ...

随机推荐

  1. jquery Ajax应用总结

    常见应用: 下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET&quo ...

  2. Mysql主从复制的实现

    MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一 ...

  3. 【转】NDK上建立自己的项目

    原文网址:http://www.cnblogs.com/sardine/archive/2011/07/30/2121845.html 建立Android.mk文件 ~/android-ndk/app ...

  4. jQuery.Validate验证库

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  5. 转换Json格式帮助类

    using System; using System.Collections.Generic; using System.Text; using System.Reflection; using Sy ...

  6. PLSQL Develop 配置

    plsq 连接oracle数据库的配置步骤: 1.下载oracle客户端: 下载地址:http://www.oracle.com/technetwork/topics/winx64soft-08954 ...

  7. EF5.0修改实体的时候,出现“对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性这个错误

    对于这个错误,要在SaveChanges前关闭验证实体有效性(ValidateOnSaveEnabled)这个开关 db.Configuration.ValidateOnSaveEnabled = f ...

  8. 【Kafka入门】Kafka基础结构和知识

    基本概念的总结 在基本的Kafka架构中,producer将消息发布到Kafka话题中,一个Kafka话题通常指消息的类别或者名称,Kafka话题被集群中一个充当Kafka server角色的 bro ...

  9. Spring配置MyBatis

    1.MyBatis配置文件(mybatis-config) <?xml version="1.0" encoding="UTF-8"?> <! ...

  10. 转:并查集总结 例题:hdoj 1232 畅通工程

    引述之类的就免了,我们现在做题碰到的并查集基础题目大都是连通城市(或者村庄学校),接下来我们就称每一个城市为一个元素.我们解决此类题目运用的是树结构,每个集合用一棵树表示,而树的节点用于存储集合中的元 ...