支持向量机

支持向量机是一种寻找最大边缘超平面的分类模型,其基础条件是所有样本点位于边缘超平面之外。通过拉格朗日乘子法处理约束优化问题,转换为对偶问题,利用SMO算法求解。支持向量是距离超平面最近的样本点,对模型的影响最大。

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

基础部分

基本思想:与感知机类似,同样是找超平面分隔两个类别,但支持向量机找的是最大边缘超平面。

在支持向量机构造的线性模型中,一个要满足的最基础的条件是:
w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 w^Tx_i + b \geq +1, y_i = + 1\\ w^Tx_i + b \leq -1, y_i = -1 wTxi+b+1,yi=+1wTxi+b1,yi=1
合并后有:
y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i + b) \geq 1 yi(wTxi+b)1
这个不等式的含义是,所有样本点都要满足位于边缘超平面以外。

点到超平面的距离 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r = \frac {|w^Tx + b|}{||w||} r=∣∣w∣∣wTx+b,对于支持向量,其满足 y i ( w T x i + b ) = 1 y_i(w^Tx_i + b) = 1 yi(wTxi+b)=1,即 ∣ w T x i + b ∣ = 1 |w^Tx_i + b| = 1 wTxi+b=1,而边缘超平面的距离取决于这些支持向量,故有边界距离 γ = 2 ∣ ∣ w ∣ ∣ \gamma = \frac {2}{||w||} γ=∣∣w∣∣2


引入拉格朗日乘子

由于是最大边缘超平面,所以经过一定转化后有如下优化问题:
a r g m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , n . \underset{w, b}{argmin} \frac {1}{2}||w||^2\\ s.t. \quad y_i(w^Tx_i + b) \geq 1, i = 1, 2, ..., n. w,bargmin21∣∣w2s.t.yi(wTxi+b)1,i=1,2,...,n.
不等式约束优化问题,利用 K K T KKT KKT 条件,引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0 得到拉格朗日函数:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( w T x i + b ) − 1 ) L(w, b, \alpha) = \frac {1}{2}||w||^2 - \sum_{i = 1}^{n}\alpha_i(y_i(w^Tx_i + b) - 1) L(w,b,α)=21∣∣w2i=1nαi(yi(wTxi+b)1)
需满足 K K T KKT KKT 条件:
α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = 0. \begin{aligned} &\alpha_i \geq 0;\\ &y_if(x_i) - 1 \geq 0;\\ &\alpha_i(y_if(x_i) - 1) = 0. \end{aligned} αi0;yif(xi)10;αi(yif(xi)1)=0.
L ( w , b , α ) L(w, b, \alpha) L(w,b,α) w w w b b b 的偏导为零可得:
w = ∑ i = 1 n α i y i x i , ∑ i = 1 n α i y i = 0 w = \sum_{i = 1}^{n}\alpha_iy_ix_i, \sum_{i = 1}^{n}\alpha_iy_i = 0 w=i=1nαiyixi,i=1nαiyi=0


将原问题转化成其对偶问题

将上式带回到拉格朗日函数中,可消去 w w w b b b 并得到对偶优化问题:
m a x L ( α ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j s . t . ∑ i = 1 n α i y i = 0 , α i ≥ 0 , i = 1 , 2 , . . . , n . max \quad L(\alpha) = \sum_{i = 1}^{n}\alpha_i - \frac{1}{2}\sum_{i = 1}^{n}\sum_{j = 1}^{n}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t. \quad \sum_{i = 1}^{n}\alpha_iy_i = 0,\\ \alpha_i \geq 0, i = 1, 2, ... , n. maxL(α)=i=1nαi21i=1nj=1nαiαjyiyjxiTxjs.t.i=1nαiyi=0,αi0,i=1,2,...,n.
最小化原优化问题 L ( w , b , α ) L(w, b, \alpha) L(w,b,α),即等价于最大化对偶问题 L ( α ) L(\alpha) L(α),解出 α \alpha α 后即可利用 w = ∑ i = 1 n α i y i x i w = \sum_{i = 1}^n\alpha_iy_ix_i w=i=1nαiyixi 解得 w w w;对于所有 α i > 0 \alpha_i > 0 αi>0 对应的支持向量 x i x_i xi,由于其满足 y i ( w T x i + b ) = 1 y_i(w^Tx_i + b) = 1 yi(wTxi+b)=1,求出 b b b 后取均值作为参数 b b b 的最终取值。


序列最小化算法(SMO)求解上述对偶问题 L ( α ) L(\alpha) L(α)
  • 选取一对需更新的变量 α i \alpha_i αi α j \alpha_j αj
  • 固定 α i \alpha_i αi 和 $\alpha_j $ 以外的参数,带入求解对偶优化问题获得更新后的 α i \alpha_i αi α j \alpha_j αj

由对偶优化问题的约束条件,当 α i \alpha_i αi α j \alpha_j αj 固定时,实际上 α j \alpha_j αj 可以用 α i \alpha_i αi 加一常数来表示,带入 L ( α ) L(\alpha) L(α) 后则是一个只关于变量 α i \alpha_i αi 的二次规划问题,很容易求解。但是要主要满足 α i ≥ 0 , i = 1 , 2 , . . . , n \alpha_i \geq 0, i = 1, 2, ... , n αi0,i=1,2,...,n,并且先前 K K T KKT KKT 条件也必须满足。


支持向量回归(SVR)

不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值