70-什么是支撑向量机(SVM)

支撑向量机(SVM)

  我们将开始学习一种新的机器学习算法:支撑向量机(SVM)

  那什么是支撑向量机呢?它的英文是 Support Vector Machine。其实我们使用支撑向量机的思想既可以解决分类问题,也可以解决回归问题。我们首先会学习使用支撑向量机解决分类问题,之后会学习使用支撑向量机来解决回归问题。

  我们先来看看支撑向量机的思想到底是怎样的?下面是一个二维的特征平面,所有的样本点分成了两类,逻辑回归就是在该平面中找到了一个决策边界,如果在决策边界的一侧,我们的算法就认为这些数据属于某一类,如果位于决策边界的另一侧,就认为属于另一类。

在这里插入图片描述
  
  比如说,找的决策边界是这样的一条直线。在决策边界上方就属于红色点,在决策边界下方就属于蓝色点。

在这里插入图片描述

  不过,也存在一些问题,这个决策边界并不唯一。下图中 y 1 y_1 y1 是一个决策边界,相应的, y 2 y_2 y2 也是一个决策边界。

在这里插入图片描述
  
  对于这种决策边界不唯一的问题,通常有一个专门的术语叫做不适定问题。那么回忆一下,逻辑回归算法是怎么解决这个不适定的问题的。其实它解决的思路是定义了一个概率函数(Sigmoid 函数),根据这个概率函数进行建模,得到了一个损失函数,我们最小化这个损失函数从而求出一条决策边界。这就是逻辑回归解决不适定问题的思路。在这里,这个损失函数完全由我们的训练数据集所决定的。

  支撑向量机解决问题的方式稍有不同。假设我们得到的决策边界是这样一条直线。

在这里插入图片描述
  
  显然在训练数据集上,决策边界非常好的将数据分成了两部分。但是有一个非常重要的问题就是模型的泛化能力。换句话说,当我们求出了决策边界之后,这个决策边界对于新的样本是不是一个好的决策边界呢?它能不能非常好的得到那些未知的数据相应的分类结果呢?

  假设我们有一个未知的数据样本点。

在这里插入图片描述
  
  根据它现在所处的位置,它应该是分成蓝色这一类的。但是我们直观的觉得将这个样本点分成红色的类别是更加合理的。换句话说,就是我们当前求出的决策边界它的泛化效果不够好。这是为什么呢?是因为我们现在求出的决策边界离红色的点离得太近了,这就导致很多其它很多离红色点很近的点很有可能就被误分在了决策边界的另外一侧。那什么样的决策边界比较好呢?

  下图中的决策边界相对来说就比较好。

在这里插入图片描述
  
  这根直线的特点就是使得离这根直线最近的那些点离这根直线的距离尽可能的远。

在这里插入图片描述
  
  换句话说,就是让决策边界既离这些红色的点尽可能的远,又离这些蓝色的点尽可能的远。同时又能够很好地分辨红色和蓝色两个类别的数据点。

  也就是我们要找到一个决策边界,这条决策边界离我们的分类样本尽可能的远,我们直观的观察,这样的决策边界相对来说是比较好的。实际上,这样的一个假设不仅仅是一个直观的假设,它背后也是有数学的理论的。其实也正是因为这个原因,SVM 也是统计学中一种非常非常重要的方法,它的背后是有极强的统计理论的支撑,所以 SVM 在机器学习领域是一类非常重要的方法。

  再来看看 SVM 定义出的决策边界有什么特点?就是使得离决策边界最近的那些点离决策边界尽可能地远。在上面的例子中,有三个点离决策边界最近(两红一蓝)。其实这些数据点又定义出了两条直线,这两条直线和决策边界是平行的,这两根直线相当于定义了两个区域,在这两根直线之间将不再有任何的数据点。而 SVM 最终得到的决策边界其实就是这个区域中间的那根线。

在这里插入图片描述
  
  对于我们的支撑向量机来说,它相当于要找到中间的那根线,将它作为最优的决策边界。这个决策边界距离两个类别最近的样本最远,这些样本点就被称为支撑向量

在这里插入图片描述
  

  进一步,图中三条直线之间都有一定的距离 d d d

在这里插入图片描述
  通常我们将这两条直线之间的距离称为 margin。那么这个 margin 的大小就是 2 倍的 d d d

在这里插入图片描述
  
  那么我们的 SVM 要做什么呢?SVM 算法要做的就是最大化 margin。我们再次将机器学习的思路转化成了一个最优值求解的问题。其实上面的例子都是针对线性可分的问题来说,那什么是线性可分呢?其实就是我们的样本点来说。它首先要存在一根直线可以将这些点划分,在这种情况下,我们才定义出了 margin,这样的算法又被称为 Hard Margin SVM(严格的) 。但是在真实情况下,我们的数据有很多情况下是线性不可分的,那么在这种情况下,SVM 通过进一步的改进,得到 Soft Margin SVM。

  我们想要最大化 margin,首先我们得用数学的语言将 margin 表示出来。这一步将在下一篇博客中介绍~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值