【最优化】梯度投影法的几何意义

梯度投影法理论

投影矩阵

我觉得这篇文章写的还行
https://www.cnblogs.com/bigmonkey/p/9897047.html

梯度投影法

例子

min ⁡ f ( x ) = x 2 + y 2 s . t . x + y ≥ 1 \min\quad f(x)=x^2+y^2\\ s.t.\quad x+y≥1 minf(x)=x2+y2s.t.x+y1
显然当 x = y = 0.5 x=y=0.5 x=y=0.5时有最小值,且
∇ f ( x ) = ( 2 x 1 2 x 2 ) \nabla f(x)= \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 2x_1 \\ %第一行元素 2x_2 \\ %第二行元素 \end{array} \right) f(x)=(2x12x2)这里我们假设初始点 x ( 1 ) = ( 3 , − 2 ) x^{(1)}=(3,-2) x(1)=(3,2),积极约束矩阵 A = ( 1     1 ) , b = ( 1 ) A=(1 \ \ \ 1),b=(1) A=(1   1),b=(1)

几何意义

该例的等高面如图所示
在这里插入图片描述
其中,绿点是最小值点,红点是初始点,两条黑线箭头分别是负梯度方向 − ∇ f ( x ) -\nabla f(x) f(x)和负梯度的投影方向 d ( 1 ) = − P ∇ f ( x ) d^{(1)}=-P\nabla f(x) d(1)=Pf(x)。这里P是投影矩阵,且
P = I − A T ( A A T ) − 1 A = ( 0.5 − 0.5 − 0.5 0.5 ) P=I-A^T(AA^T)^{-1}A= \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 0.5 & -0.5 \\ %第一行元素 -0.5 & 0.5 \\ %第二行元素 \end{array} \right) P=IAT(AAT)1A=(0.50.50.50.5)

− ∇ f ( x ( 1 ) ) = ( − 6 4 ) -\nabla f(x^{(1)})= \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 -6 \\ %第一行元素 4 \\ %第二行元素 \end{array} \right) f(x(1))=(64)
因此
d ( 1 ) = − P ∇ f ( x ) = ( − 5 5 ) d^{(1)}=-P\nabla f(x)= \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 -5 \\ %第一行元素 5 \\ %第二行元素 \end{array} \right) d(1)=Pf(x)=(55)
实际上, d ( 1 ) d^{(1)} d(1)就是约束矩阵 A A A的零空间的基。换言之,如果

  • − P ∇ f ( x ) = 0 -P\nabla f(x)=0 Pf(x)=0,则当前点在约束下不存在下降方向。
  • − P ∇ f ( x ) = ∇ f ( x ) -P\nabla f(x)=\nabla f(x) Pf(x)=f(x),则当前点在约束下的下降方向就是梯度,即 ∇ f ( x ) \nabla f(x) f(x) A A A的零空间上。
  • − P ∇ f ( x ) ≠ 0 -P\nabla f(x)\ne 0 Pf(x)̸=0,则其为当前点在约束下的下降方向。

那么,为什么是这样呢?
因为 A A A是积极约束的矩阵, A A A的每一行都是一个向量(行向量),而 A A A的零空间里的向量与这些向量都正交,该投影矩阵又恰好是 A A A的零空间投影矩阵,能够把任何向量投影到零空间中(在此题中就是把梯度投影到零空间中)。比如,在上面的例子中, A A A的一个行向量是 ( 1      1 ) (1\ \ \ \ 1) (1    1),与其正交的向量是 ( − k k ) , k ∈ R \left( %左括号 \begin{array}{cc} %该矩阵一共3列,每一列都居中放置 -k \\ %第一行元素 k \\ %第二行元素 \end{array} \right) ,k\in R (kk),kR
也即下降可行方向。

不足之处

如果梯度方向在约束范围的内部,会减速。比如在此例中如果把约束改为 x > − 1 x>-1 x>1,初始点为 x ( 1 ) = ( − 1 , 2 ) x^{(1)}=(-1,2) x(1)=(1,2)时,梯度方向只需一次迭代,而梯度投影则还需要进行进一步判断(待更新)

参考资料

上海交大最优化讲义
陈宝林 《最优化理论与算法》

  • 17
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值