Jordan Lecture Note-7: 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)\}$

- 当$y_i(x_i^\prime w+b)>1$时,对应图中C,D点,此时$1-y_i(x_i^\prime w+b)<0$,故$\xi_i=0$,即不受惩罚。
- 当$y_i(x_i^\prime w+b)=1$时,对应图中E,G点,此时$1-y_i(x_i^\prime w+b)=0$,故$\xi_i=0$,即不受惩罚。
- 当$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的距离)。
- 当$y_i(x_i^\prime w+b)=0$时,对应图中的F点(在直线1上),此时$\xi_i=1$,遭受惩罚1,表示距图中直线1或者直线2的距离。
- 当$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的更多相关文章
- 机器学习:SVM(目标函数推导:Hard Margin SVM、Soft Margin SVM)
一.Hard Margin SVM SVM 的思想,最终用数学表达出来,就是在优化一个有条件的目标函数: 此为 Hard Margin SVM,一切的前提都是样本类型线性可分: 1)思想 SVM 算法 ...
- SVM3 Soft Margin SVM
之前分为两部分讨论过SVM.第一部分讨论了线性SVM,并且针对线性不可分的数据,把原始的问题转化为对偶的SVM求解.http://www.cnblogs.com/futurehau/p/6143178 ...
- 机器学习——SVM详解(标准形式,对偶形式,Kernel及Soft Margin)
(写在前面:机器学习入行快2年了,多多少少用过一些算法,但由于敲公式太过浪费时间,所以一直搁置了开一个机器学习系列的博客.但是现在毕竟是电子化的时代,也不可能每时每刻都带着自己的记事本.如果可以掏出手 ...
- Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).
The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...
- Support Vector Machine(3):Soft Margin 平衡之美
很多材料上面讲道“引入Soft Margin的原因是因为数据线性不可分”,个人认为有些错误,其实再难以被分解的数据,如果我们用很复杂的弯弯绕曲线去做,还是可以被分解,并且映射到高维空间后认为其线性可分 ...
- Jordan Lecture Note-1: Introduction
Jordan Lecture Note-1: Introduction 第一部分要整理的是Jordan的讲义,这份讲义是我刚进实验室时我们老师给我的第一个任务,要求我把讲义上的知识扩充出去,然后每周都 ...
- Jordan Lecture Note-3: 梯度投影法
Jordan Lecture Note-3:梯度投影法 在这一节,我们介绍如何用梯度投影法来解如下的优化问题: \begin{align} \mathop{\min}&\quad f(x)\n ...
- Colorful Lecture Note(手工栈)
题目1 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm ...
- HihoCoder - 1103 Colorful Lecture Note
Little Hi is writing an algorithm lecture note for Little Ho. To make the note more comprehensible, ...
随机推荐
- postInvalidate、removeAllViewsInLayout、refreshDrawableState用法
postInvalidate.invalidate:会调用控件的onDraw()重绘控件 refreshDrawableState:当控件在使用一个对控件状态敏感的Drawable对象时使用,如一个B ...
- [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- 备份 VPS 上得内容到国内
起源: 最近毕设快开题了,校园网进入了收费测试的阶段,得把车辆的数据库 down 下来.发现国内 down 的速度真心慢呢.于是乎使用了在美国的 VPS 来 down,果不其然,30M 左右的下载速度 ...
- VirtualBox Headless启动虚拟机
习惯了在Windows上来学习和娱乐,所以不能切换到Linux系统. 为了Linux编程,我首先尝试了wubi在Windows上安装双系统,但是发现本来启动很快的Windows8安装了双系统之后,系统 ...
- Anti-Grain Geometry 概述
AGG是一个轻量.灵活.可靠的图形算法库,AGG各部分之间是松耦合的,也即是说各部分可以单独使用. The primary goal of Anti-Grain Geometry is to brea ...
- python 调试
python 调试基本和gdb调试一样,举例: debug .py #!/usr/bin/python print "hello" i=0 for j in range(10) ...
- ZOJ Light Bulb - 3203
题意:人左右走动,求影子L的最长长度. 思路:三分人在D上的位置.注意影子长=D-x+H-(H-h)*D/x. #include<iostream> #include<stdio.h ...
- java 读取文件到String(解决中文乱码)
在改写V&View(维视)时用到了文件管理,需要从html文档读取字符串,可是一直出现中文乱码,一直解决不了.而且很是意外,我在本地运行代码时就能正常读取中文,当放到tomcat上时全是乱码, ...
- cocos2d-x 3.0版本已经加了socket部分
cocos2d-x开发者的福音到了,在3.0版本中新增了HttpClient.HttpRequest.SocketIO.Websocket库,需要网络交互的同学应该可以用到,并且它已经与cocos2d ...