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, ...
随机推荐
- amoeba-mysql配置安装(收集整理)
本文收集整理自: Amoeba搞定mysql主从读写分离 http://blog.chinaunix.net/uid-20639775-id-154600.html Amoeba非常好用的mysql集 ...
- I.MX6 Android 移除 Settings wifi功能
/********************************************************************* * I.MX6 Android 移除 Settings w ...
- http://www.cnblogs.com/youfan/articles/3216816.html
我对 CodeFirst 的理解,与之对应的有 ModelFirst与 DatabaseFirst ,三者各有千秋,依项目实际情况自行选择. 1.开发过程中先行设计数据库并依此在项目中生成 *.dbm ...
- [OFBiz]简介 二
1. 执行ant run-install后,生成了55个ofbiz的jar.加上最初的E:\apache-ofbiz-10.04\framework\entity\lib\ofbiz-minerva. ...
- Flash AIR14导出ipa到Mac上的iOS模拟器测试
没错!你没看错!俺这篇博客就是关于Flash AIR的! ----------------无聊的分割线------------------ 朋友最近学习Flash AIR for iOS开发,想找我帮 ...
- windows安装python开发环境
1.下载python 官网下载最新版python python-2.7.5.amd64.msi http://vdisk.weibo.com/s/Cd8pPaw56OWbR 2.下载PyCharm 官 ...
- HDU5739-Fantasia(tarjan求割点)
题意:给一个无向图n个点1~n,m条边,sigma(i*zi)%(1e9+7).zi是这个图删掉i点之后的价值.一个图的价值是所有连通子图的价值之和,连通图的价值是每个点的乘积. 题解:讲道理这题不算 ...
- Apache Hadoop压缩包与Eclipse结合,导入jar包归整总结(手动)
************************* 有些,是没必要全导入的.以后到工作了,用Maven,就自动会导入其中一些.************************ 一般,工作中,用的更多 ...
- 字符流缓冲区的使用之BufferedWriter和BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取,代码中使用了输入缓冲区的特有的方法:readLine(),获取一行文本数据 import java.io.BufferedRea ...
- Android实例-为程序创建快捷方式(未测试)
结果: 1.因为只有小米手机,没有三星手机,没法测试.如果哪位神测试过的话,记得M我哦,谢了. 实例代码: unit Unit1; interface uses System.SysUtils, S ...