lr 學習

lr 學習

基本推導

這個不少地方都有....學習

梯度降低

梯度降低是利用了一階導數的信息來加速收斂. 一階導數,線性速度.變量

公式
$$
f(X_k + ad) = f(X_k) + ag_k^Td+ o(a) tag{1}
$$
這裏解釋下 $X_k$ 表明一個自變量, $a$ 表明你步長(實數), d是單位向量(|1|), $g_k^T = nabla f(X_k)$是在$X_k$這一點的梯度.$o(a)$是a的高階無窮小. 參考下泰勒公式:
$$
f(x+h) = f(x) + f'(x)*h + o(h)
$$
是同樣的.vi

要使(1)式收斂這裏須要對,至關於$g^Td$ 取最小,也就是兩者正交。sse

牛頓法

先說一句,牛頓法必定比梯度降低快麼?block

是的,由於二階導數的相比一階導數收斂的更快.let

在$X_k$ 點上進行二階泰勒展開:
$$
r_k(X)=f(X_k) + g_k^T(X-X_k) +1/2(X-X_k)^TG_k(X-X_k) tag{2}
$$
$g_k^T$是$f(x)$的一階導數。$G_k=nabla^2 f(X_k)$ 是二階導數。ab

這裏要(2)收斂須要對進行求導。
$$
nabla r_k(X) = g_k + G_k(X-X_k) tag{3}
$$
$f(X_k)$ 常數。$g_K^T(X-X_k)$ 求導用乘法法則獲得(3)。這裏要(3)等於0.當$G_k$的逆矩陣存在,也即$G_k$爲非奇異矩陣的時候則有:
$$
G_k^{-1}g_k + X-X_k=0 Rightarrow
X=X_k-G_k^{-1}g_k = X_k+d
$$
可得 $-G_k^{-1}g_k=d Rightarrow G_k d=-g_k$ 這裏轉換成這種形式主要是不知道$G_k^{-1}$是多少,因此須要去解後面這個方程,而這個過程其實和秋逆的過程差很少。這裏的 $G_k$ 就是hesse 矩陣tar

共軛梯度法

bfp

BFP 是三個哥們(Davidon、Fletcher、Powell三位牛人)。BFP 的思想是用近似的正定矩陣來模擬 hesse矩陣。tag

bfgs

$$min_{x in R^n }$$

相關文章
相關標籤/搜索