Numerical Optimization共軛梯度法

在這裏插入圖片描述
在這裏插入圖片描述
npin個p_i線性無關且共軛,表示爲x的基
在這裏插入圖片描述
這樣極小化括號的數,轉化爲n個一維的優化問題在這裏插入圖片描述
這裏求最小值 隱含了piTAPi>0p_i^TAP_i>0,所以要求對稱正定,即強凸的。

共軛法

在這裏插入圖片描述
搜索步長αk\alpha_k是通過極小化Φ(xk+αpk)\Phi(x_k+\alpha p_k)得到的
在這裏插入圖片描述
即對於凸的二次函數,共軛算法的步長是可能精確計算得到的
在這裏插入圖片描述
證明
在這裏插入圖片描述

舉例
在這裏插入圖片描述
二維的問題,ϕ(x)\phi(x)的等高線是橢圓,由於A是對角陣,所以對稱軸於行於座標軸,且e1與e2對於A是共軛

當A,不再是對角矩陣時,e1與e2 不再是A的共軛方向
2步之內無法找到問題的解

在這裏插入圖片描述
因此,座標方向法:當原始問題對應的矩陣A非對角時,我們可以對原問題作線性變化,使得新的newA 是對角的,然後可以使用共軛方向法在n 部內求得最優點。
在這裏插入圖片描述
在這裏插入圖片描述

一般性
在這裏插入圖片描述
在這裏插入圖片描述
第k步生成的殘差rk和前面的搜索方向正交
如何生成共軛搜索方向,兩種方法:特徵向量,和Gram -Schmidt 正交化。對於第一種有對於實對稱矩陣屬於不同特徵值的特徵向量相互正交,因此可以推出來這些特徵向量對於A 是共軛的

共軛梯度法

在這裏插入圖片描述
在這裏插入圖片描述
具體流程
在這裏插入圖片描述
在這裏插入圖片描述
對於rnr_nr0rn1r_0\dots r_{n-1}正交,則可以推出來n維空間中和n個線性無關向量都正交的話,這個向量一定是n向量,即Axn=bA_{x_n}=b是所求的解。
這些結論是依賴於初始點的選擇的,即是在(p0=-ro)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
λnkλ\lambda_{n-k}和\lambda非常接近時,第ii步迭代解非常接近精確 解

在這裏插入圖片描述
共軛梯度法在更新迭代方向時不僅利用了利用了上一步的迭代方向,同時利用了上一步的梯度信息,因此相對於最速下降法更快收斂在這裏插入圖片描述
當條件數越小,越快,特別是當條件數爲1時,其單位矩陣,只需要一步便可以得到最優解

算法回速Pre conditioning

當特徵值 分部比較集中時,當分佈到1 附近時收斂更快。通過對變量線性變換,轉換成具有好的性質,即特徵值相對集中
在這裏插入圖片描述
在這裏插入圖片描述
上述的目標還是在解ϕ(x)=xTAxbTx\phi(x)=x^TAx-b^Tx,但是爲了加速計算,先對x 作線性變換x^=Cx\hat{x}=Cx,代入上式得到關於x^\hat{x}的方程,求解出最優的x^\hat{x}來重構要求的x,
當然可以利用上面的程序直接求出x,是等價的
需要求的ϕ(x)=xTAxbTx\phi(x)=x^TAx-b^Tx
ϕ^(x^)=12x^T(CTAC1)x^(CTb)Tx^rk^=(CTAC1)x^(CTb)x^=Cxrk=AxkbM=CTCMyk=rkCTCyk=rkCyk=CTrk=CTAxkCTb=CTAC1xkCTb=rk^ykϕ() \hat{\phi}(\hat{x})=\frac{1}{2} \hat{x}^{T}\left(\mathcal{C}^{-T} A C^{-1}\right) \hat{x}-\left(C^{-T} b\right)^{T} \hat{x}\\ 求導:\hat{r_{k}}=\left(\mathcal{C}^{-T} A C^{-1}\right) \hat{x}-\left(C^{-T} b\right)\\ \hat{x}=Cx\\ r_k=A{x_{k}}-b\\ M=C^TC\\ My_k=r_k\\ C^TCy_{k}=r_{k}\\ Cy_{k}=C^{-T}r_k=C^{-T}A{x_{k}}-C^{-T}b=C^{-T}A{C^{-1} x_{k}}-C^{-T}b=\hat{r_{k}}\\ 因此可以看出y_{k}是我們要求的即\phi()

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