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αi[yi(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软边界拉格朗日方程求解的基本方法。

相关推荐
树獭非懒25 分钟前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
KaneLogger34 分钟前
【Agent】openclaw + opencode 打造助手 安装篇
人工智能·google·程序员
知识浅谈2 小时前
一步步带你把 OpenClaw 玩宕机(附云服务器避坑部署教程)
人工智能
冬奇Lab2 小时前
OpenClaw 深度解析(四):插件 SDK 与扩展开发机制
人工智能·开源·源码阅读
IT_陈寒3 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
机器之心3 小时前
让AI自我进化?斯坦福华人博士答辩视频火了,庞若鸣参与评审
人工智能·openai
iceiceiceice4 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
唐叔在学习4 小时前
就算没有服务器,我照样能够同步数据
后端·python·程序员
AI攻城狮5 小时前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc