最速下降法實為最陡下降法,收斂性質類似於梯度下降法。
定義乙個和x
kx^k
xk同維度的向量v
vv,那麼有:
min x
f(x)
⇔repeat
minvf
(xk+
v)\min_xf(x)\leftrightarrow\text\min_vf(x^k+v)
xminf
(x)⇔
repeat
vminf
(xk+
v)就是乙個全域性分解為每一步,我們都要尋找乙個向量v
vv使得xk+
vx^k+v
xk+v
也就是xk+
1x^xk+1
最小。我們對f(x
k+v)
f(x^k+v)
f(xk+v
)泰勒展開,同時可以求得方向d
kd^k
dk,得到最速下降法:
d k=
arg
minvα
k=d^k&=\arg\min_v\lbrace f(x^k)+\nabla f^t(x^k)v\big|\|v\|=1\rbrace\\ \alpha^k&=\begin \text\\ \text \end \end
dkαk=
ar**
min
=
d^k=\arg\min\lbrace\nabla f^t(x)v\big|\|v\|_2=1\rbrace
dk=arg
min
此時v
vv為負梯度方向,類似於梯度下降法。j就是乙個模為1的方向。
2.d k=
arg
min
d^k=\arg\min\lbrace\nabla f^t(x)v\big|\|v\|_1=1\rbrace
dk=arg
min
此時v
vv的分量絕對值之和為1,那麼使∇ft
(x)v
\nabla f^t(x)v
∇ft(x)
v最小的v
vv就是除了∇ft
(x)\nabla f^t(x)
∇ft(x)
某個絕對值最大分量對應的一項絕對值為1、符號與∇ft
(x)\nabla f^t(x)
∇ft(x)
該項相反外,其餘為零的v
vv。也就是說,在這個方式下,函式是沿著某個座標軸方向下降的(其它座標軸對應的分量都為0),這個方向是∇ft
(x)\nabla f^t(x)
∇ft(x)
沿座標軸分解後,下降最快的方向,也就是最陡下降法。
3.d k=
arg
min
d^k=\arg\min\lbrace\nabla f^t(x)v\big|\|v\|_=1\rbrace
dk=arg
min
此時v
vv的絕對值最大的分量為1,那麼,此時v
vv的取值就是當∇f(
x)\nabla f(x)
∇f(x
)在某座標軸方向為正值,對應v
vv的分量為−1-1
−1,反之亦然。
由於算梯度是一件比較有困難的事情,那麼在∥v∥
1=1\|v\|_1=1
∥v∥1=
1時,反正你都是沿著某個座標軸方向下降,那不如我幾個座標軸輪著試試。有:
d k=
emod(k
,n)d^k=e\text(k,n)
dk=e
mod(k,
n)其中e
ee為單位向量,就是某個分量為1其餘為0,mod
\text
mod是取模運算,用於輪轉方向。
這個方法的特點是區域性函式值不一定下降,但總體是收斂的。
一般形式:
block coordinate descent(分塊座標輪換法)
min f
(x,y
)⇔x^=\arg\min\limits_f(x,y^k)\\ y^=\arg\min\limits_f(x^k,y) \end
minf(x
,y)⇔
⎩⎨⎧
xk+1
=arg
xminf
(x,y
k)yk
+1=arg
yminf
(xk,
y)即固定x,y
x,yx,
y中的乙個,沿著另乙個方向優化,適用於f(x
,y)f(x,y)
f(x,y)
很複雜,但分開優化很簡單的情況。
最速下降法可以說也是很經典很簡單的方法了,座標輪換法雖然簡單,但魯棒性較低,如果任務不複雜的情況下可以使用。
優化演算法 無約束優化
無約束優化問題可以表示為 min l theta 其中目標函式 l cdot 是光滑的。如何針對不同的目標函式,不同的應用場景求解乙個無約束優化問題是機器學習領域的關注點。經典的優化演算法可以分為直接法和迭代法兩大類。直接法,就是能夠直接給出優化問題的最優解的方法,這種方法能夠通過乙個解析式直接求出...
一維無約束優化演算法 進退法
function minx,maxx minjt f,x0,h0 進退法求極值區間 2011 5 14 目標函式 f 初始點x0 初始步長h0 format long x1 x0 k 0 h h0 while 1 x4 x1 h k k 1 f4 subs f,findsym f x4 f1 sub...
學習筆記 矩陣微分 無約束最優化
在學習張賢達老師的 矩陣分析與應用 時,遇到了矩陣求導這一問題。之前從來沒接觸過這一概念,閱讀資料也是花費了不少時間,因此將學習的筆記總結到這裡,方便日後溫習。圖1是目錄中第五章的部分內容,因為本人目前在研究無約束最優化的問題,故只選取了前三節進行學習閱讀。圖1 無約束最優化目錄 首先考慮乙個最簡單...