- Author: 修远;
- 说明:本文为Datawhale下开源项目《李宏毅机器学习》Support vector的补充内容。作者水平有限,还望学习者批评指正。
- Datawhale
学习目标
- 优化实例
- 优化问题求解方式
- 等式优化问题—拉格朗日乘子法
- 不等式优化问题—KKT条件
- 对偶问题
1 优化实例
设平面上有两个线段 u 1 , u 2 u_1,u_2 u1,u2和 v 1 , v 2 v_1,v_2 v1,v2,试求这两个线段是哪个相距最近的两个点 u ∗ , v ∗ u^*,v^* u∗,v∗。
那么线段 u 1 , u 2 u_1,u_2 u1,u2和 v 1 , v 2 v_1,v_2 v1,v2上的点可分别表示为
u = α u 1 + ( 1 − α ) u 2 , 0 ⩽ α ⩽ 1 u=\alpha u_1+(1-\alpha)u_2, 0\leqslant \alpha\leqslant 1 u=αu1+(1−α)u2,0⩽α⩽1
v = β v 1 + ( 1 − β ) v 2 , 0 ⩽ β ⩽ 1 v=\beta v_1+(1-\beta)v_2, 0\leqslant \beta\leqslant 1 v=βv1+(1−β)v2,0⩽β⩽1
点u和v的距离为变量 α \alpha α和 β \beta β的函数
f ( α , β ) = ∣ ∣ u − v ∣ ∣ 2 f(\alpha, \beta)=||u-v||^2 f(α,β)=∣∣u−v∣∣2
上述问题可表示为下述形式:
m i n , f ( α , β ) = ∣ ∣ u − v ∣ ∣ 2 min, f(\alpha, \beta)=||u-v||^2 min,f(α,β)=∣∣u−v∣∣2
s . t . , 0 ⩽ α ⩽ 1 s.t., 0 \leqslant \alpha \leqslant 1 s.t.,0⩽α⩽1
s . t . , 0 ⩽ β ⩽ 1 s.t.,0 \leqslant \beta \leqslant 1 s.t.,0⩽β⩽1
"min"表示“最小化”(minimize),而s.t.表示受限于(subject to)
这样就得到了一般形式的数学优化问题或者说优化问题,可以写成如下形式:
m i n i m i z e , f 0 ( x ) minimize, f_0(x) minimize,f0(x)
s . t . , g i ( x ) ⩽ b i , i = 1.. m s.t., g_i(x) \leqslant b_i,i=1..m s.t.,gi(x)⩽bi,i=1..m
h i ( x ) = 0 , i = 1... p h_i(x)=0,i=1...p hi(x)=0,i=1...p
向量 x = ( x 1 , x 2 , . . . x n ) x=(x_1,x_2,...x_n) x=(x1,x2,...xn)称为问题的优化变量,称问题中的 f 0 ( x ) f_0(x) f0(x)为目标函数。称函数 g i ( x ) ⩽ b i , i = 1.. m g_i(x)\leqslant b_i,i=1..m gi(x)⩽bi,i=1..m和 h i ( x ) = 0 , i = 1... p h_i(x)=0,i=1...p hi(x)=0,i=1...p为约束条件,并分别称他们为不等式约束条件和等式约束条件,常数 b 1 , . . . b m b_1,...b_m b1,...bm称为约束边界。
2 优化问题求解方式
-
无约束问题:
一般求解方式梯度下降法、牛顿法、坐标轴下降法 -
等式约束条件:
拉格朗日乘子法进行求解 -
不等式约束条件:
KKT条件进行求解
3 等式优化问题——拉格朗日乘子法
3.1几何解释
如下图,,f(x,y)为我们的目标函数,x,y为向量.f(x)可以取到不同的值,相当于可以投影在x构成的平面(曲面)上,成为等高线(等高线为虚线)。而约束条件h(x,y)(绿线标出的是约束条件的轨迹),在x,y构成的平面或者曲面上是一条曲线。
假设f(x,y)的曲线与h(x,y)等高线相交,交点就是同时满足等式约束条件和目标函数的可行域的值,但肯定不是最优值。因为相交意味着肯定还存在其他的等高线在该条等高的内部或者外部,使得等高线与限制条件的交点的值更多或者更小。只有当f(x,y)与h(x,y)相切时,才会出现极值
证明 ▽ x f ( x ) = − ▽ x h ( x ) \bigtriangledown _xf(x)=-\bigtriangledown _xh(x) ▽xf(x)=−▽xh(x)
拉格朗日乘子法是针对等式约束条件进行求解的方法。接下来我们将从等式约束问题观察拉格朗日乘子法是如何进行求解的。
目标函数为 f ( x ) f(x) f(x),等式约束条件为 h ( x ) = 0 h(x)=0 h(x)=0,优化问题可以写为:
m i n x , f ( x ) min_x,f(x) minx,f(x)
s . t . ,