梯度投影法理論
投影矩陣
待更新(這學期課太多。下學期更新)
梯度投影法
例子
minf(x)=x2+y2s.t.x+y≥1
顯然當x=y=0.5時有最小值,且
∇f(x)=(2x12x2)這裏我們假設初始點x(1)=(3,−2),積極約束矩陣A=(1 1),b=(1)
幾何意義
該例的等高面如圖所示
其中,綠點是最小值點,紅點是初始點,兩條黑線箭頭分別是負梯度方向−∇f(x)和負梯度的投影方向d(1)=−P∇f(x)。這裏P是投影矩陣,且
P=I−AT(AAT)−1A=(0.5−0.5−0.50.5)
而
−∇f(x(1))=(−64)
因此
d(1)=−P∇f(x)=(−55)
實際上,d(1)就是約束矩陣A的零空間的基。換言之,如果
- −P∇f(x)=0,則當前點在約束下不存在下降方向。
- −P∇f(x)=∇f(x),則當前點在約束下的下降方向就是梯度,即∇f(x)在A的零空間上。
- −P∇f(x)̸=0,則其爲當前點在約束下的下降方向。
那麼,爲什麼是這樣呢?
因爲A是積極約束的矩陣,A的每一行都是一個向量(行向量),而A的零空間裏的向量與這些向量都正交,該投影矩陣又恰好是A的零空間投影矩陣,能夠把任何向量投影到零空間中(在此題中就是把梯度投影到零空間中)。比如,在上面的例子中,A的一個行向量是(1 1),與其正交的向量是(−kk),k∈R
也即下降可行方向。
不足之處
如果梯度方向在約束範圍的內部,會減速。比如在此例中如果把約束改爲x>−1,初始點爲x(1)=(−1,2)時,梯度方向只需一次迭代,而梯度投影則還需要進行進一步判斷(待更新)