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

相关推荐
汤永红7 分钟前
第4章 程序段的反复执行4 多重循环练习(题及答案)
数据结构·c++·算法·信睡奥赛
居然JuRan14 分钟前
LangChain从0到1:解锁Tools工具的无限可能
人工智能
星星冒险家19 分钟前
列表-唐朝繁华梦
python
徐小夕22 分钟前
花3个月时间,写了一款协同文档编辑器
前端·vue.js·算法
聚客AI28 分钟前
💡大模型智能体应用评估揭秘:指标、框架与落地实践
人工智能·llm·agent
在钱塘江1 小时前
LangGraph构建Ai智能体-6-智能体ReAct-例子
人工智能·python
Felven2 小时前
A. Forked!
算法
Asmalin2 小时前
【代码随想录day 16】 力扣 112. 路径总和
java·算法·leetcode
WSSWWWSSW2 小时前
大语言模型提示工程与应用:大语言模型进阶提示工程技术
人工智能·语言模型·自然语言处理
说私域2 小时前
生产工具革命:定制开发开源AI智能名片S2B2C商城小程序重构商业生态的范式研究
人工智能·小程序·开源