(二)实值函数相对于向量的梯度

1、定义

以n维向量 x x 为变元的实标量函数f(x) f ( x ) 相对于 x x 的梯度结果为n*1列向量,定义为

xf(x)=f(x)x1f(x)x2f(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 默认是列向量)的梯度为一 nm n ∗ m 矩阵,定义为

f(x)x=f1(x)x1f1(x)x2f1(x)xnf2(x)x1f2(x)x2f2(x)xn.........fm(x)x1fm(x)x2fm(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 是向量的标量函数。则一阶梯度
yxT=y1x1y2x1ymx1y1x2y2x2ymx2.........y1xny2xnymxn ∂ 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 ]

是一个 mn 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 ] ,则
xTx=I=f(x)xI ∂ 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 ] ,所以
xTx=x1x1x1x2x1x3x2x1x2x2x2x3x3x1x3x2x3x3=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

公式 xTx=II ∂ x T ∂ x = I ( I 是 单 位 矩 阵 ) 非常有用

3、导出的基本公式

A A y y 均与向量 x x 无关,有

(1)xTAyx=xTxAy=Ay ∂ x T A y ∂ x = ∂ x T ∂ x A y = A y

(2) yTAxx=ATy ∂ y T A x ∂ x = A T y

(3) xTAxx=Ax+ATx ∂ x T A x ∂ x = A x + A T x

(4) xTAxx=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]《线性代数》第二版

你可能感兴趣的:(机器学习中的数学)