Jacobian矩陣和Hessian矩陣

2021-09-07 15:20:06 字數 4133 閱讀 7977

1. jacobian

在向量分析中, 雅可比矩陣是一階偏導數以一定方式排列成的矩陣, 其行列式稱為雅可比行列式. 還有, 在代數幾何中, 代數曲線的雅可比量表示雅可比簇:伴隨該曲線的乙個代數群, 曲線可以嵌入其中. 它們全部都以數學家卡爾·雅可比(carl jacob, 2023年10月4日-2023年2月18日)命名;英文雅可比量」jacobian」可以發音為[ja ˈko bi ən]或者[ʤə ˈko bi ən].

雅可比矩陣

雅可比矩陣的重要性在於它體現了乙個可微方程與給出點的最優線性逼近. 因此, 雅可比矩陣類似於多元函式的導數.

假設ff: rn→rm

rn→rm是乙個從歐式n維空間轉換到歐式m維空間的函式. 這個函式由m個實函式組成: y1(x1,…,xn), …, ym(x1,…,xn). 這些函式的偏導數(如果存在)可以組成乙個m行n列的矩陣, 這就是所謂的雅可比矩陣:

⎡⎣⎢⎢⎢⎢∂y1∂x1⋮∂ym∂x1⋯⋱⋯∂y1∂xn⋮∂ym∂xn⎤⎦⎥⎥⎥⎥

[∂y1∂x1⋯∂y1∂xn⋮⋱⋮∂ym∂x1⋯∂ym∂xn]

此矩陣表示為: jf(x1,…,xn)

jf(x1,…,xn), 或者∂(y1,…,ym)∂(x1,…,xn)

∂(y1,…,ym)∂(x1,…,xn).

這個矩陣的第i行是由梯度函式的轉置yi(i=1,…,m)表示的.

如果pp是rn

rn中的一點, f

f在pp點可微分, 那麼在這一點的導數由jf(p)

jf(p)給出(這是求該點導數最簡便的方法). 在此情況下, 由f(p)

f(p)描述的線性運算元即接近點p

p的ff的最優線性逼近, x

x逼近於p

p:f(x)≈f(p)+jf(p)⋅(x–p)

f(x)≈f(p)+jf(p)⋅(x–p)

雅可比行列式

如果m = n, 那麼f

f是從n維空間到n維空間的函式, 且它的雅可比矩陣是乙個方塊矩陣. 於是我們可以取它的行列式, 稱為雅可比行列式.

在某個給定點的雅可比行列式提供了 在接近該點時的表現的重要資訊. 例如, 如果連續可微函式f

f在pp點的雅可比行列式不是零, 那麼它在該點附近具有反函式. 這稱為反函式定理. 更進一步, 如果p

p點的雅可比行列式是正數, 則f

f在pp點的取向不變;如果是負數, 則f

f的取向相反. 而從雅可比行列式的絕對值, 就可以知道函式f

f在pp點的縮放因子;這就是為什麼它出現在換元積分法中.

對於取向問題可以這麼理解, 例如乙個物體在平面上勻速運動, 如果施加乙個正方向的力f

f, 即取向相同, 則加速運動, 模擬於速度的導數加速度為正;如果施加乙個反方向的力f

f, 即取向相反, 則減速運動, 模擬於速度的導數加速度為負.

2.海森hessian矩陣

在數學中, 海森矩陣(hessian matrix或hessian)是乙個自變數為向量的實值函式的二階偏導數組成的方塊矩陣, 此函式如下:

f(x1,x2…,xn)

f(x1,x2…,xn)

如果ff的所有二階導數都存在, 那麼f

f的海森矩陣即:

h(f)ij(x)=didjf(x)

h(f)ij(x)=didjf(x)

其中x=(x1,x2…,xn)

x=(x1,x2…,xn), 即h(f)

h(f)為:

⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂x21∂2f∂x2∂x1⋮∂2f∂xn∂x1∂2f∂x1∂x2∂2f∂x22⋮∂2f∂xn∂x2⋯⋯⋱⋯∂2f∂x1∂xn∂2f∂x2∂xn⋮∂2f∂x2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

[∂2f∂x12∂2f∂x1∂x2⋯∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22⋯∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2⋯∂2f∂xn2]

(也有人把海森定義為以上矩陣的行列式)海森矩陣被應用於牛頓法解決的大規模優化問題.

海森矩陣在牛頓法中的應用

一般來說, 牛頓法主要應用在兩個方面, 1, 求方程的根; 2, 最優化.

1), 求解方程

並不是所有的方程都有求根公式, 或者求根公式很複雜, 導致求解困難. 利用牛頓法, 可以迭代求解.

原理是利用泰勒公式, 在x0

x0處展開, 且展開到一階, 即f(x)=f(x0)+(x–x0)f′(x0)

