第七章 支持向量机(一)线性可分支持向量机与硬间隔最大化

本文详细介绍了支持向量机(SVM)的基本原理和技术细节,包括线性可分、线性与非线性三种模型,以及如何通过硬间隔最大化实现最优分类超平面的求解过程。

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

模型: 二类分类模型
3种支持向量机模型
线性可分支持向量机:硬间隔最大化+线性分类器
线性支持向量机:软间隔最大化+线性分类器
非线性支持向量机:核技巧+软间隔最大化
策略:形式化为求解凸二次规划问题
算法: 求解凸二次规划的最优化算法

线性可分支持向量机与硬间隔最大化

训练数据集D={(x1,y1),(x2,y2)...(xn,yn)}D={(x1,y1),(x2,y2)...(xn,yn)}
xiRn,yi{+1,1}xi∈Rn,yi∈{+1,−1}

f(x)=sign(wx+b)f(x)=sign(w⋅x+b)

参数w,bw,b
和感知机一样,学习的目标是在特征空间中寻找一个分离超平面。
感知机的策略是:误分类最小,解不唯一
线性可分SVM:间隔最大化,解唯一

一、 函数间隔与几何间隔

样本的函数间隔

γi^=yi(wxi+b)γi^=yi(w⋅xi+b)

训练集的函数间隔
γ^=mini=1,...nγi^γ^=mini=1,...n⁡γi^

函数间隔可以表示分类预测的正确性及确信度
符号为正表示分类正确;反之错误
数值越小,表示离超平面越近,该点的预测就不那么确信。
成比例的改变w,bw,b,超平面不变,函数间隔成倍的改变
样本的几何间隔
γi=yi(w||w||xi+b||w||)γi=yi(w||w||⋅xi+b||w||)

训练集的几何间隔
γ=mini=1,...nγiγ=mini=1,...n⁡γi

函数间隔和几何间隔的关系
γi=γi^||w||γi=γi^||w||

γ=γ^||w||γ=γ^||w||

几何间隔是有符号的,分类正确时才等于点到超平面的距离

二、硬间隔最大化

感知机中有无数的分离超平面,而哪一个才是最好的(泛化能力最强)?
SVM直观想法:离超平面最近的点尽可能的远离超平面
我们最关心的的是离超平面最近的点(最难分的点),如果超平面有足够大的确信度将他们分开,这个超平面应该对未知的新实例有很好的分类预测能力。
几何间隔最大的分离超平面可以表示为下面的约束最优化问题

maxw,bγmaxw,bγ

s.t.yi(w||w||xi+b||w||)γ,i=1,2,..ns.t.yi(w||w||⋅xi+b||w||)≥γ,i=1,2,..n

由函数间隔和几何间隔的关系,得
maxw,bγ^||w||maxw,bγ^||w||

s.t.yi(wxi+b)γ^,i=1,2,..ns.t.yi(w⋅xi+b)≥γ^,i=1,2,..n

