写在前面
本系列博客是自己对于《统计学习方法》这本书的读书笔记,在读过每个章节以后根据自己的理解写下这一章的知识框架以及补充一些延伸知识点。
目录
本章框架
根据训练数据的线性可分、近似线性可分、线性不可分这三个程度,SVM由简单到复杂地呈现为线性可分SVM、线性SVM以及非线性SVM三种。本章先分别介绍这三种SVM,再介绍了学习算法(序列最小最优化算法)。
训练数据类型 | 分类器 | 学习策略 | 约束最优化问题 |
线性可分 | 线性可分SVM | 硬间隔最大化 | 原始最优化问题: 最优化的对偶问题: |
近似线性可分 | 线性SVM | 软间隔最大化 | 原始最优化问题: 对偶问题: |
线性不可分 | 非线性SVM三种 | 核函数 | 用核函数来替换对偶问题中的内积 |
线性可分SVM与硬间隔最大化
学习目标:在特征空间中找到一个分离超平面
和感知机的区别:
分类器 | 学习策略 | 解的个数 |
感知机 | 误分类个数最小 | 无穷个 |
线性可分SVM | 硬间隔最大化(几何间隔) | 唯一 |
其中关于间隔:
- 函数间隔(会随w和b线性缩放)
- 几何间隔
支持向量:与分离超平面距离最近的点,超平面是完全由支持向量决定的。
线性SVM与软间隔最大化
给线性可分SVM添加了一个松弛变量。
原始最优化问题是一个凸二次规划问题,w的解唯一但b解不唯一。
合页损失函数
非线性SVM与核函数
核技巧:通过一个非线性变化将输入空间对应到一个高维特征空间,在特征空间中进行线性分类。
核函数:映射后的内积。只定义核函数,不显式地给定映射函数和特征空间。
核函数的应用:线性SVM的对偶问题中,目标函数和决策函数都涉及到实例和实例之间的内积, 将内积替换为核函数。
常用核函数:
多项式核函数、高斯核函数、字符串核函数
序列最小最优化算法(SMO)
“不断地将原二次规划问题分解为只有两个变量的二次规划子问题,并对子问题进行解析求解,直到所有变量满足KKT条件为止。”
补充知识点
欧氏空间与希尔伯特空间
参考博客
凸函数、凸优化、凸二次规划
- 凸函数的定义如下:
这个定义和我们传统的凹凸定义是相反的。
- 凸优化
凸优化是指以下约束最优化:
- 凸二次规划
凸二次规划问题是上述凸优化问题的一个特殊形式,当目标函数 f 是二次型函数且约束函数 g 是仿射函数时,就变成一个凸二次规划问题。
KKT(Karush-Kuhn-Tucher)条件
拉格朗日乘子法和 KKT 条件
参考博客