拉格朗日乘子法
用于求解约束条件下的极值问题,是SVM的理论基础。
一、简单例子引入
求解以下优化问题:
m i n f ( x 1 , x 2 ) = x 1 2 + x 2 2 s t . x 1 + x 2 = 2 \begin{aligned} &min \ f(x_1,x_2)=x_1^2+x_2^2 \\\ &st.\ x_1+x_2 = 2 \end{aligned} min f(x1,x2)=x12+x22st. x1+x2=2
使用函数 g ( x 1 , x 2 ) = x 1 + x 2 − 2 g(x_1,x_2)=x_1+x_2-2 g(x1,x2)=x1+x2−2来描述约束条件,则 g ( x 1 , x 2 ) = 0 g(x_1,x_2)=0 g(x1,x2)=0。
引入拉格朗日乘子 λ \lambda λ,构造一个新函数 h ( x 1 , x 2 ) = f ( x 1 , x 2 ) + λ g ( x 1 , x 2 ) h(x_1,x_2)=f(x_1,x_2)+\lambda g(x_1,x_2) h(x1,x2)=f(x1,x2)+λg(x1,x2)。很显然 h ( x 1 , x 2 ) = f ( x 1 , x 2 ) h(x_1,x_2)=f(x_1,x_2) h(x1,x2)=f(x1,x2),因此要求 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2)的最小值,即求 h ( x 1 , x 2 ) h(x_1,x_2) h(x1,x2)的最小值,则令梯度为0,表达式如下:
∂ h ( x 1 , x 2 ) ∂ x 1 = ∂ f ( x 1 , x 2 ) ∂ x 1 + λ ∂ g ( x 1 , x 2 ) ∂ x 1 = 2 x 1 + λ = 0 ∂ h ( x 1 , x 2 ) ∂ x 2 = ∂ f ( x 1 , x 2 ) ∂ x 2 + λ ∂ g ( x 1 , x 2 ) ∂ x 2 = 2 x 2 + λ = 0 (1) \frac{\partial h(x_1,x_2)}{\partial x_1}=\frac{\partial f(x_1,x_2)}{\partial x_1}+\lambda \frac{\partial g(x_1,x_2)}{\partial x_1}=2x_1+\lambda=0 \\\ \frac{\partial h(x_1,x_2)}{\partial x_2}=\frac{\partial f(x_1,x_2)}{\partial x_2}+\lambda \frac{\partial g(x_1,x_2)}{\partial x_2}=2x_2+\lambda=0 \\\ \tag{1} ∂x1∂h(x1,x2)=∂x1∂f(x1,x2)+λ∂x1∂g(x1,x2)=2x1+λ=0 ∂x2∂h(x1,x2)=∂x2∂f(x1,x2)+λ∂x2∂g(x1,x2)=2x2+λ=0 (1)
则有以下等式组:
2 x 1 + λ = 0 2 x 2 + λ = 0 x 1 + x 2 − 2 = 0 (2) 2x_1+\lambda =0 \\\ 2x_2+\lambda =0 \\\ x_1+x_2-2=0 \tag{2} 2x1+λ=0 2x2+λ=0 x1+x2−2=0(2)
求解得到结果为 λ = − 2 , x 1 = x 2 = 1 \lambda=-2,x_1=x_2=1 λ=−2,x1=x2=1,则表示 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2)在 x 1 = x 2 = 1 x_1=x_2=1 x1=x2=1时取得最小值,值为2。
二、几何简介
对于约束函数 g ( x 1 , x 2 ) = 0 g(x_1,x_2)=0 g(x1,x2)=0,即可以看作一条直线,最终 x 1 , x 2 x_1,x_2 x1,x2的取值要满足在这条直线上。对于 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2