机器学习——支持向量机(SVM)

本文详细介绍了支持向量机(SVM)的基本概念,包括分离超平面、间隔边界和支持向量。通过拉格朗日乘子法推导了SVM的原始问题和对偶问题,分析了KKT条件,并讨论了软间隔SVM和核化SVM。此外,还介绍了SVM在支持向量回归(SVR)中的应用。SVM是一种有效的监督学习模型,适用于分类和回归任务,通过选择合适的核函数能够处理非线性数据。

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

1. SVM基本型

请添加图片描述

分离超平面: ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0
间隔边界: ω T x + b = ± 1 \omega^Tx+b=±1 ωTx+b=±1
支持向量: y i ( ω T x i + b ) = 1 y_i(\omega^Tx_i+b)=1 yi(ωTxi+b)=1

原始问题

m i n ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 \underset{\omega,b}{min} \quad \frac{1}{2}||\omega||^2 ω,bmin21ω2 s . t . 1 − y i ( ω T x i + b ) ≤ 0 , i = 1 , 2 , . . . , n s.t. \quad 1-y_i(\omega^Tx_i+b)≤0, \quad i=1,2,...,n s.t.1yi(ωTxi+b)0,i=1,2,...,n

变量: ω = ( ω 1 , ω 2 , . . . , ω d ) T , b \omega=(\omega_1,\omega_2,...,\omega_d)^T,b ω=(ω1,ω2,...,ωd)T,b
约束: n n n个不等式约束

模型推导:
样本点 x x x到超平面 ( ω , b ) (\omega,b) (ω,b)的距离 d = ∣ ω T x + b ∣ ∣ ∣ ω ∣ ∣ d=\frac{|\omega^Tx+b|}{||\omega||} d=ωωTx+b,我们可以对 ( ω , b ) (\omega,b) (ω,b)进行适当缩放,最终使得在支持向量 x 0 x_0 x0上有 ∣ ω T x 0 + b ∣ = ± 1 |\omega^Tx_0+b|=±1 ωTx0+b=±1,此时支持向量到超平面的距离为 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ω1
间隔定义为两个异类支持向量到超平面的距离之和,即 2 ∣ ∣ ω ∣ ∣ \frac{2}{||\omega||} ω2,优化目标转化为最大化 2 ∣ ∣ ω ∣ ∣ \frac{2}{||\omega||} ω2,也就是最小化 ∣ ∣ ω ∣ ∣ ||\omega|| ω ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ω2,此处带有 1 2 \frac{1}{2} 21的原因是便于后续求导。
约束条件的意义在于所有样本点都需要满足该硬性条件,我愿称之为“硬间隔”。

对偶问题

m i n λ 1 2 Σ i = 1 n Σ j = 1 n y i y j x i T x j λ i λ j − Σ i = 1 n λ i \underset{\lambda}{min} \quad \frac{1}{2}\Sigma_{i=1}^n\Sigma_{j=1}^ny_iy_jx_i^Tx_j\lambda_i\lambda_j-\Sigma_{i=1}^n\lambda_i λmin21Σi=1nΣj=1nyiyjxiTxjλiλjΣi=1nλi s . t . Σ i = 1 n λ i y i = 0 , s.t. \quad \Sigma_{i=1}^n\lambda_iy_i=0, s.t.Σi=1nλiyi=0, λ i ≥ 0 , i = 1 , 2 , . . . , n \lambda_i≥0, \quad i=1,2,...,n λi0,i=1,2,...,n

模型推导:
采用拉格朗日乘子法,定义拉格朗日函数: L ( ω , b , α ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + Σ i = 1 n λ i ( 1 − y i ( ω T x i + b ) ) , λ i ≥ 0 L(\omega,b,\alpha)=\frac{1}{2}||\omega||^2+\Sigma_{i=1}^n\lambda_i(1-y_i(\omega^Tx_i+b)), \quad \lambda_i≥0 L(ω,b,α)=21ω2+Σi=1nλi(1yi(ωTxi+b)),λi0 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α) ω \omega ω b b b的偏导为0可得: ω = Σ i = 1 n λ i y i x i \omega=\Sigma_{i=1}^n\lambda_iy_ix_i ω=Σi=1nλiyixi 0 = Σ i = 1 n λ i y i 0=\Sigma_{i=1}^n\lambda_iy_i 0=Σi=1nλiyi ω \omega ω代入拉格朗日函数中即得对偶模型。

