支持向量机简单数学推导(1)

介绍支持向量机(SVM)的基本概念与原理,包括线性可分情况下的超平面寻找方法,函数间隔与几何间隔的区别,以及如何通过最大化几何间隔来优化分类器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

简介

**
支持向量机(support vector machine),一般简称为SVM,是一种二分类模型,学习策略是间隔最大化,最终转化为二次规划的求解问题。
假设有数据集T={(x1,y1),(x2,y2),…,(xn,yn)}T=\lbrace(x_1,y_1 ),(x_2,y_2 ),…,(x_n, y_n )\rbraceT={(x1,y1),(x2,y2),,(xn,yn)},其中xix_ixi表示第i个实例,yiy_iyi表示数据的类标记,y∈{+1,-1},当y=+1时表示案例属于正类,y=-1时表示案例属于负类。再假设数据集线性可分。
学习的目标就是在特征空间中找到一个超平面ω∗x+b=0ω*x+b=0ωx+b=0,将数据集分为正负两类。
找出超平面之后,要通过决策函数对数据类型进行判断,本文采用决策函数为f(x)=sign(ω∗x+b)f(x)=sign(ω*x+b)f(x)=sign(ωx+b)
f(x)={1,if x&gt;=0 0,if x&lt;0  f(x)= \begin{cases} 1, &amp; \text {if $x&gt;=0$ } \\ 0, &amp; \text{if $x&lt;0$ } \end{cases} f(x)={1,0,if x>=if x<

函数间隔和几何间隔

一般情况下,某点距超平面的距离可以表示分类的确信程度,在超平面ω∗x+b=0ω*x+b=0ωx+b=0确定的情况下,∣ω∗x+b∣|ω*x+b|ωx+b可以表示该点到平面的距离。对点(xi,yi)(x_i,y_i)(xi,yi)(ω∗xi+b)(ω*x_i+b)(ωxi+b)yiy_iyi的符号可以判断分类是否正确,此时定义该点的函数间隔为:ιi=yi∗(ω∗xi+b)\iota_i=y_i*(ω*x_i+b)ιi=yi(ωxi+b)
定义超平面(ω,b)关于数据集T的函数间隔为所有实例点的函数间隔的最小值,即:
ι=min(⁡ιi)\iota=min(⁡\iota_i )ι=min(ιi)
函数间隔可以表示分类的正确性,但是只要成比例的改变超平面的参数,函数间隔会发生改变但是分类结果保持不变,所以需要对函数间隔加一些约束,例如规范化超平面的法向量,∣∣ω∣∣=1||ω||=1ω=1,这使得间隔时确定的,此时函数间隔变为几何间隔。
定义数据集中点(xi,yi)(x_i,y_i)(xi,yi)的几何间隔为:
γ=yi∗(w∣∣ω∣∣∗w+b∣∣ω∣∣)\gamma=y_i*(\frac{w}{||ω||}*w+\frac{b}{||ω||})γ=yi(ωww+ωb)
与函数间隔相似的是定义超平面(ω,b)关于数据集T的几何间隔为所有实例点的几何间隔的最小值,即:γ=min⁡(γi)\gamma=min⁡(γ_i )γ=min(γi)
根据两者的定义,函数间隔和几何关系有如下关系:
ι=γ∗∣(∣ω∣)∣\iota=γ*|(|ω|)|ι=γ(ω)
其中∣∣ω∣∣||ω||ω是ω的L2L_2L2范式,就是内积。

(硬)间隔最大化

支持向量机的基本思路就是找到可以把数据分为正负两类的超平面,对于数据集T来说在分类精度不确定的情况下可以找到无数个超平面,为了让分类准确,我们让几何间隔保持最大,也就是说最难分的点(靠近超平面的点)也有足够的确信度将其分开,此时超平面对未知的新实例具有较好的分类作用。
将几何间隔最大化问题写成如下方程:
maxγw,bmax \quad\gamma_{w,b}maxγw,b
s.t.yi(w∣∣ω∣∣∗w+b∣∣ω∣∣)≥γi=1,2,…,ns.t.\qquad y_i (\frac{w}{||ω||}*w+\frac{b}{||ω||})≥γ\qquad i=1,2,…,ns.t.yi(ωww+ωb)γi=1,2,,n
方程表示我们希望最大化几何间隔γ,而数据集中所有点的几何间隔至少为γ。考虑到几何间隔和函数间隔的关系,方程用函数间隔表示为:
maxι∣∣w∣∣max\quad\frac{\iota}{||w||}maxwι
s.t.yi∗(w∗xi+b)≥ιii=1,2,...,ns.t.\quad y_i*(w*x_i+b)≥\iota_i\quad i=1,2,...,ns.t.yi(wxi+b)ιii=1,2,...,n
此时可以看出来γ ̌的取值与最优化问题无关,我们将ι\iotaι取值为1,而最大化1∣∣w∣∣\frac{1}{||w||}w1的问题相当于最小化12∣∣w∣∣2\frac{1}{2}||w||^221w2,此时将上述方程整理为:
min12∣∣w∣∣w,b2min \quad\frac{1}{2}||w||^2_{w,b}min21ww,b2
s.t.yi∗(w∗xi+b)≥1i=1,2,…,ns.t. \quad y_i *(w*x_i+b)≥1\quad i=1,2,…,ns.t.yi(wxi+b)1i=1,2,,n
这是一个凸二次规划问题,可以采用拉格朗日对偶法进行进一步计算。此时给出支持向量的概念,优化问题的提出基础是最难分的点也要保证较好的分类效果,最难分的点就是超平面附近的点,在超平面两端,各有点在约束条件上,以正数集为例。点A(xa,ya)(x_a,y_a)(xa,ya)位于正数据,则ya=1y_a=1ya=1,同时有w∗xa+b=1w*x_a+b=1wxa+b=1,这样的点就是支持向量。在优化问题中,支持向量的位置决定最终的结果,除支持向量以外,其他点位置变动或直接删除没有影响。

拉格朗日对偶法

假设一个约束条件优化问题,方程如下:
minf(x)xmin\quad f(x)_xminf(x)x
s.t.gi(x)≤0,i=1,2,…,n;hj(x)=0,j=1,2,…,ms.t.\quad g_i (x)≤0,i=1,2,…,n; h_j (x)=0,j=1,2,…,ms.t.gi(x)0,i=1,2,,n;hj(x)=0,j=1,2,,m
构建拉格朗日函数为:
L(x,α,β)=f(x)+∑i=1nαigi+∑j=1mβjhjL(x,α,β)=f(x)+\sum_{i=1}^{n}\alpha_ig_i+\sum_{j=1}^{m}\beta_jh_jL(x,α,β)=f(x)+i=1nαigi+j=1mβjhj
s.t.αi≥0,i=1,2,…,ns.t. α_i≥0,i=1,2,…,ns.t.αi0,i=1,2,,n
考虑x的函数,p(x)=maxα,β;αi≥0L(x,α,β)p(x)=max_{α,β;α_i≥0} \quad L(x,α,β)p(x)=maxα,β;αi0L(x,α,β)
当x不满足原本的约束条件时,即出现gi(x)&gt;0g_i (x)&gt;0gi(x)>0或者βi≠0β_i≠0βi̸=0,就令αiα_iαiβiβ_iβi趋向无穷大,则有p(x)也趋向于无穷大;当x满足约束条件时,p(x)=f(x)。
可以整理为:
p(x)={f(x), 满足约束条件 ∞,不满足约束条件  p(x)= \begin{cases} f(x), &amp; \text { 满足约束条件 } \\ ∞, &amp; \text{不满足约束条件 } \end{cases} p(x)={f(x),, 满足约束条件 不满足约束条件 
此时原本的极小化问题表示为:
minxmaxα,β;αi&gt;0L(x,α,β)min_x\quad max_{α,β;α_i&gt;0 } \quad L(x,α,β)minxmaxα,β;αi>0L(x,α,β)
定义为拉格朗日函数的极小极大问题。
maxα,β;αi&gt;0minxL(x,α,β)max_{α,β;α_i&gt;0}\quad min_x\quad L(x,α,β)maxα,β;αi>0minxL(x,α,β)
是原本优化问题的对偶问题,而且对偶问题在某些条件下最优值相等。

间隔最大化的对偶计算

原问题为
minw,b12∣∣w∣∣2min_{w,b} \quad\frac{1}{2} ||w||^2minw,b21w2
s.t.yi(wxi+b)≥1i=1,2,…,ns.t. y_i (wx_i+b)≥1\quad i=1,2,…,ns.t.yi(wxi+b)1i=1,2,,n
拉格朗日函数为:
(1)L(w,b,x)=12∣∣w∣∣2−∑i=1nαiyi(yi(wxi+b))+∑i=1nαiL(w,b,x)=\frac{1}{2}||w||^2-\sum_{i=1}^{n}\alpha_iy_i(y_i (wx_i+b))+\sum_{i=1}^{n}\alpha_i\tag{1}L(w,b,x)=21w2i=1nαiyi(yi(wxi+b))+i=1nαi(1)
s.t.αi&gt;0s.t.\quad α_i&gt;0s.t.αi>0
原问题可以整理为:
minw,bmaxαL(w,b,α)min_{w,b}\quad max_\alpha \quad L(w,b,α)minw,bmaxαL(w,b,α)
对偶问题为:
maxαminw,bL(w,b,α)max_α\quad min_{w,b} \quad L(w,b,α)maxαminw,bL(w,b,α)
求解过程如下:
先求minw,bL(w,b,α)min_{w,b}\quad L(w,b,α)minw,bL(w,b,α)
(1){dLdw=w−∑i=1nαiyixi=0, dLdb=∑i=1nαiyi0,  \begin{cases} \frac{dL}{dw}=w-\sum_{i=1}^{n}\alpha_iy_ix_i=0, &amp; \text { } \\\frac{dL}{db}=\sum_{i=1}^{n}\alpha_iy_i0, &amp; \text{ } \end{cases} \tag{1}{dwdL=wi=1nαiyixi=0,dbdL=i=1nαiyi0,  (1)
把2式代入1整理则有
L(w,b,α)=12∣∣w∣∣2−∑i=1nαiyi(wTxi+b)+∑i=1nαiL(w,b,α)=\frac{1}{2} ||w||^2-\sum_{i=1}^{n}\alpha_iy_i(w^Tx_i+b)+\sum_{i=1}^{n}\alpha_i L(w,b,α)=21w2i=1nαiyi(wTxi+b)+i=1nαi
=12wTw−∑i=1nαiyiwTxi−∑i=1nαiyib+∑i=1nαi=\frac{1}{2}w^Tw-\sum_{i=1}^{n}\alpha_iy_iw^Tx_i-\sum_{i=1}^{n}\alpha_iy_ib+\sum_{i=1}^{n}\alpha_i=21wTwi=1nαiyiwTxii=1nαiyib+i=1nαi
=12wT∑i=1nαiyixi−∑i=1nαiyiwTxi+∑i=1nαiyib+∑i=1nαi=\frac{1}{2}w^T \sum_{i=1}^{n}\alpha_iy_ix_i-\sum_{i=1}^{n}\alpha_iy_iw^Tx_i+\sum_{i=1}^{n}\alpha_iy_ib+\sum_{i=1}^{n}\alpha_i =21wTi=1nαiyixii=1nαiyiwTxi+i=1nαiyib+i=1nαi
=12wT∑i=1nαiyixi−wT∑i=1nαiyixi+∑i=1nαi=\frac{1}{2}w^T\sum_{i=1}^{n}\alpha_iy_ix_i-w^T \sum_{i=1}^{n}\alpha_iy_ix_i+\sum_{i=1}^{n}\alpha_i=21wTi=1nαiyixiwTi=1nαiyixi+i=1nαi
=−12wT∑i=1nαiyixi+∑i=1nαi=-\frac{1}{2}w^T \sum_{i=1}^{n}\alpha_iy_ix_i+\sum_{i=1}^{n}\alpha_i =21wTi=1nαiyixi+i=1nαi
=−12∑i=1n∑j=1nαiαjyiyj(xi∙xj)+∑i=1nαi=-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_i\alpha_jy_iy_j(x_i∙x_j)+\sum_{i=1}^{n}\alpha_i=21i=1nj=1nαiαjyiyj(xixj)+i=1nαi
问题转换为:
maxα−12∑i=1n∑j=1nαiαjyiyj(xi∙xj)+∑i=1nαimax_α\quad-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_i\alpha_jy_iy_j(x_i∙x_j)+\sum_{i=1}^{n}\alpha_imaxα21i=1nj=1nαiαjyiyj(xixj)+i=1nαi
s.t.∑i=1nαiyi=0,αi≥0s.t. \sum_{i=1}^{n}\alpha_iy_i=0, α_i≥0s.t.i=1nαiyi=0,αi0
对上式求出最优解α∗=(α1,α2,…,αn)α^*=(α_1,α_2,…,α_n)α=(α1,α2,,αn)
计算w∗=∑i=1nxiyiαi,b∗=yj−∑i=1nαiyi(xi∙xj)w^*=\sum_{i=1}^{n}x_iy_i\alpha_i,b^*=y_j-\sum_{i=1}^{n}\alpha_iy_i(x_i∙x_j) w=i=1nxiyiαib=yji=1nαiyi(xixj)
(未完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值