Haward

欢迎交流学习

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

1、定义

以n维向量x为变元的实标量函数f(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默认为列向量,xT默认为行向量。

2、拓展定义

2.1 实标量函数f(x)相对于1*n行向量xT的梯度结果为1*n行向量,定义为

f(x)xT=[f(x)x1,f(x)x2,...,f(x)xn]=xTf(x)

2.2 m维行向量函数f(x)=[f1(x),f2(x),,fm(x)]相对n维实向量x(x默认是列向量)的梯度为一nm矩阵,定义为

f(x)x=[f1(x)x1f2(x)x1...fm(x)x1f1(x)x2f2(x)x2...fm(x)x2f1(x)xnf2(x)xn...fm(x)xn]=xf(x)

两个特例:
(1)若m*1向量函数f(x)=y=[y1,y2,,ym]T,其中y1,y2,,ym是向量的标量函数。则一阶梯度
yxT=[y1x1y1x2...y1xny2x1y2x2...y2xnymx1ymx2...ymxn]

是一个mn矩阵,称为向量函数y=[y1,y2,...,ym]TJacobi矩阵
(2)若f(x)=[x1,x2,...,xn],则
xTx=I=f(x)xI

例如:
x=[x1,x2,x3]T,则xT=[x1,x2,x3],所以
xTx=[x1x1x2x1x3x1x1x2x2x2x3x2x1x3x2x3x3x3]=[100010001]=I

公式xTx=II非常有用

3、导出的基本公式

Ay均与向量x无关,有

(1)xTAyx=xTxAy=Ay

(2)yTAxx=ATy

(3)xTAxx=Ax+ATx

(4)xTAxx=2Ax(A,)

注:矩阵的转置

(AT)T=A

(A+B)T=AT+BT

(λA)T=λAT

(AB)T=BTAT

参考
[1]《矩阵分析与运用》第5章
[2]《线性代数》第二版

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hao5335156/article/details/80322623
个人分类: 机器学习中的数学
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