支持向量机学习笔记

208 阅读2分钟

支持向量机(SVM)

主要内容

一、支持向量机概述

二、线性支持向量机

1、间隔与支持向量

2、拉格朗日乘子法

3、SMO算法

三、线性不可分支持向量机与核函数

四、线性支持向量机的软间隔最大化模型

五、支持向量回归

一、 支持向量机概述

支持向量机(Support Vector Machines, SVM)是一种机器学习算法。支持向量(Support Vector)就是离分隔超平面最近的那些点。 机(Machine)就是表示一种算法。

二、 线性支持向量机

1.间隔与支持向量

给定训练样本集 D=\left\{(x_1,y_1 ),(x_2,y_2 ),...,(x_m,y_m)\right\},y_i∈\left\{-1,+1\right\}x_i为第i个特征向量,也称为实例,y_ix_i的类标记。当y_i=+1时,称x_i为正例;当y_i=-1时,称x_i为负例。(x_i,y_i)称为样本点。分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开

如图所示

在样本空间中,划分超平面可通过如下线性方程来描述:

w^Tx+b

1.1超平面方程

在二维空间里,一条直线的方程可表示为

Ax+By+C=0

三维空间里,平面的方程可以表示为

Ax+By+Cz+D=0

依次推广,n维空间的超平面方程可以表示为

其中w=(w_1,w_2,...,w_n)为法向量,决定了超平面的方向,b为位移项,决定了超平面与原点之间的距离。

1.2函数间隔和几何间隔

一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面w^T x+b=0确定的情况下,|w^T x+b=0|能够相对的表示点x距离超平面的远近。而w^T x+b=0的符号与类标记y_i的符号是否一致能够表示分类是否正确。所以可以用y_i (w^T x+b)来表示分类的正确性及确信度。

定义1(函数间隔)对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点(x_i y_i)的函数间隔为

r_i^,=y_i (w^T x_i+b)

定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(x_i y_i)的函数间隔之最小值,即

函数间隔可以表示分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变wb,例如将它们改为2w2b,超平面没有改变,但函数间隔却成为原来的2倍。这一事实告诉我们,可以对分离超平面的法向量w加某些约束,如规范化,||w||=1,使得间隔时确定的。这时函数间隔成为几何间隔。

下图给出了超平面(w,b)及法向量w。点A表示某一实例x_i,其类标记为y_i=+1。点A与超平面(w,b)的距离由线段AB给出,记作r_i

r_i=\frac{(w^T x_i+b)}{||w||}

未完待续...