本章主要介绍线性可分支持向量机与硬间隔最大化。
前提知识:
统计学习方法(第二版) 第七章 拉格朗日对偶性-CSDN博客
目录
前言
问题引出与思考回顾
1.回顾感知机
2.回顾逻辑回归
3.寻找更好的超平面
一、线性可分支持向量机与硬间隔最大化
1.线性可分支持向量机
2.函数间隔与几何间隔
3.间隔最大化
4.最大间隔分离超平面存在唯一性
5.支持向量与间隔边界
6.求支持向量例题
7.学习的对偶算法
8.利用对偶函数来求线性可分支持向量机
总结
前言
支持向量机是传统的机器学习方法,在接触到机器学习时,它对我的印象特别深刻,但当时由于时间和能力的有限,只是简单的学习了一下,只是大致了解支持向量机表层是如何工作的,并没有深入了解,今天在以数学的视角再来学习,希望自己能有所收获。
支持向量机(support vector machine),简称SVM,是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。
支持向量机的学习方法包含构建由简至繁的模型,接下来会一点点的介绍。
问题引出与思考回顾
1.回顾感知机
感知机是对于线性可分的数据集来说,就是寻找一个超平面,将正例和负例区分开来,建立感知的损失函数应用随机梯度下降法,求解参数,进而求出超平面。我们知道所求出的超平面是不唯一的,最终结果取决于参数的初值选取和误分类点的选取顺序。对于线性可分的问题,肯定有一个超平面能最好的区分,那这超平面怎么求呢?
对于一个线性可分的数据集来说,让训练误差为零的决策边界有无数条。
2.回顾逻辑回归
逻辑回归在我的个人理解就是寻找一个超平面,经过逻辑斯蒂分布的映射,进而获得概率模型,又回归到寻找一个超平面了,那么还是哪个超平面最好呢?
3.寻找更好的超平面
这里以二维空间来举例子,方便理解。
寻找更好的超平面,以将正例和负例分的开的程度来衡量,超平面分的越开,表示模型的泛化能力比较好,比如下面的例子。
从图中我们可以看到很明显第二个直线将数据集分的更开,因为将数据分开的距离最大。
注意:在橙色线上的数据点为支持向量。后面又支持向量的定义。
一、线性可分支持向量机与硬间隔最大化
1.线性可分支持向量机
线性可分,存在无穷个分离超平面,利用线性可分支持向量机利用间隔最大化,得出最优超平面。
2.函数间隔与几何间隔
函数间隔:顾名思义就是以函数直接来计算出的间隔。
几何间隔:顾名思义就是点到直线距离公式。
3.间隔最大化
寻找几何间隔最大化的超平面。
这里不好理解的就是为什么函数间隔,对目标函数的优化没有影响呢?
我们知道当给定一个超平面时,可能对应无穷个(w,b),这些(w,b)成倍数关系,但一个超平面所确定的支持向量是确定的,那么我们就可能能通过(w,b)到(aw,ab)使得所有支持向量到超平面的函数间隔为1,而对于原来的几何间隔没有变,也就是说对目标函数的优化也没有影响。
这里不理解的好好回到上面再看一下函数间隔与几何间隔。
4.最大间隔分离超平面存在唯一性
最大间隔分离超平面存在唯一性的证明,了解即可。
5.支持向量与间隔边界
6.求支持向量例题
首先构建约束条件。
求解w,b求出超平面,函数间隔等于1的点(数据)为支持向量。
求解约束问题的方法就不具体介绍了,可以用拉格朗日乘数法。
7.学习的对偶算法
通过求解原问题的对偶问题的解来求原问题的解是常用的方法,经过前面的学习多少对对偶问题有了解,凸优化问题的求解。
统计学习方法(第二版) 第七章 拉格朗日对偶性-CSDN博客
8.利用对偶函数来求线性可分支持向量机
总结
熟悉函数间隔和几何间隔,并理解间隔最大化,与原问题的提出,学会利用拉格朗日对偶性来通过对偶函数求解原问题的解,熟悉支持向量,求解支持向量,通过学习的对偶算法来求解超平面。