1、定义
以n维向量 x x 为变元的实标量函数f(x) f ( x ) 相对于 x x 的梯度结果为n*1列向量,定义为
▽xf(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂f(x)∂x1∂f(x)∂x2⋮∂f(x)∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥=[∂f(x)∂x1,∂f(x)∂x2,...,∂f(x)∂xn]T=∂f(x)∂x ▽ x f ( x ) = [ ∂ f ( x ) ∂ x 1 ∂ f ( x ) ∂ x 2 ⋮ ∂ f ( x ) ∂ x n ] = [ ∂ f ( x ) ∂ x 1 , ∂ f ( x ) ∂ x 2 , . . . , ∂ f ( x ) ∂ x n ] T = ∂ f ( x ) ∂ x
其中, x x 默认为列向量,xT x T 默认为行向量。
2、拓展定义
2.1 实标量函数 f(x) f ( x ) 相对于1*n行向量 xT x T 的梯度结果为1*n行向量,定义为
∂f(x)∂xT=[∂f(x)∂x1,∂f(x)∂x2,...,∂f(x)∂xn]=▽xTf(x) ∂ f ( x ) ∂ x T = [ ∂ f ( x ) ∂ x 1 , ∂ f ( x ) ∂ x 2 , . . . , ∂ f ( x ) ∂ x n ] = ▽ x T f ( x )
2.2 m维行向量函数 f(x)=[f1(x),f2(x),…,fm(x)] f ( x ) = [ f 1 ( x ) , f 2 ( x ) , … , f m ( x ) ] 相对n维实向量 x x (x x 默认是列向量)的梯度为一 n∗m n ∗ m 矩阵,定义为
∂f(x)∂x=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂f1(x)∂x1∂f1(x)∂x2⋮∂f1(x)∂xn∂f2(x)∂x1∂f2(x)∂x2⋮∂f2(x)∂xn.........∂fm(x)∂x1∂fm(x)∂x2⋮∂fm(x)∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥=▽xf(x) ∂ f ( x ) ∂ x = [ ∂ f 1 ( x ) ∂ x 1 ∂ f 2 ( x ) ∂ x 1 . . . ∂ f m ( x ) ∂ x 1 ∂ f 1 ( x ) ∂ x 2 ∂ f 2 ( x ) ∂ x 2 . . . ∂ f m ( x ) ∂ x 2 ⋮ ⋮ ⋮ ∂ f 1 ( x ) ∂ x n ∂ f 2 ( x ) ∂ x n . . . ∂ f m ( x ) ∂ x n ] = ▽ x f ( x )
两个特例:
(1)若m*1向量函数
f(x)=y=[y1,y2,…,ym]T f ( x ) = y = [ y 1 , y 2 , … , y m ] T ,其中
y1,y2,…,ym y 1 , y 2 , … , y m 是向量的标量函数。则一阶梯度
∂y∂xT=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂y1∂x1∂y2∂x1⋮∂ym∂x1∂y1∂x2∂y2∂x2⋮∂ym∂x2.........∂y1∂xn∂y2∂xn⋮∂ym∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥ ∂ y ∂ x T = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 . . . ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 . . . ∂ y 2 ∂ x n ⋮ ⋮ ⋮ ∂ y m ∂ x 1 ∂ y m ∂ x 2 . . . ∂ y m ∂ x n ]
是一个
m∗n m ∗ n 矩阵,称为
向量函数 y=[y1,y2,...,ym]T y = [ y 1 , y 2 , . . . , y m ] T 的
Jacobi矩阵。
(2)若
f(x)=[x1,x2,...,xn] f ( x ) = [ x 1 , x 2 , . . . , x n ] ,则
∂xT∂x=I=∂f(x)∂x(I是单位矩阵) ∂ x T ∂ x = I = ∂ f ( x ) ∂ x ( I 是 单 位 矩 阵 )
例如:
x=[x1,x2,x3]T x = [ x 1 , x 2 , x 3 ] T ,则
xT=[x1,x2,x3] x T = [ x 1 , x 2 , x 3 ] ,所以
∂xT∂x=⎡⎣⎢⎢⎢⎢∂x1∂x1∂x1∂x2∂x1∂x3∂x2∂x1∂x2∂x2∂x2∂x3∂x3∂x1∂x3∂x2∂x3∂x3⎤⎦⎥⎥⎥⎥=⎡⎣⎢100010001⎤⎦⎥=I ∂ x T ∂ x = [ ∂ x 1 ∂ x 1 ∂ x 2 ∂ x 1 ∂ x 3 ∂ x 1 ∂ x 1 ∂ x 2 ∂ x 2 ∂ x 2 ∂ x 3 ∂ x 2 ∂ x 1 ∂ x 3 ∂ x 2 ∂ x 3 ∂ x 3 ∂ x 3 ] = [ 1 0 0 0 1 0 0 0 1 ] = I
公式 ∂xT∂x=I(I是单位矩阵) ∂ x T ∂ x = I ( I 是 单 位 矩 阵 ) 非常有用
3、导出的基本公式
A A 和y y 均与向量 x x 无关,有
(1)∂xTAy∂x=∂xT∂xAy=Ay ∂ x T A y ∂ x = ∂ x T ∂ x A y = A y
(2) ∂yTAx∂x=ATy ∂ y T A x ∂ x = A T y
(3) ∂xTAx∂x=Ax+ATx ∂ x T A x ∂ x = A x + A T x
(4) ∂xTAx∂x=2Ax(A为对称矩阵,转置矩阵等于本身) ∂ x T A x ∂ x = 2 A x ( A 为 对 称 矩 阵 , 转 置 矩 阵 等 于 本 身 )
注:矩阵的转置
(AT)T=A ( A T ) T = A
(A+B)T=AT+BT ( A + B ) T = A T + B T
(λA)T=λAT ( λ A ) T = λ A T
(AB)T=BTAT ( A B ) T = B T A T
参考
[1]《矩阵分析与运用》第5章
[2]《线性代数》第二版