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αminw,bL(w,b,α)
- minw,bL(w,b,α)
分别对w,b,α求偏导数,并令其等于0,将结果带入原公式中即得
minw,bL(w,b,α)=−12N∑i−=1N∑j−=1αiαjyiyj(xi⋅xj)+N∑i=1αi
- 求minw,bL(w,b,α)对α的极大
maxα−12N∑i−=1N∑j−=1αiαjyiyj(xi⋅xj)+N∑i=1αi s.t.N∑i=1αiyi=0,αi>0,i=1,2,...,N
等价于:
minα12N∑i−=1N∑j−=1αiαjyiyj(xi⋅xj)−N∑i=1αi s.t.N∑i=1αiyi=0,αi>0,i=1,2,...,N
线性可分支持向量机学习算法
(1)构造并求解约束最优化问题
minα12N∑i−=1N∑j−=1αiαjyiyj(xi⋅xj)−N∑i=1αi s.t.N∑i=1αiyi=0,αi>0,i=1,2,...,N
(2)计算
w∗=N∑i=1α∗iyixi
并选择$\alpha*的一个正分量\alpha_j*$,计算
b∗=yi−N∑i=1α∗iyi(xi⋅xj)
(3)求得分离超平面
w∗⋅x+b∗=0
分类决策函数
f(x)=sign(w∗⋅x+b∗)
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
2013-06-17 Server Develop (五) Linux并发模型