python学智能算法(三十六)|SVM-拉格朗日函数求解(中)-软边界

【1】引言

前序学习进程中,已经对常规SVM拉格朗日方程求解展开了探索。

但面对软边界SVM拉格朗日方程,对求解提出了新的要求。

【2】方程求解

软边界拉格朗日方程表达式为:
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i − ∑ i = 1 n α i y i ( w ⋅ x i + b ) − 1 + ξ i − ∑ i = 1 n μ i ξ i L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^{n}{\xi_{i}}-\sum_{i=1}^{n}\alpha_{i}y_{i}(w\\cdot x_{i}+b)-1+\\xi_{i}-\sum_{i=1}^{n}\mu_{i}\xi_{i} L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑nξi−i=1∑nαiyi(w⋅xi+b)−1+ξi−i=1∑nμiξi

【2.1】对 w w w求偏导数

令 L 对 w L对w L对w的偏导数为0:
∂ L ∂ w = w − ∑ i = 1 n α i y i x i = 0 \frac{\partial L}{\partial w}=w-\sum_{i=1}^{n}\alpha_{i}y_{i}x_{i}=0 ∂w∂L=w−i=1∑nαiyixi=0

获得:
w = ∑ i = 1 n α i y i x i w=\sum_{i=1}^{n}\alpha_{i}y_{i}x_{i} w=i=1∑nαiyixi

可见,超平面的法向量 w w w可以由样本 x i x_{i} xi,标签 y i y_{i} yi和乘子 α i \alpha_{i} αi线性表示。

【2.2】对 b b b求偏导数

令 L 对 b L对b L对b的偏导数为0:
∂ L ∂ b = − ∑ i = 1 n α i y i = 0 \frac{\partial L}{\partial b}=-\sum_{i=1}^{n}\alpha_{i}y_{i}=0 ∂b∂L=−i=1∑nαiyi=0

获得:
∑ i = 1 n α i y i = 0 \sum_{i=1}^{n}\alpha_{i}y_{i}=0 i=1∑nαiyi=0

可见,标签 y i y_{i} yi和乘子 α i \alpha_{i} αi的加权和为0。

【2.3】对 ξ i \xi_{i} ξi求偏导数

令 L 对 ξ i L对\xi_{i} L对ξi的偏导数为0:
∂ L ∂ ξ i = C − α i − μ i = 0 \frac{\partial L}{\partial \xi_{i}}=C-\alpha_{i}-\mu_{i}=0 ∂ξi∂L=C−αi−μi=0

获得:
μ i = C − α i \mu_{i}=C-\alpha_{i} μi=C−αi

可见,乘子 μ i \mu_{i} μi可以由 C C C和 α i \alpha_{i} αi表示,因为前序已经规定 μ i ≥ 0 \mu_{i}\geq0 μi≥0和 α i ≥ 0 \alpha_{i}\geq0 αi≥0,所以有:
0 ≤ α i ≤ C 0\leq\alpha_{i}\leq C 0≤αi≤C

【2.4】将偏导数结果代入原方程

首先是 w w w项:
1 2 ∣ ∣ w ∣ ∣ 2 = 1 2 ( ∑ i = 1 n α i y i x i ) ( ∑ j = 1 n α j y j x j ) = 1 2 ∑ i , j = 1 n α i α j y i y j ( x i ⋅ x j ) \frac{1}{2}||w||^2=\frac{1}{2}(\sum_{i=1}^{n}{\alpha_{i}y_{i}x_{i}})(\sum_{j=1}^{n}{\alpha_{j}y_{j}x_{j}})\\= \frac{1}{2}\sum_{i,j=1}^{n}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j}) 21∣∣w∣∣2=21(i=1∑nαiyixi)(j=1∑nαjyjxj)=21i,j=1∑nαiαjyiyj(xi⋅xj)

然后是 ξ i \xi_{i} ξi项:
C ∑ ξ i − ∑ α i ξ i − ∑ μ i ξ i = C ∑ ξ i − ∑ α i ξ i − ∑ ( C − α i ) ξ i = 0 C\sum{\xi_{i}}-\sum\alpha_{i}\xi_{i}-\sum\mu_{i}\xi_{i}\\=C\sum{\xi_{i}}-\sum\alpha_{i}\xi_{i}-\sum(C-\alpha_{i})\xi_{i} \\=0 C∑ξi−∑αiξi−∑μiξi=C∑ξi−∑αiξi−∑(C−αi)ξi=0

整理后获得的方程为:
L ( w , b , ξ , α , μ ) = ∑ α i − 1 2 ∑ i , j = 1 n α i α j y i y j ( x i ⋅ x j ) L(w,b,\xi,\alpha,\mu)=\sum{\alpha_{i}}-\frac{1}{2}\sum_{i,j=1}^{n}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j}) L(w,b,ξ,α,μ)=∑αi−21i,j=1∑nαiαjyiyj(xi⋅xj)

【3】总结

学习了SVM软边界拉格朗日方程求解的基本方法。

相关推荐
百无聊赖是也非也5 小时前
当 AI 闯入理论物理:终结算力困境,重塑科研边界
人工智能
szxinmai主板定制专家5 小时前
RK3568+FPGA+CODESYS异构控制方案:赋能半导体设备与工业自动化升级
人工智能·fpga开发·自动化·rk3576·半导体设备
测试学习test5 小时前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
oooost5 小时前
Jupyter Notebook 常用快捷键速查
ide·python·jupyter
龍德明宇5 小时前
裁断为什么没有变便宜-龍德明宇
人工智能·大语言模型llm·负主体性·ai存在论
Ai-_Man5 小时前
您您这可以把Google AI Studio的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
迅猛龙办公室5 小时前
Python实现斐波那契数列
算法
丁兰子5 小时前
OpenVLA 模型详解
人工智能
Martina_03215 小时前
AI生成3D场景第一次进入总卡一下?用6步排查Shader编译、纹理上传与预加载
图像处理·人工智能·游戏·3d·ai·自然语言处理·游戏策划
淡海水5 小时前
02-01-原理篇-Mark-Sweep与变种算法
算法·unity·c#·游戏引擎·.net·gc