python学智能算法(三十三)|SVM-构建软边界拉格朗日方程
【1】引用
在前序学习进程中,我们初步了解了SVM软边界,今天就更进一步,尝试构建SVM软边界的拉格朗日函数。
【2】基本问题
在SVM软边界中,我们已经获得此时的最优化几何距离的表达式:
f=min12∣∣w∣∣2+C∑i=1nξif=\min \frac{1}{2}||w||^2+C\sum_{i=1}^{n}\xi_{i}f=min21∣∣w∣∣2+Ci=1∑nξi
其中,
12∣∣w∣∣2\frac{1}{2}||w||^221∣∣w∣∣2是距离最大化项;
C∑i=1nξiC\sum_{i=1}^{n}\xi_{i}C∑i=1nξi是错误惩罚项且要规定C>0C>0C>0;
ξi\xi_{i}ξi是松弛变量,表示样本xix_{i}xi的违反程度。
此时的约束条件是:
距离函数:yi(w⋅xi+b)≥1−ξi距离函数:y_{i}(w\cdot x_{i}+b)\geq 1-\xi_{i}距离函数:yi(w⋅xi+b)≥1−ξi
松弛变量:xi≥0(i=1,2,...,n)松弛变量:x_{i} \geq 0(i=1,2,...,n)松弛变量:xi≥0(i=1,2,...,n)
【2.1】C>0C>0C>0分析
定义惩罚项C∑i=1nξiC\sum_{i=1}^{n}\xi_{i}C∑i=1nξi的目的是对脱离或违反间隔约束的样本进行“惩罚”,非常直观的,松弛变量ξi≥0\xi_{i}\geq 0ξi≥0,且这个值越大,样本违反约束的程度也就越重。
当C>0C>0C>0时,ξi\xi_{i}ξi越大,样本违反约束的程度越大,整个惩罚项也越大,这与 “违反约束应受到惩罚” 的逻辑一致;
当C=0C=0C=0时,ξi\xi_{i}ξi越大,样本违反约束的程度越大,但整个惩罚项恒等于0,所有样本都可能实际违反约束但未被识别,这与 “违反约束应受到惩罚” 的逻辑矛盾;
当C<0C<0C<0时,ξi\xi_{i}ξi越大,样本违反约束的程度越大,但整个惩罚项反而越小,样本实际违反约束的程度被低估,会影响SVM分类的正确性;
所以从分类准确性来看,应当保持C>0C>0C>0。
【2.2】构造拉格朗日函数
引入拉格朗日乘子αi≥0\alpha_{i}\geq 0αi≥0对应距离函数;
引入拉格朗日乘子μi≥0\mu_{i}\geq 0μi≥0对应松弛变量。
获得拉格朗日函数为:
L(w,b,ξ,α,μ)=12∣∣w∣∣2+C∑i=1nξi−∑i=1nαi[yi(w⋅xi+b)−1+ξi]−∑i=1nμiξiL(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
【3】总结
初步构建了SVM软边界条件下的拉格朗日函数。