线性代数笔记:标量、向量、矩阵求导

0 基本法则

行向量对元素求导

列向量对元素求导 线性代数笔记:标量、向量、矩阵求导_第1张图片
矩阵对元素求导 线性代数笔记:标量、向量、矩阵求导_第2张图片
元素对行向量求导
元素对列向量求导 线性代数笔记:标量、向量、矩阵求导_第3张图片
元素对矩阵求导 线性代数笔记:标量、向量、矩阵求导_第4张图片
行向量对列向量求导 线性代数笔记:标量、向量、矩阵求导_第5张图片
列向量对行向量求导 线性代数笔记:标量、向量、矩阵求导_第6张图片
行向量对行向量求导 线性代数笔记:标量、向量、矩阵求导_第7张图片
列向量对列向量求导 线性代数笔记:标量、向量、矩阵求导_第8张图片
矩阵对行向量求导

线性代数笔记:标量、向量、矩阵求导_第9张图片

矩阵对列向量求导

(这个略有不同)

线性代数笔记:标量、向量、矩阵求导_第10张图片
行向量对矩阵求导(这个略有不同) 线性代数笔记:标量、向量、矩阵求导_第11张图片
列向量对矩阵求导 线性代数笔记:标量、向量、矩阵求导_第12张图片
矩阵对矩阵求导

线性代数笔记:标量、向量、矩阵求导_第13张图片

线性代数笔记:标量、向量、矩阵求导_第14张图片

1 分子布局和分母

我们先考虑一个问题:

        维度为m的一个向量对一个标量的求导,那么结果也是一个m维的向量:∂/∂。

        这个m维的求导结果排列成的m维向量到底应该是列向量还是行向量?

        答案是行向量和列向量都可以(二者只相差一个转置运算)

但是在机器学习算法法优化过程中,如果行向量或者列向量随便写,那么结果就不唯一,乱套了。

为了解决矩阵向量求导的结果不唯一,我们引入求导布局。最基本的求导布局有两个:分子布局(numerator layout)和分母布局(denominator layout )。

        对于分子布局来说,我们求导结果的维度以分子为主,比如对于我们上面对标量求导的例子,结果的维度和分子的维度是一致的。对于分母布局来说,我们求导结果的维度以分母为主

        但是在机器学习算法原理的资料推导里,我们并没有看到说正在使用什么布局,也就是说布局被隐含了,这就需要自己去推演,比较麻烦。

        但是一般来说我们会使用一种叫混合布局的思路,即如果是向量或者矩阵对标量求导,则使用分子布局为准,如果是标量对向量或者矩阵求导,则以分母布局为准。(就是说,跟着维度大的走)

        对于向量对对向量求导,有些分歧,可能得视情况而定了。

总的来说,我们可以做如下的总结:

线性代数笔记:标量、向量、矩阵求导_第15张图片

2 向量对向量求导

 

 线性代数笔记:标量、向量、矩阵求导_第16张图片-

——>雅可比矩阵 

小写字母表示向量,大写字母表示矩阵

如果y是m维,x是n维,那么分子布局会得到一个m*n的矩阵;分母布局会得到一个n*m的矩阵

条件情况

典型表达式

分子布局

维度为yx^T

分母布局

维度为{(yx^T)}^T=xy^T

(在这一小节中,以分母布局为主) 

向量a不是向量x的函数 0【这里是全零矩阵】
/ I【这里是全1矩阵】
A不是关于x的函数
 
A A^T
A^T A

a不是关于x的函数

但是u是,u=u(x)

A不是关于x的函数

但是u是,u=u(x)

a=a(x)

u=u(x)

u=u(x)

v=v(x)

u=u(x)
A不是x的函数

3 标量对向量求导 

线性代数笔记:标量、向量、矩阵求导_第17张图片

条件情况

典型表达式

分子布局

维度为y^T

分母布局

维度为y

(在这一小节中,以分母布局为主) 

a不是x的函数 0

a不是x的函数

u=u(x)

u=u(x)

v=v(x)

u=u(x)

u=u(x)

v=v(x)

A不是x的函数

a不是x的函数 a

A不是x的函数

b不是x的函数

A不是x的函数
A不是x的函数,同时A是对称矩阵
A不是x的函数
A不是x的函数,同时A是对称矩阵 2A
/ 2x

a不是x的函数

u=u(x)

a,b都不是x的函数
A,B,C,D,e都不是x的函数
a不是x的函数

4 向量对标量求导

 

对于一个函数,它的梯度为:线性代数笔记:标量、向量、矩阵求导_第18张图片

条件情况

典型表达式

分子布局

维度为y

(在这一小节中,以分母布局为主) 

分母布局

维度为y^T

a不是x的函数 0

a不是x的函数

u=u(x)

A不是x的函数

u=u(x)

u=u(x)

u=u(x)

v=v(x)

u=u(x)

U=U(x)

v=v(x)

5 标量对矩阵

 线性代数笔记:标量、向量、矩阵求导_第19张图片

条件情况

典型表达式

分子布局

维度为Y

标量对矩阵一般来说只有分子布局

U=U(x)

A,B不是x的函数

U=U(x)

U=U(x)

V=V(x)

U=U(x,y)
A不是X的函数

6 矩阵对标量

注意一点:此时的展开式除以的X也相当于是转置

线性代数笔记:标量、向量、矩阵求导_第20张图片

6.1 求解迹的微分

求解

线性代数笔记:标量、向量、矩阵求导_第21张图片

6.2 矩阵对标量

条件情况

典型表达式

分子布局

维度为

 (在这一小节中,以分母布局为主) 

分母布局

维度为x

a不是X的方程 0

a不是X的方程

u=u(X)

u=u(X)

v=v(X)

u=u(X)
U=U(X)
a,b都不是X的函数 ba^T ab^T
ab^T ba^T
a,b,C都不是X的函数
\ I(单位矩阵)

U=U(X)

V=V(X)

a不是X的函数

U=U(X)

/
A不是X的函数 A
        A
A,B不是X的函数 BA
A,B,C不是X的函数
n是一个正整数

A不是X的函数

n是一个正整数

/
a不是X的函数
这里需要用到伪逆
-2X

A不是X的函数

X是方阵,而且可逆


 

A不是X的函数

A对称

X不是方阵

A不是X的函数

A不对称

X不是方阵

参考资料

矩阵和向量的求导法则_jmhIcoding-CSDN博客_矩阵对向量求导

维基百科

​​​​​​​

你可能感兴趣的:(线性代数,线性代数,机器学习)