拉格朗日乘子法与SVM分类器原理详细推导

本文详细介绍了拉格朗日乘子法及其在SVM(支持向量机)中的应用。首先,通过实例阐述了拉格朗日乘子法解决带约束的优化问题,包括等式约束和不等式约束的情况。接着,文章讨论了SVM的基本思想,如何通过拉格朗日乘子法构建优化目标,求解线性可分和线性不可分数据集的最优分类超平面。最后,提到了非线性核函数在提升SVM分类性能中的作用,如线性核、多项式核和高斯核。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SVM(Support Vector Machine,支持向量机)是一个十分传统且好用的分类器,在二分类问题上有十分良好的表现。

一、拉格朗日乘子法

拉格朗日乘子法是SVM参数优化的核心,它能够解决多个等式或不等式约束下的最优化问题。

例1,给定x1−x2=2x_1-x_2=2x1x2=2,如何寻找x12+x22x_1^2+x_2^2x12+x22的最大值,此时x1,x2x_1,x_2x1,x2是多少?

拉格朗日乘子法的核心在于设立一个拉格朗日方程,将目标函数与约束函数的信息融合在一起,然后找寻该函数的最值。以上述情况为例,定义目标函数f(x1,x2)=x12+x22f(x_1,x_2)=x_1^2+x_2^2f(x1,x2)=x12+x22,约束函数g(x1,x2)=x1−x2−2g(x_1,x_2)=x_1-x_2-2g(x1,x2)=x1x22。拉格朗日乘子法顾名思义,就是新设立一个变量乘在约束函数上,然后和目标函数相加。则可定义拉格朗日函数L(x1,x2,λ)L(x_1,x_2,\lambda)L(x1,x2,λ)为:
L(x1,x2,λ)=f(x1,x2)+λg(x1,x2)=x12+x22+λ(x1−x2−2)L(x_1,x_2,\lambda)=f(x_1,x_2)+\lambda g(x_1,x_2)=x_1^2+x_2^2+\lambda(x_1-x_2-2) L(x1,x2,λ)=f(x1,x2)+λg(x1,x2)=x12+x22+λ(x1x22)
要求得上式的最值,需要各个变量的偏导数为零,所以必须满足:
∂L∂x1=∂L∂x2=∂L∂λ=0\frac{\partial L}{\partial x_1}=\frac{\partial L}{\partial x_2}=\frac{\partial L}{\partial \lambda}=0 x1L=x2L=λL=0

将上式转换为等式组,有:
2x1+λ=02x2−λ=0x1−x2−2=02x_1+\lambda=0\\2x_2-\lambda=0\\x_1-x_2-2=0 2x1+λ=02x2λ=0x1x22=0

求解可得当x1=1,x2=−1,λ=−2x_1=1,x_2=-1,\lambda=-2x1=1,x2=1,λ=2时,x12+x22x_1^2+x_2^2x12+x22可取到最大值2。

上例是最基本的拉格朗日乘子法的应用场景,下面描述扩展场景。

例2,给定x1−x2=2,x1+x2≥1x_1-x_2=2,x_1+x_2\geq1x1x2=2,x1+x21,如何寻找x12+x22x_1^2+x_2^2x12+x22的最大值?

已知约束中除了一个等式约束,还引入了一个不等式约束。和等式约束不同,不等式约束需要分情况讨论:

1. 全局最值在约束范围内

由例1可知,在该例中如果撇开不等式约束,最值在x1=1,x2=−1x_1=1,x_2=-1x1=1,x2=1时成立。所以倘若不等式函数h(x1,x2)>0h(x_1,x_2)>0h(x1,x2)>0在最值情况下成立(比如x1+x2>−1x_1+x_2>-1x1+x2>1),那么这个约束就等于没有。

2.全局最值在约束范围外

这种情况是例2场景下的情况了,此时不等式约束生效,成为等式约束。即最后的最值点会落在约束条件上(此例为x1+x2≥1x_1+x_2\geq 1x1+x21)。

除了不等式总共有两项约束,因此依然要建立一个方程,将这些信息融合在一起。定义f(x1,x2)=x12+x22f(x_1,x_2)=x_1^2+x_2^2f(x1,x2)=x12+x22g(x1,x2)=x1−x2−2g(x_1,x_2)=x_1-x_2-2g(x1,x2)=x1x22h(x1,x2)=x1+x2−1h(x_1,x_2)=x_1+x_2-1h(x1,x2)=x1+x21,由于约束比例1多了一个,所以拉格朗日乘子也要多一个。所以该例下拉格朗日函数L(x1,x2,λ,γ)L(x_1,x_2,\lambda,\gamma)L(x1,x2,λ,γ)为:
L(x1,x2,λ,γ)=f(x1,x2)+λg(x1,x2)−γh(x1,x2)=x12+x22+λ(x1−x2−2)+γ(x1+x2−1)L(x_1,x_2,\lambda,\gamma)=f(x_1,x_2)+\lambda g(x_1,x_2) -\gamma h(x_1,x_2)\\=x_1^2+x_2^2+\lambda(x_1-x_2-2)+\gamma(x_1+x_2-1) L(x1,x2,λ,γ)=f(x1,x2)+λg(x1,x2)γh(x1,x2)=x12+x22+λ(x1x22)+γ(x1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值