type
status
date
slug
summary
tags
category
icon
password

notion image

核心思想

notion image
  • 最大化中间隔离带 margin
  • 通过关键几个数据 support vector 的民主集中
 
  • 与线性模型相比
分类标准
核心思想
最优化目标
泛化能力
线性模型
决策边界
民主投票
点到直线距离和
一般
SVM
超平面
民主集中
margin
提升

SVM 硬间隔(Hard Marin)

notion image
  • 最大化间隔 margin
  • 最大化距离 d
  • 点到直线的垂直距离
 

数学原理

  • 超平面
  • 空间距离
  • 隔离带
即将原式子化为求 d 最大化,即最小化 ,为方便转为求
最终得出目标为在不等式条件下最优化问题求解:

SVM 软间隔(Soft Margin)

💡
建立容错机制,进一步提升泛化能力
notion image
  • 在有异常数据进入间隔时候忽视,允许部分异常数值
  • 即设置缓冲区的意思
 

数学原理

求:
其中后半部分 为所有容错的和, 为系数

线性 SVM 分类器代码

  • 数据集
notion image
  • 间隔绘制函数
  • Sklearn 中的 SVM
  • 调整参数 C 的结果
notion image
  • 多分类
  • 代码文件

非线性 SVM 核函数

💡
对线性不可分的进行升维操作

核技巧的作用

  • 映射到高维度空间
  • 计算元素内积
  • 不仅限于 SVM

常见核函数

  • 线性核
  • 多项式核
  • 径向基函数核
  • sigmoid 核
  • 多数情况径向基函数高斯核不错

非线性 SVM 代码实现

代码实现

  • 数据集
notion image
  • 线性核 SVM
notion image
notion image
  • 利用多项式核函数
notion image
  • 利用高斯核函数
                  gamma = 0.1
gamma = 0.1
                    gamma = 1
gamma = 1
                   gamma = 10
gamma = 10

代码文件

如何选择核函数

  • 当特征多且接近样本数量,可直接选择线性核 SVM
  • 当特征数少,样本数正常,推荐使用高斯核函数
  • 当特征数少,样本数很大,建议使用多项式核函数

SVM 回归任务实现

notion image
  • 与分类不同的为回归为使更多的点于间隔中

代码实现

  • 数据集
notion image
  • 进行回归
notion image
  • 使用了核函数
epsilon = 0.01      
score = 0.837258
epsilon = 0.01 score = 0.837258
epsilon = 0.1
score = 0.837258
epsilon = 0.1 score = 0.837258
epsilon = 4      
score = 0.550610
epsilon = 4 score = 0.550610

SVM的优缺点和适用条件

优点

  • 高效处理非线性数据,拥有核函数
  • 良好的泛化能力,拥有 L2 正则化,能够防止过拟合
  • 解决分类和回归问题,SVC,SVR
  • 稳定性

缺点

  • 选择合适的核函数困难
  • 大量内存需求
  • 大数据集上训练时间长
  • 难以解释

适用条件

  • 小样本数据
  • 非线性数据
朴素贝叶斯 神经网络
Loading...