机器学习-5 支持向量机SVM

一、概念和背景

  SVM:Support Vector Machine 支持向量机。

  最早是由Vladimir N. Vapnik和Alexey Ya. Chervonenkis在1963年提出的。

  目前的版本(soft margin)是由Corinna Cortes和Vapnik在1993年提出,并在1995年发表。

  在深度学习(2012)出现之前,SVM被认为是机器学习中近十几年来最成功,表现最好的算法。

  机器学习的一般框架:

    训练集--->提取特征向量--->结合一定的算法(决策树、KNN等)--->结果

二、SVM

  机器学习-5 支持向量机SVM

  在上图中,我们有一些二维的样本,我们需要画一条线将他们区分开,现有绿色、蓝色、红色三条线,哪一条是最好的呢?

  很明显,我们会认为红色线是最能明确划分两种样本的分界线。

  我们将二维样本扩展到三维(三维空间)中,则这条红线会变成一个面红色的面,可以用来在三维空间中划分三维样本。

  再将三维空间扩展为N维,则红色的面会变成一个超平面(hyper plane),这个超平面可以用来划分N维样本。

  边际(margin):用于确定超平面位置,使不同类样本间边际(距离)最大。(例如黑点到白点的距离)

  机器学习-5 支持向量机SVM

  

三、线性可区分和线性不可区分

  线性可分:在样本空间中,可以使用一条直线(二维)、一个平面(三维)或一个超平面(N维)将样本区分开,叫做线性可区分。例如上面图中的情况。

  线性不可分:不能使用一条直线(二维)、一个平面(三维)或一个超平面(N维)将样本区分开,叫做线性不可区分。如下图所示情况:

  机器学习-5 支持向量机SVM机器学习-5 支持向量机SVM

 

四、确定超平面

  如何确定超平面:

    用于划分样本的超平面可以有无数个,但是最优超平面是到不同类样本距离相等(并且边际最大)的超平面。

  假设训练样本是二维的,X=(x1,x2);

  1.超平面方程为:

    机器学习-5 支持向量机SVM

  其中的w0相当于x0=1的情况。(和神经网络中的bias一样)

  2.超平面两边的点满足:

    机器学习-5 支持向量机SVM

  3.找到超平面两边的另外两个超平面:

    机器学习-5 支持向量机SVM

    所有坐落在该两个超平面(H1,H2)上的点被称作“支持向量(support vector)”

  4.分界超平面与处于H1和H2上的点(支持向量)的距离为:

    机器学习-5 支持向量机SVM

    其中||W||是向量的范数,即模(norm)。

      机器学习-5 支持向量机SVM

  5.最大边际距离(H1到H2的距离)为:

    机器学习-5 支持向量机SVM

上一篇:django.db.utils.OperationalError: 1050解决方案


下一篇:【机器学习】支持向量机SVM