跳转至

支持向量机概念

学习目标

  1. 了解支持向量机的优化目标
  2. 了解软间隔和硬间隔的区别
  3. 了解惩罚参数 C 的作用

1. 支持向量机概述

支持向量机在深度学习技术出现之前,使用高斯核的支持向量机在很多分类问题上取得了很好的结果,支持向量机不仅用于分类,还可以用于回归问题。它具有泛化性能好,适合小样本和高维特征的优点。

SVM 是 N 维空间的分类超平面,它将空间切分成两部分。对于二维空间,它是一条线,对于三维空间,它是一个平面,对于更高维空间,它是超平面。

一般情况下,给定一组样本可以得到不止一个可行的线性分类器。那么,在多个可行的线性分类器中,什么样的分类器是最好的?

直观上看,为了得到泛化性更好的分类器,分类平面应该应该不偏向于任何一类,并且距离两个样本都尽可能远,这种以最大化分类间隔为目标的线性分类器就是支持向量机。

2. 软间隔和硬间隔

硬间隔指的是让所有的样本都不在最大间隔之间,并位于正确的一边,这就是硬间隔。如果出现异常值、或者样本不能线性可分,此时硬间隔无法实现。

软间隔指的是我们容忍一部分样本在最大间隔之内,甚至在错误的一边。相对来说,软间隔可以应用在一些线性不可分的场景。

3. 惩罚参数 C 的作用

在硬间隔的情况下,我们只考虑如何使得间隔达到最大。在软间隔的情况,我们即要考虑最大化间隔,也要考虑到那些限制间隔违例的样本带来的损失。

C越大说明, 违反限制间隔的样本点带来的损失就越大,就要减少这些样本的数量,所以间隔就要越小。

C越小说明, 违反限制间隔的样本点带来的损失就越小,可以适当增大间隔,以增加模型的泛化能力。

4. 小结

  1. 支持向量机可用于回归问题、也可用于分类问题
  2. 硬间隔指的是样本必须全部分类正确,软间隔指的是允许部分样本间隔违例
  3. 惩罚参数 C 用于惩罚间隔违例样本带来的损失,C 越大越不能容忍间隔违例,C 越小越能容忍间隔违例