【最優化】梯度投影法的幾何意義

梯度投影法理論

投影矩陣

待更新(這學期課太多。下學期更新)

梯度投影法

例子

minf(x)=x2+y2s.t.x+y1 \min\quad f(x)=x^2+y^2\\ s.t.\quad x+y≥1
顯然當x=y=0.5x=y=0.5時有最小值,且
f(x)=(2x12x2)\nabla f(x)= \left( %左括號 \begin{array}{cc} %該矩陣一共3列,每一列都居中放置 2x_1 \\ %第一行元素 2x_2 \\ %第二行元素 \end{array} \right) 這裏我們假設初始點x(1)=(3,2)x^{(1)}=(3,-2),積極約束矩陣A=(1   1),b=(1)A=(1 \ \ \ 1),b=(1)

幾何意義

該例的等高面如圖所示
在這裏插入圖片描述
其中,綠點是最小值點,紅點是初始點,兩條黑線箭頭分別是負梯度方向f(x)-\nabla f(x)和負梯度的投影方向d(1)=Pf(x)d^{(1)}=-P\nabla f(x)。這裏P是投影矩陣,且
P=IAT(AAT)1A=(0.50.50.50.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)

f(x(1))=(64)-\nabla f(x^{(1)})= \left( %左括號 \begin{array}{cc} %該矩陣一共3列,每一列都居中放置 -6 \\ %第一行元素 4 \\ %第二行元素 \end{array} \right)
因此
d(1)=Pf(x)=(55)d^{(1)}=-P\nabla f(x)= \left( %左括號 \begin{array}{cc} %該矩陣一共3列,每一列都居中放置 -5 \\ %第一行元素 5 \\ %第二行元素 \end{array} \right)
實際上,d(1)d^{(1)}就是約束矩陣AA的零空間的基。換言之,如果

  • Pf(x)=0-P\nabla f(x)=0,則當前點在約束下不存在下降方向。
  • Pf(x)=f(x)-P\nabla f(x)=\nabla f(x),則當前點在約束下的下降方向就是梯度,即f(x)\nabla f(x)AA的零空間上。
  • Pf(x)0-P\nabla f(x)≠0,則其爲當前點在約束下的下降方向。

那麼,爲什麼是這樣呢?
因爲AA是積極約束的矩陣,AA的每一行都是一個向量(行向量),而AA的零空間裏的向量與這些向量都正交,該投影矩陣又恰好是AA的零空間投影矩陣,能夠把任何向量投影到零空間中(在此題中就是把梯度投影到零空間中)。比如,在上面的例子中,AA的一個行向量是(1    1)(1\ \ \ \ 1),與其正交的向量是(kk),kR\left( %左括號 \begin{array}{cc} %該矩陣一共3列,每一列都居中放置 -k \\ %第一行元素 k \\ %第二行元素 \end{array} \right) ,k\in R
也即下降可行方向。

不足之處

如果梯度方向在約束範圍的內部,會減速。比如在此例中如果把約束改爲x>1x>-1,初始點爲x(1)=(1,2)x^{(1)}=(-1,2)時,梯度方向只需一次迭代,而梯度投影則還需要進行進一步判斷(待更新)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章