梯度、Hessian矩陣、平面方程的法線以及函式導數的含義
阿新 • • 發佈:2019-01-26
想必單獨論及“ 梯度、Hessian矩陣、平面方程的法線以及函式導數”等四個基本概念的時候,絕大部分人都能夠很容易地談個一二三,基本沒有問題。
其實在應用的時候,這幾個概念經常被混淆,本文試圖把這幾個概念之間的關係整理一下,以便應用之時得心應手。
這四個概念中,Hessian矩陣是最不容易混淆,但卻是很多人難以記住的概念,其它三個概念很容易記住,但卻在某些時候很容易混淆。
- Hessian矩陣:設有凸函式f(X),X是向量(x1,x2,..., xn),Hessian矩陣M定義為:M的第i行,第j列元素為df(X)/dxidxj, 即為f(X)對於變數xi和xj的二次偏導數。
- 梯度:設有凸函式f(X),X是向量(x1,x2,..., xn),函式f(X)在點X0處的梯度是一個向量,等於(df(X0)/dx1, df(X0)/dx2, ...., df(X0)/dxn), 即是對於各個變數的偏導數的向量。例子:如果方程是z=f(x,y),梯度是在XOY平面內的一個向量,與z無關。因此要特別注意梯度不是點(X,f(X))處的切線方向。
- 平面方程的法線:設平面方程Ax+By+Cz+D = 0,向量(A, B, C)為這個平面的法線方向。
- 函式導數:二維直線的方程y= kx+b,我們說k是直線的斜率;二維曲線y=f(x)的導數f '(x)表示在點x處的切線的斜率,注意是切線的斜率,不是切線的方向,它是標量,不是向量。任意曲線y=f(x1,x2,...xn),對每一個變數求取偏導數,得到一個向量(df(X)/dx1, df(X)/dx2, ...., df(X)/dxn),這個向量就是函式在點X處的梯度,即梯度是表示曲線f(X)在X處變化最劇烈的方向,特別注意梯度並不是在點(X, f(X))處的切線方向, 梯度只是在點(X, f(X))處的切線方向在X構成的“平面”上的投影。注意,對於二維直線y=kx+b,它也是可以求取梯度的,它的梯度是向量(k),只有一個值,表示的是x方向上的向量,大小是x方向上的單位變化導致y變化量的大小,即就是切線的斜率。