SVM详细推导(包含dual-form的推导过程)

本文详细介绍了SVM(支持向量机)的基本概念,包括线性可分数据的分类、margin的概念及其计算,以及SVM的目标函数。通过引入软间隔最大化处理非理想情况,并探讨了从原始问题到对偶问题的转换,包括拉格朗日乘子法和KKT条件。最后,讨论了SVM如何通过核函数处理非线性问题,以降低计算复杂度。

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

线性可分

SVM关于二分类问题的算法,也就是将一组数据线性的分成两类,什么是线性的分成两类呢?就是像图(1)这样的数据用一条线可以进行一分为二。

在这里插入图片描述
像图(2)这种数据使用一条线是分不开的,那么这种数据就成为线性不可分的数据,对于这种数据SVM就没有办法了吗?当然有办法了不然也不会在早期这么流行的。
在这里插入图片描述

SVM

margin的概念

假设现在有这样一组数据, D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . ( x n , y n ) } , D=\{(x_1,y_1),(x_2,y_2),(x_3,y_3)...(x_n,y_n)\}, D={ (x1,y1),(x2,y2),(x3,y3)...(xn,yn)}其中 x x x表示数据, y y y表示对应的标签, y ∈ { 1 , − 1 } y\in\{1,-1\} y{ 1,1}现在用图(3)来表示:

在这里插入图片描述
现在用一条线来区分,假设这条线为: W T x i + b W^Tx_i+b WTxi+b来表示,也就是说 W T x i + b ≥ 0 W^Tx_i+b\geq0 WTxi+b0 , y = 1 , ,y=1, y=1 W T x i + b ≤ 0 W^Tx_i+b\leq0 WTxi+b0 , y = − 1 ,y=-1 y=1也可以用 ( W T x i + b ) ⋅ y ≥ 0 (W^Tx_i+b)\cdot y\geq0 (WTxi+b)y0来表示。

图(4)表示的是我们使用了 ①,②和③条作为决策边界来进行将数据分类,从图中我们明显看到这三条线都成功的将数据进行了分类,但是那个分类的最好呢,答案是②,①和③距离数据太近了,有可能造成误判,并且很容易过拟合,对于②来说我们离数据的距离比较远,增加一些噪音的话也是可以保证分类的正确性。
在这里插入图片描述
因此我们通常把这个距离叫做margin。我们的分类器离数据的距离越大越好,所以margin的目标就是最大化margin。

margin的计算

那么margin该怎么计算呢?由图(5)我们可以看到 W x + b = 0 Wx+b=0 Wx+b=0表示决策边界另外我们设置两条线 W T x + b = 1 W^Tx+b=1 WTx+b=1 W T x + b = − 1 W^Tx+b=-1 WTx+b=1表示分别表示数据集中最外围,所以margin就是这两条线之间的距离,这里因为有 W 和 b W和b Wb的存在,所以我们将其设置为1和-1

假设 x + x_+ x+表示 W T x + b = 1 W^Tx+b=1 WTx+b=1上的点, x − x_- x表示 W T x + b = − 1 W^Tx+b=-1 WTx+b=1上的点, m a r g i n = ∣ x + − x − ∣ margin=|x_+-x_-| margin=x+x, w w w表示与这三条线垂直的方向

我们可以得到三个公式:
{ W T x + + b = 1 ① W T x − + b = − 1 ② x + = x − + λ w ③ \begin{cases}W^Tx_++b=1 \quad①\\ W^Tx_-+b=-1\quad②\\ x_+=x_-+\lambda w \quad③\end{cases} WTx++b=1WTx+b=1x+=x+λw

在这里插入图片描述
现在我们来计算 m a r g i n margin margin将③式代入①中得:
W T ( x − + λ w ) + b = 1 W^T(x_-+\lambda w)+b=1 WT(x+λw)+b=1

W T x − + W T λ w + b = 1 ④ W^Tx_-+W^T\lambda w+b=1\quad ④ WTx+WTλw+b=1
将④-②得
λ W T w = 2 \lambda W^T w=2 λWTw=2

λ = 2 W T w \lambda =\dfrac{2}{W^T w} λ=WTw2

m a r g i n = ∣ x + − x − ∣ margin=|x_+-x_-| margin=x+x由③可知: m a r g i n = ∣ λ w ∣ = ∣ 2 W T w ⋅ w ∣ = ∣ 2 W T ∣ margin=|\lambda w|=|\dfrac{2}{W^T w} \cdot w|=|\dfrac{2}{W^T }| margin=λw=WTw2w=WT2

所以最后
m a r g i n = ∣ 2 W T ∣ margin=|\dfrac{2}{W^T }| margin=WT2

SVM的目标函数

svm的目标就是最大化 m a r g i n margin margin也就是:
m a x m i z e 2 ∣ ∣ W T ∣ ∣ maxmize \dfrac{2}{||W^T||} maxmizeWT2

s t : W T x + b ≥ 1 i f : y = 1 st:\quad W^Tx+b \geq1\quad if:y=1 st:WTx+b1if:y=1

W T x + b ≤ − 1 i f : y = − 1 \quad \quad W^Tx+b \leq-1\quad if:y=-1 WTx+b1if:y=1

我们来简单改变一下公式:

m i n e m i z e ∣ ∣ W T ∣ ∣ 2 minemize||W^T||^2 minemizeWT2

s t : W T x + b ≥ 1 i f : y = 1 st:\quad W^Tx+b \geq1\quad if:y=1 st:WTx+b1if:y=1

W T x + b ≤ − 1 i f : y = − 1 \quad \quad W^Tx+b \leq-1\quad if:y=-1 WTx+b1if:y=1

把条件整合一下

m i n e m i z e ∣ ∣ W T ∣ ∣ 2 minemize||W^T||^2 minemizeWT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值