這裡,討論三個概念:梯度向量、jacobian矩陣、hessian矩陣;
由自變數x=(x1,x2,…,xn)t;
因變數:
①為一維f(x)時,
此時其一階導數構成的向量為梯度向量g(x);
此時其二階導數構成的矩陣為hessian矩陣;
②為多維f(x)=(f1(x), f2(x),…,fm(x))t時,
此時其一階導數構成的矩陣為jacobian矩陣;
梯度向量:
定義:目標函式f為單變數,是關於自變數向量x=(x1,x2,…,xn)t的函式,
單變數函式f對向量x求梯度,結果為乙個與向量x同維度的向量,稱之為梯度向量;
jacobian矩陣:
定義:目標函式f為乙個函式向量,f=(f1(x),f2(x),…fm(x))t;
其中,自變數x=(x1,x2,…,xn)t;
函式向量f對x求梯度,結果為乙個矩陣;行數為f的維數;列數字x的維度,稱之為jacobian矩陣;
其每一行都是由相應函式的梯度向量轉置構成的;
【注】:梯度向量jacobian矩陣的乙個特例;
當目標函式為標量函式時,jacobian矩陣是梯度向量;
hessian矩陣:
實際上,hessian矩陣是梯度向量g(x)對自變數x的jacobian矩陣:
內積:向量a和向量b的內積等於a的長度乘b的長度乘夾角的余弦;
海森矩陣在牛頓法中的應用
牛頓法主要應用在兩個方面:求方程的根; 最優化;
1)求解方程:
並不是所有的方程都有求根公式, 或者求根公式很複雜, 導致求解困難;
利用牛頓法, 可以迭代求解;
原理:利用泰勒公式, 在x0處一階展開,即f(x)=f(x0)+(x-x0)f』(x0);
求解方程f(x)=0,即f(x0)+(x-x0)f』(x0)=0, 求解x=x1=x0-f(x0)/f』(x0),
因為利用泰勒公式的一階展開, f(x)=f(x0)+(x-x0)f』(x0)處是近似相等;
f(x1)的值比f(x0)更接近f(x)=0,於是迭代求解;
推出xn+1=xn–f(xn)/f』(xn)通過迭代, 這個式子必然在f(x^∗)=0的時候收斂;
整個過程如下圖:
2)最優化:
在最優化的問題中,
線性最優化可以用不動點演算法求解,
但非線性優化問題, 牛頓法提供了一種求解的辦法;
假設優化乙個目標函式f, 求函式f的極大極小問題,可轉化為f』=0的問題;
把優化問題看成方程求解問題(f』=0);
求解f』=0的根, 把f(x)的2階泰勒展開:
f(x+δx)=f(x)+f』(x)δx+1/2f』』(x)δx^2;
當且僅當δx 無限趨近於0時, f(x+δx)=f(x)約去這兩項,
對餘項式f』(x)δx+1/2f」(x)δx^2=0對δx求導(注: f』(x), f』』(x)均為常數項;
此時上式等價:
f』(x)+f』』(x)δx=0;
求解:δx=−f』(xn)/f』』(xn);
得出迭代公式:
xn+1=xn−f』(xn)f』』(xn),n=0,1,...
一般認為牛頓法可以利用到曲線本身的資訊, 比梯度下降法更容易收斂(迭代更少次數),
如下圖是乙個最小化乙個目標方程的例子, 紅色曲線是利用牛頓法迭代求解, 綠色曲線是利用梯度下降法求解;
步驟閱讀
Jacobian矩陣和梯度矩陣
記號標識 標量 常規小寫字母 向量 加粗的小寫字母 x x1,xm t rm bm x x 1,cdots,x m t in mathbb m x x1 x m t rm 實矩陣 加粗的大寫字母 x x1,xn t rm n bm x bm x 1,cdots,bm x n t in mathbb ...
Jacobian矩陣和Hessian矩陣
taylor s theorem 泰勒定理講的是 有乙個函式f x 是可微函式並且足夠光滑。那麼在函式某乙個點的各階導數值已知的情況下,泰勒公式可以用這些導數值作為多項式的係數,來近似函式在這一點的鄰域中的值。這個多項式就是泰勒多項式。泰勒公式還給出了餘項即這個多項式和實際函式值之間的偏差。泰勒級數...
Jacobian矩陣和Hessian矩陣
發表於 2012 年 8 月 8 日 1.jacobian 在向量分析中,雅可比矩陣是一階偏導數以一定方式排列成的矩陣,其行列式稱為雅可比行列式.還有,在代數幾何中,代數曲線的雅可比量表示雅可比簇 伴隨該曲線的乙個代數群,曲線可以嵌入其中.它們全部都以數學家卡爾 雅可比 carl jacob,180...