感知机-支持向量机的简单详细理解
目录
感知机
感知机模型
感知机是什么?
简单地说感知机是一种映射,对来自输入空间的特征,映射到输出空间中,它是一种线性分类器,只输出正负结果。
将称为感知机,w,b分别为该感知机的权值(weight)和偏置(bias),sign是符号函数,有两种输出结果
感知机的几何解释
从符号函数可以感受到感知机就是为了成就一个分离超平面,这个平面可以根据线性函数将特征空间分成正负两部分,达到分类的效果。用图以助理解
图中的细节原点指向超平面的距离,以及向量的方向将在下面交代。
感知机的学习
感知机作为一种监督学习的模型,其存在的意义固然是给定一堆带标注的数据让它训练出一个模型,以助于对未知特征的标注。因此感知机的学习就是训练出中的w和b。
定义点到超平面的距离
空间中的点到超平面S的距离为 ,证明见本节“距离函数的证明”。
定义损失函数
将训练数据中被误分类的点到超平面的距离总和定义为感知机的损失期望
,M表示误分类的集合
当时,的值总为负,对总和加上符号表示取损失值为正。
如果不考虑不考虑权值w的2-范数,则损失函数可以简化为
距离函数的证明
1.首先明确一个,权值向量的方向总是垂直于超平面*①。
因为超平面S:
有 ,直观看来就是上图超平面直线的斜率
而权值向量 ,映射到上面的图中,将其看成直线,其斜率为
有 ,表示。
2.令表示空间上的点,表示超平面上的点,两点的距离为d,
有
因为 表示超平面,
则
由上面的注释*①处知道
所以
也解释了上图中原点指向超平面的距离。
感知机的学习算法
就是最小化损失函数
损失函数的梯度
权值和偏置的更新
给定学习率,因为梯度总是指向最函数上升最快的方向(在低维空间看来就是垂直于等高线并指向大的一方)
至于的选择和调整又是一个知识点可参考其他博客。
支持向量机
感知机只要求得到一个可以划分特征空间的超平面,但这个超平面不唯一。假如在实数数轴上想求得一条线划分和,那么直线可以有很多条,如都可以,但是如果让你选择一个最好的线划分对A,B,你肯定会说你选择。为什么能?因为是直觉和经验告诉你的啊!直觉和经验就是让自己做风险最小的事。因为训练样本的分布跟总体分布总是有差别的,我们能做到的就是尽量地给出空间去容纳偏差,以增强模型的范化能力,选择就是风险最小的。这就是支持向量机的核心思想。
线性支持向量机
函数间隔
样本点到超平面的函数间隔定义为
所有样本点到超平面的最小距离定义为
当w和b同比例增加时,函数距离是一样的,为了避免这种情况发生产生干扰,我们定义几何间隔
几何间隔
还记得我们初中学过的点到直线的距离公式吗?
因此定义几何间隔(点到超平面的距离)
所有样本点到超平面的最小几何间隔
几何间隔与超平面间隔的关系
直线的距离公式向量形式推导
求点到直线的距离
设直线,其一个法向量,直线上的点,则,则
点到L的距离为:
因为超平面,所以有:
,就是需要求的到直线距离的点。
最大间隔超平面
根据几何间隔跟函数间隔的关系可以表示为
令w和b同比例地变化
则模型变化为:
等价于
到这里,线性支持向量机的求解最小求解变成了凸优化标函数求问题的求解
得到分类决策函数
凸优化问题的求解
凸优化问题的通式
因此,原问题变为:
拉格朗日函数求解凸优化问题
构造拉格朗日函数
其求解的原始问题是
对偶问题是
求解对偶问题
(1) 令对w,b求偏导并等于0求解
得
(2) 将1)代入得:
即
(3) 求解对a的极大值,等于求其负数的极小值
求解得到
反代回1)得
对于任意有
分类决策函数可以写为
[1] 李航.统计学习方法[M].北京:清华大学出版社,2012:155-184