SVM支持向量机(大间隔分类器)理解及数学原理笔记

简介

本篇博客是对吴恩达老师讲解SVM(Support Vector Machine)的数学原理过程进行的再推导,从逻辑回归开始推导,介绍了SVM的优化目标,解释了为什么SVM会是一个大间距分类器及其工作原理。

logistic regression的代价函数

SVM支持向量机(大间隔分类器)理解及数学原理笔记

logistic regression的每一项训练样本产生的代价函数如上图所示。对于该代价函数,当训练样本的y值分别为0或1时,图像如下所示。

SVM支持向量机(大间隔分类器)理解及数学原理笔记
该图中紫红色曲线表示了,在SVM中,对两种情况的代价函数所做的近似表示。
logistic regression的总体代价函数(带正则化项)如下:

SVM支持向量机(大间隔分类器)理解及数学原理笔记

SVM的代价函数

为最小化logistic regression的上述代价函数对应的θ值,我们把整体表达式乘以m进行简化。
我们可以将训练样本的代价函数部分视为A,将正则化部分视为B,那么整体就相当于 A + λB 。对于SVM来讲,我们按照惯例用另一个参数C来表示平衡,即 CA+B 。
综上,SVM的总体优化目标(代价函数)可表示为:
SVM支持向量机(大间隔分类器)理解及数学原理笔记
对于训练样本,正样本的代价函数如下图左,负样本的代价函数如下图右。
SVM支持向量机(大间隔分类器)理解及数学原理笔记
如果SVM代价函数中的C设置偏大,同时想要代价函数最小,那么SVM会迫切的希望将前部分代价逼近于0。即偏好于设置一个分割界限使得正样本θTx >= 1,负样本θTx <= -1。即选择一个大间距分类边界。

但如果我们将参数C设置的过大,则训练出的SVM会对异常点非常敏感,如图。
SVM支持向量机(大间隔分类器)理解及数学原理笔记
因此我们对于C的选择,和对于正则化参数选择一样,需要选择一个适中的值。

接下来我们讨论一下后面的部分,即:
SVM支持向量机(大间隔分类器)理解及数学原理笔记
因为如果我们的划分能够使训练样本符合上述的限制条件的话,代价函数中的第一部分就近似为0,那么我们现在要做的就是优化上图中的后一部分,使它最小。
很容易的,根据L2范数的定义,该式子可以转化为:1/2||θ||2
于此同时,对于两向量,例如u、v
SVM支持向量机(大间隔分类器)理解及数学原理笔记
可知:uTv = p||u||
其中p为向量v到向量u的投影长度。
SVM支持向量机(大间隔分类器)理解及数学原理笔记
故,对于参数向量θ及样本输入向量x,θTx = p||θ||
SVM支持向量机(大间隔分类器)理解及数学原理笔记
现假设我们对正负样本选取了绿色的分割边界(假设θ0为0),则其参数向量θ为垂直于绿色边界的向量(因为在边界上的样本对应的向量与θ向量应为正交关系,即θTx = 0)。那么对应的,正负样本关于θ的投影p(1)、p(2)如图。SVM支持向量机(大间隔分类器)理解及数学原理笔记
此时由于边界距样本较近,p很小,我们要想满足假设条件:正样本θTx >= 1,负样本θTx <= -1,也即正样本p||θ||>= 1,负样本p||θ|| <= -1,则需要很大的||θ||,但这会导致后一部分代价函数:1/2||θ||2变大!故SVM会自动选择较大间距的分割边界!
SVM支持向量机(大间隔分类器)理解及数学原理笔记