缩放超平面的参数,函数间隔的取值是可以任意改变的,因此将最小的函数间隔取为1(γ^=1γ^=1
最大化1||w||1||w||等价于最小化12||w||212||w||2
线性可分支持向量机的最优化问题为
minw,b12||w||2(1)(1)minw,b12||w||2

s.t.yi(wxi+b)+10,i=1,2,..n(2)(2)s.t.−yi(w⋅xi+b)+1≤0,i=1,2,..n

三、支持向量与间隔边界

支持向量: 训练集中离超平面最近的点(是使约束条件等号成立的点)
超平面wx+b=+1w⋅x+b=+1wx+b=1w⋅x+b=−1称为间隔边界。
这里写图片描述
在决定超平面时只有支持向量其作用。如果移动支持向量将改变所求解,但是如果在间隔边界以外移动其他点,甚至删去这些点,则解是不会改变的。

四、对偶算法

这部分需要先了解拉格朗日对偶,以下表述有部分不严谨

4.1、对偶算法一般步骤

1.把约束优化问题写成规范的原始问题(规范的原始问题的目标函数是最小化问题,不等式约束是小于等于)
2.引入拉格朗日乘子,构建拉格朗日函数L
3.求解对偶问题的解,L的极大极小问题,(先极小求偏导,再极大用SMO算法)
4.根据KKT条件得到原始问题解和对偶问题解的关系。

4.2、线性可分SVM应用对偶算法

1.公式(1)(2)已经是规范的原始问题
2.构建拉格朗日函数(引入拉格朗日乘子αi0,i=1,2...nαi≥0,i=1,2...n,把约束问题写成无约束)

L(w,b,α)=12||w||2i=1nαiyi(wxi+b)+i=1nαiL(w,b,α)=12||w||2−∑i=1nαiyi(w⋅xi+b)+∑i=1nαi

3.原始问题的解等价于先求拉格朗日函数对αα求极大,再对w,bw,b求极小。解是w,bw,b
原始问题 = L的极小极大问题
对偶问题的解等价于先求拉格朗日函数对w,bw,b求极小,再对αα求极大。解是αα
对偶问题 = L的极大极小问题

maxαminw,bL(w,b,α)maxα⁡minw,b⁡L(w,b,α)

(1) 求minw,bL(w,b,α)minw,b⁡L(w,b,α)
公式敲不动了,手写字真丑ヽ(`Д´)ノ︵ ┻━┻ ┻━┻
这里写图片描述
通过求导和回代就得到了
minw,bL(w,b,α)=12i=1nj=1nαiαjyiyj(xixj)+i=1nαiminw,b⁡L(w,b,α)=−12∑i=1n∑j=1nαiαjyiyj(xi⋅xj)+∑i=1nαi

(2) 求minw,bL(w,b,α)minw,b⁡L(w,b,α)αα的极大,即对偶问题

maxα12i=1nj=1nαiαjyiyj(xixj)+i=1nαi(3)(3)maxα−12∑i=1n∑j=1nαiαjyiyj(xi⋅xj)+∑i=1nαi

s.t.i=1nαiyi=0(4)(4)s.t.∑i=1nαiyi=0

αi0,i=1,2,...n(5)(5)αi≥0,i=1,2,...n


对偶问题的解公式(3)-(5),可以通过SMO算法求解得到
4.原始问题解和对偶问题解的关系。
定理:目标函数和不等式约束是凸函数,等式约束是仿射函数,不等式约束是严格可执行的。
w,bw,bαα是原始问题和对偶问题的解的充要条件是w,bw,bαα满足KKT条件。
KKT条件:
1.解的偏导=0,
2.解满足不等式约束,
3.解满足等式约束,
4.拉格朗日乘子大于等于0,
5.对偶互补条件:拉格朗日乘子大于0时,解的不等式约束的等号成立
线性可分支持向量机的KKT条件
wL(w,b,α)=wi=1nαiyixi=0∇wL(w∗,b∗,α∗)=w∗−∑i=1nαi∗yixi=0

bL(w,b,α)=i=1nαiyi=0∇bL(w∗,b∗,α∗)=−∑i=1nαi∗yi=0

yi(wxi+b)10,i=1,2,...nyi(w∗⋅xi+b∗)−1≥0,i=1,2,...n

αi0,i=1,2,...nαi∗≥0,i=1,2,...n

αi(yi(wxi+b)1)=0,i=1,2,...nαi∗(yi(w∗⋅xi+b∗)−1)=0,i=1,2,...n

由第一个偏导得到
w=iαiyixi(6)(6)w∗=∑iαi∗yixi

参数bb是根据对偶互补条件得到的。
如果每个α都等于0,那么w=0w∗=0,w^*=0不是原问题的解。所以至少有一个α>0α>0
设存在下标jj,使得αj>0,互补条件知
yj(wxj+b)1=0yj(w∗⋅xj+b∗)−1=0

y2j=1yj2=1
b=yji=1nαiyi(xixj)(7)(7)b∗=yj−∑i=1nαi∗yi(xi⋅xj)

由公式(6)(7)知,wbw∗,b∗只依赖于训练数据集中α>0α∗>0的样本点(称这样的点为支持向量),而其他样本点对wbw∗,b∗没有影响。
根据互补条件知α>0α∗>0

yj(wxj+b)=1yj(w∗⋅xj+b∗)=1

样本的函数间隔为1,这与之前定义的支持向量是一致的。
疑问??
1. 为什么KKT条件没有对αα求偏导
2. KKT条件中对b求偏导得到的公式,说明支持向量是成对的?
3. b的取值有多个吗?超平面不是唯一的吗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值