KKT条件

原始问题为极大极小问题(推导见下),即: m i n ω , b m a x λ ≥ 0 L ( ω , b , α ) \underset{\omega,b}{min}\underset{\lambda≥0}{max}L(\omega,b,\alpha) ω,bminλ0maxL(ω,b,α)
而对偶问题为极小极大问题(由定义),即: m a x λ ≥ 0 m i n ω , b L ( ω , b , α ) \underset{\lambda≥0}{max} \underset{\omega,b}{min}L(\omega,b,\alpha) λ0maxω,bminL(ω,b,α)

请添加图片描述请添加图片描述

原问题为凸优化问题,当 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)为凸函数,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原问题。即需要满足 K K T KKT KKT条件: { ω = Σ i = 1 n λ i y i x i , 0 = Σ i = 1 n λ i y i λ i ≥ 0 λ i [ 1 − y i ( ω T x i + b ) ] = 0 1 − y i ( ω T x i + b ) ≤ 0 \begin{cases} \omega=\Sigma_{i=1}^n\lambda_iy_ix_i, \quad 0=\Sigma_{i=1}^n\lambda_iy_i\\ \lambda_i≥0\\ \lambda_i[1-y_i(\omega^Tx_i+b)]=0\\ 1-y_i(\omega^Tx_i+b)≤0\\ \end{cases} ω=Σi=1nλiyixi,0=Σi=1nλiyiλi0λi[1yi(ωTxi+b)]=01yi(ωTxi+b)0

KKT条件推导如下:
请添加图片描述
当约束不起作用时,极小值在可行域内某处取得,而不在边界处取得,故此时 g ( x ∗ ) < 0 g(x^*)<0 g(x)<0 g ( x ) g(x) g(x)不起作用,故 λ = 0 \lambda=0 λ=0,由极小值点梯度为零知 ∇ x f ( x ∗ ) = 0 \nabla_xf(x^*)=0 xf(x)=0
当约束起作用时,极小值在可行域边界处取得,故此时 g ( x ∗ ) = 0 g(x^*)=0 g(x)=0,易知 λ > 0 \lambda>0 λ>0,故由极小值点梯度为零知 − ∇ x f ( x ∗ ) = λ ∇ x f ( x ∗ ) -\nabla_xf(x^*)=\lambda\nabla_xf(x^*) xf(x)=λxf(x)
请添加图片描述
于是我们得到KKT条件,即 x ∗ x^* x是局部最小的等价条件为,存在唯一的 λ ∗ \lambda^* λ,使得: { ∇ x L ( x ∗ , λ ∗ ) = 0 λ ∗ ≥ 0 λ ∗ g ( x ∗ ) = 0 g ( x ∗ ) ≤ 0 \begin{cases} \nabla_xL(x^*,\lambda^*)=0\\ \lambda^*≥0\\ \lambda^*g(x^*)=0\\ g(x*)≤0 \end{cases} xL(x,λ)=0λ0λg(x)=0g(x)0

支持向量的探讨

假设已知支持向量 ( x s , y s ) (x_s,y_s) (xs,ys),易知 y s ( ω T x s + b ) − 1 = 0 y_s(\omega^Tx_s+b)-1=0 ys(ωTxs+b)1=0,又已知 ω = Σ i = 1 n λ i y i x i \omega=\Sigma_{i=1}^n\lambda_iy_ix_i ω=Σi=1nλiyixi,故 b = y s − ω T x s = y s − Σ i = 1 n λ i y i x i T x s b=y_s-\omega^Tx_s=y_s-\Sigma_{i=1}^n\lambda_iy_ix_i^Tx_s b=ysωTxs=ys

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值