【机器学习】深入探索SVM概念及其核方法

发布于:2025-02-10 ⋅ 阅读:(59) ⋅ 点赞:(0)

目录

🍔支持向量机概述

🍔软间隔和硬间隔

🍔 惩罚参数 C 的作用

🍔 核方法

🍔 损失函数

🍔 小结


 

学习目标

  • 了解支持向量机的优化目标

  • 了解软间隔和硬间隔的区别

  • 了解惩罚参数 C 的作用

  • 知道常用的核方法

  • 知道SVM的损失函数

🍔支持向量机概述

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

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

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

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

🍔软间隔和硬间隔

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

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

🍔 惩罚参数 C 的作用

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

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

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

🍔 核方法

当存在线性不可分的场景时,我们需要使用核函数来提高训练样本的维度、或者将训练样本投向高维

高斯核函数使用较多。

  1. 线性核:一般是不增加数据维度,而是预先计算内积,提高速度

  2. 多项式核:一般是通过增加多项式特征,提升数据维度,并计算内积

  3. 高斯核(RBF、径向基函数):一般是通过将样本投射到无限维空间,使得原来不可分的数据变得可分。

  4. 其他了解即可

SVM 默认使用 RBF 核函数,将低维空间样本投射到高维空间,再寻找分割超平面。

🍔 损失函数

0-1 损失:

  1. 当正例样本落在 y=0 下方则损失为 0,否则损失为 1.

  2. 当负例样本落在 y=0 上方则损失为0,否则损失为 1.

Hinge (合页)损失:

  1. 当正例落在 y >= 1 一侧则损失为0,否则距离越远则损失越大.

  2. 当负例落在 y <= -1 一侧则损失为0,否则距离越远则损失越大.

Logistic 损失:

  1. 当正例落在 y > 0 一侧,并且距离 y=0 越远则损失越小.

  2. 当负例落在 y < 0 一侧,并且距离 y=0 越远则损失越小.

​​​​​​​

🍔 小结​​​​​​​

  • 支持向量机可用于回归问题、也可用于分类问题

  • 硬间隔指的是样本必须全部分类正确,软间隔指的是允许部分样本间隔违例

  • 惩罚参数 C 用于惩罚间隔违例样本带来的损失,C 越大越不能容忍间隔违例,C 越小越能容忍间隔违例

  • 常用的核方法:线性核,多项式核,高斯核

  • 损失函数包括 0-1 损失,Hinge (合页)损失,Logistic 损失

 


网站公告

今日签到

点亮在社区的每一天
去签到