f(x)=f(x0)+(x–x0)f′(x0)

求解方程f(x)=0

f(x)=0, 即f(x0)+(x–x0)f′(x0)=0

f(x0)+(x–x0)f′(x0)=0, 求解x=x1=x0–f(x0)/f′(x0)

x=x1=x0–f(x0)/f′(x0), 因為這是利用泰勒公式的一階展開, f(x)=f(x0)+(x–x0)f′(x0)

f(x)=f(x0)+(x–x0)f′(x0)處並不是完全相等, 而是近似相等, 這裡求得的x1

x1並不能讓f(x)=0

f(x)=0, 只能說f(x1)

f(x1)的值比f(x0)

f(x0)更接近f(x)=0

f(x)=0, 於是乎, 迭代求解的想法就很自然了, 可以進而推出xn+1=xn–f(xn)/f′(xn)

xn+1=xn–f(xn)/f′(xn), 通過迭代, 這個式子必然在f(x∗)=0

f(x∗)=0的時候收斂. 整個過程如下圖:

2), 最優化

在最優化的問題中, 線性最優化至少可以使用單純形法(或稱不動點演算法)求解, 但對於非線性優化問題, 牛頓法提供了一種求解的辦法. 假設任務是優化乙個目標函式f

f, 求函式f

f的極大極小問題, 可以轉化為求解函式f

f的導數f′=0

f′=0的問題, 這樣求可以把優化問題看成方程求解問題(f′=0

f′=0). 剩下的問題就和第一部分提到的牛頓法求解很相似了.

這次為了求解f′=0

f′=0的根, 把f(x)

f(x)的泰勒展開, 展開到2階形式:

f(x+δx)=f(x)+f′(x)δx+12f′′(x)δx2

f(x+δx)=f(x)+f′(x)δx+12f″(x)δx2

這個式子是成立的, 當且僅當 δx

δx 無限趨近於0時, f(x+δx)=f(x)

f(x+δx)=f(x), 約去這兩項, 並對餘項式f′(x)δx+12f」(x)δx2=0

f′(x)δx+12f」(x)δx2=0對δx

δx求導(注: f′(x)

f′(x), f」(x)

f」(x)均為常數項. 此時上式等價與:

f′(x)+f′′(x)δx=0

f′(x)+f″(x)δx=0

求解:δx=−f′(xn)f′′(xn)

δx=−f′(xn)f″(xn)

得出迭代公式:

xn+1=xn−f′(xn)f′′(xn),n=0,1,...

xn+1=xn−f′(xn)f″(xn),n=0,1,...

一般認為牛頓法可以利用到曲線本身的資訊, 比梯度下降法更容易收斂(迭代更少次數), 如下圖是乙個最小化乙個目標方程的例子, 紅色曲線是利用牛頓法迭代求解, 綠色曲線是利用梯度下降法求解.

在上面討論的是2維情況, 高維情況的牛頓迭代公式是:

xn+1=xn−[hf(xn)]–1∇f(xn),n≥0

xn+1=xn−[hf(xn)]–1∇f(xn),n≥0

其中h是hessian矩陣, 定義見上. 

高維情況依然可以用牛頓迭代求解, 但是問題是hessian矩陣引入的複雜性, 使得牛頓迭代求解的難度大大增加, 但是已經有了解決這個問題的辦法就是quasi-newton method, 不再直接計算hessian矩陣, 而是每一步的時候使用梯度向量更新hessian矩陣的近似.

[參考: wikipedia]

Jacobian矩陣和Hessian矩陣

taylor s theorem 泰勒定理講的是 有乙個函式f x 是可微函式並且足夠光滑。那麼在函式某乙個點的各階導數值已知的情況下,泰勒公式可以用這些導數值作為多項式的係數,來近似函式在這一點的鄰域中的值。這個多項式就是泰勒多項式。泰勒公式還給出了餘項即這個多項式和實際函式值之間的偏差。泰勒級數...

Jacobian矩陣和Hessian矩陣

發表於 2012 年 8 月 8 日 1.jacobian 在向量分析中,雅可比矩陣是一階偏導數以一定方式排列成的矩陣,其行列式稱為雅可比行列式.還有,在代數幾何中,代數曲線的雅可比量表示雅可比簇 伴隨該曲線的乙個代數群,曲線可以嵌入其中.它們全部都以數學家卡爾 雅可比 carl jacob,180...

Jacobian矩陣和Hessian矩陣

在向量分析中,雅可比矩陣是一階偏導數以一定方式排列成的矩陣,其行列式稱為雅可比行列式.還有,在代數幾何中,代數曲線的雅可比量表示雅可比簇 伴隨該曲線的乙個代數群,曲線可以嵌入其中.它們全部都以數學家卡爾 雅可比 carl jacob,1804年10月4日 1851年2月18日 命名 英文雅可比量 j...