python学智能算法(三十五)|SVM-软边界拉格朗日方程乘子非负性理解

发布于:2025-08-10 ⋅ 阅读:(13) ⋅ 点赞:(0)

【1】引言

前序学习进程中,已经学习了构建SVM软边界拉格朗日方程,具体方程形式为:
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∣∣w2+Ci=1nξii=1nαi[yi(wxi+b)1+ξi]i=1nμiξi

【2】乘子非负性讨论

SVM软边界拉格朗日方程的乘子 α i ≥ 0 , μ i ≥ 0 \alpha_{i}\geq0,\mu_{i}\geq0 αi0,μi0,这样设置的目的是为了满足KKT条件
标准的KKT条件构造出来的梯度平衡方程为:
∇ f ( x ∗ ) + ∑ i = 1 m λ i ∇ g i ( x ∗ ) + ∑ j = 1 p μ j ∇ h j ( x ∗ ) = 0 \nabla f(x^*)+\sum_{i=1}^{m}\lambda_{i}\nabla g_{i}(x^*)+\sum_{j=1}^{p}\mu_{j}\nabla h_{j}(x^*)=0 f(x)+i=1mλigi(x)+j=1pμjhj(x)=0
其中要求乘子 λ i ≥ 0 \lambda_{i}\geq 0 λi0,对应 g i ( x ) ≤ 0 g_{i}(x)\leq 0 gi(x)0
在SVM软边界的定义中,因为距离函数 [ y i ( w ⋅ x i + b ) − 1 + ξ i ] [y_{i}(w \cdot x_{i}+b)-1+\xi_{i}] [yi(wxi+b)1+ξi]是正的,所以拉格朗日函数里面先用减法将距离函数转化为一个减数,此时为满足距离函数带来的约束是负数,就必须规定 α i ≥ 0 \alpha_{i}\geq 0 αi0
此外由于 ξ i ≥ 0 \xi_{i}\geq 0 ξi0本身也是一个非负数,所以按照同样的原则,构造拉格朗日方程时,在其前面先给一个负号,再给一个非负数的乘子。
这样,SVM软边界拉格朗日方程的乘子 α i ≥ 0 , μ i ≥ 0 \alpha_{i}\geq0,\mu_{i}\geq0 αi0,μi0,就实现了满足KKT条件的目的。

【3】总结

对SVM软边界拉格朗日方程的乘子非负性进行了理解。


网站公告

今日签到

点亮在社区的每一天
去签到