SVM-线性可分支持向量机
SVM-线性可分支持向量机
如果您想体验更好的阅读:请戳这里littlefish.top
函数间隔和几何间隔
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
w∗⋅x+b∗=0
以及相应的分类决策函数
f(x)=sign(w∗⋅x+b∗)
称为线性可分支持向量机。
对于给定训练集合T和超平面(w,b),定义超平面(w,b)关于样本点(xi,yi)的函数间隔为
ˆγi=yi(w⋅xi+b)
定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔之最小值,
ˆγ=mini=1,...,Nˆγi
对于给定的训练数据集和超平面(w,b),定义超平面(w,b)关于样本(xi,yi)的几何间隔为
ˆγi=yi(w||w||⋅xi+b||w||)
定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T中所有样本点(xi,yi)的几何间隔之最小值
γ=mini=1,...,Nγi
从而得到几何间隔和函数间隔的关系:
γ=ˆγi||w||
间隔最大化
对数据集合找到几何间隔最大的超平面意味着以充分大的确信度来对训练数据进行分类。
最大化超平面可表示为:
maxw,bγ s.t.yi(w||w||⋅xi+b||w||)≥γ,i=1,...,N
即最大化超平面(w,b)关于训练结合的间隔γ,约束条件表示的超平面(w,b)关于每个训练样本点的几何间隔至少为γ。
而函数间隔对于上述公式并没有影响,假设按比例改变为λw和λb,那么函数间隔改变为λˆγ
改变为相应的函数距离,如下
maxw,bˆγ||w|| s.t.yi(w⋅xi+b)≥ˆγ,i=1,...,N
由于分母和分子同时拥有λ,因此成比例改变并不会对函数间隔产生影响,从而对目标函数的优化也没有影响。
令ˆγ=1,代入上式,最大化1||w||等价于最小化12||w||,从而得到线性可分支持向量机学习的最优化问题
minw,b12||w||2 s.t.yi(w⋅xi+b)−1≥0,i=1,2,...,N
这是一个凸二次规划问题。
支持向量
在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector),即
yi(w⋅xi+b)=1
对于y=+1的正例来说,支持向量在超平面
H1:w⋅x+b=1
对于y=-1的负例来说,支持向量在超平面
H2:w⋅x+b=−1
如图中, H1和H2平行,之间形成一条长带,其宽度为2||w||。在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用,如果移动支持向量改变所求的解,但是如果在间隔边界(H1和H2)以外移动其他实例点,解都不会发生改变。
对偶算法
为了求解线性可分支持向量机的最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到最优解。
定义拉格朗日函数:
L(w,b,α)=12||w||2−n∑i=0αiyi(w⋅xi+b)+N∑i=1αi
其中,α=(α1,α2,...,αN)T为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题需要先求L(w,b,α)对(w,b)求极小,再对α求极大:
max
- \min_{w,b} L(w,b,\alpha)
分别对w,b,\alpha求偏导数,并令其等于0,将结果带入原公式中即得
\min_{w,b} L(w,b,\alpha) = -\frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^N \alpha_i
- 求\min_{w,b} L(w, b, \alpha)对\alpha的极大
\max_\alpha -\frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) + \sum_{i=1}^N \alpha_i \ s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0,i=1,2,...,N
等价于:
\min_\alpha \frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j(x_i \cdot x_j) - \sum_{i=1}^N \alpha_i \ s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0, i=1,2,...,N
线性可分支持向量机学习算法
(1)构造并求解约束最优化问题
\min_\alpha \frac 1 2 \sum_{i-=1}^N \sum_{j-=1}^N \alpha_i \alpha_j y_i y_j(x_i \cdot x_j) - \sum_{i=1}^N \alpha_i \ s.t.\quad \sum_{i=1}^N\alpha_i y_i=0, \quad \alpha_i > 0, i=1,2,...,N
(2)计算
w^* = \sum_{i=1}^N \alpha_i^* y_i x_i
并选择$\alpha*的一个正分量\alpha_j*$,计算
b^* = y_i - \sum_{i=1}^N \alpha_i^*y_i(x_i \cdot x_j)
(3)求得分离超平面
w^* \cdot x + b^* = 0
分类决策函数
f(x) = sign(w^* \cdot x + b^*)
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012
【推荐】FlashTable:表单开发界的极速跑车,让你的开发效率一路狂飙
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步