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

相关推荐
冷雨夜中漫步1 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
33三 三like1 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a1 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
郝学胜-神的一滴1 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再1 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
腾讯云开发者2 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗2 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo
颜酱3 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919103 小时前
C++代码风格检查工具
开发语言·c++·算法