看牛頓法的時候,遇到的這個問題
原問題是要用牛頓法求對數似然函式 l(
θ)的最大值,也就是似然函式導數的零點,即迭代過程為: θ:=
θ−l′
(θ)l
′′(θ)
如果 θ 為向量,就會想,函式對向量求導怎麼求?
所以查了一下:
結果是向量
事實上這就是所謂的gradient,即對於一般標量函式 f(
x), 其中向量為 x=
(x1,
...,
xn) ,導數為: ∂f
∂x=(
∂f∂x
1,..
.∂f∂
xn)
也記為: ∇f
結果是矩陣
這個當然也是gradient,當然這準確的說應該叫matrix gradient. 即對於向量值函式 f(
x), 其中 x=
(x1,
...,
xn) , f=
(f1,
...,
fm) , 導數為:∂f
∂x=∂
ft∂x
=[∂f
1∂x,
...∂
fm∂x
]=⎡⎣
⎢⎢⎢⎢
⎢⎢⎢∂
f1∂x
1⋮∂f
1∂xn
⋯⋱⋯∂
fm∂x
1⋮∂f
m∂xn
⎤⎦⎥⎥
⎥⎥⎥⎥
⎥ 這個矩陣也叫做 jacobian 矩陣
二階導數就是hessian矩陣,形式如下: h(
f)=⎡
⎣⎢⎢⎢
⎢⎢⎢⎢
⎢⎢⎢⎢
⎢⎢⎢∂
2f∂x
21∂2
f∂x2
∂x1⋮
∂2f∂
xn∂x
1∂2f
∂x1∂
x2∂2
f∂x2
2⋮∂2
f∂xn
∂x2⋯
⋯⋱⋯∂
2f∂x
1∂xn
∂2f∂
x2∂x
n⋮∂2
f∂x2
n⎤⎦⎥
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥ 或者可以用更抽象的定義: hi
,j=∂
2f(x
)∂xi
∂xj
明確了這一點,就能夠給出
θ 時的迭代形式了:θ:=
θ−h−
1∇θl
(θ)
鞍點 Hessian矩陣
轉 長期以來,人們普遍認為,神經網路優化問題困難是因為較大的神經網路中包含很多區域性極小值 local minima 使得演算法容易陷入到其中某些點。到2014年,一篇 identifying and attacking the saddle point problem in high dimens...
Hessian介面學習筆記
hessian 是採用二進位製流進行通訊的,效能應該會好一些,不過既然通過二進位製流傳遞,是不是對複雜物件的傳遞有問題呢,畢竟傳遞過程中沒有象 soap 這樣保留了物件的結構的。這個問題有待以後考證。和ice,webservice 一樣,既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通...
Hessian介面學習筆記
和ice,webservice一樣,既然作為服務類那麼必須有文件公布它的介面形式,客戶端使用者在通過這個文件來生成 類。ice是通過.ice檔案,webservice是通過wsdl,但是hessian沒有這個型別的文件,hessian的 類是直接通過factrory去生成的。所以在做hessian客...