向量和矩阵求导公式总结

向量和矩阵求导

先说规律

先说结论,从标量、向量、矩阵他们之间可以互相求导,排列组合共有九种(3x3),即标量对标量求导、标量对向量求导、标量对矩阵求导;向量对标量求导、向量对向量求导、向量对矩阵求导;矩阵对标量求导、矩阵对向量求导,矩阵对矩阵求导。这些求导也不是什么高深的理论,也就是多元函数的偏导数的组合而已,只是应用到不同场景有不同意义。

我们需要掌握的是这9种求导后,结果的形状,也就是求导后张量的形状。下面给出一张图,列出了所有情况。

9 kinds of differential

如图所示,横坐标表示自变量,纵坐标表示因变量,他们的排列组合有3x3共9种。

先说规律:求导的分母形状不变,分子的形状编程倒数,最后形状按照分子加分母的形状拼接,将形状为1的部分舍弃。举个例子,矩阵 Ym,l 对向量xn,1求导,分母形状不变为(m,l),分子的形状变为倒数即(1,n),然后拼接为(m,l,1,n),舍弃1最终结果为(m,l,n)。此方法叫做分子布局符号可以推广到更高维度,其实也就是一种计算方法,没有那么高深。

常见的求导(深度学习中)

1. 标量对标量求导

这种我们中学就学过的,一元函数求导。这里不在赘述。

2. 标量对向量求导

标量对向量求导,结果为向量。

这是机器学习里面最常见的,我们损失函数一般为标量,损失函数的输入为向量。说白了就是多元函数,

y=f(x1,x2,x3)

这里的三个自变量组成向量,就成了标量对向量的求导。下面举个具体的例子:

设标量为y(1,),向量为x(3,1),根据上面的分子布局符号规则结果形状为(1,3),写成公式为

yx=[yx1,yx2,yx2]

这样我们就理解了,所有的向量和矩阵之间的求导,最终都转化为逐个因变量分量与自变量分量的偏导数,然后再按照一定规律组合成多维张量。

常见的标量对向量求导

  1. 向量内积求导

     y=||x||2=<x,x> =x12+x22+x32 yx=[2x1,2x2,2x3]=2xT

  2. 向量之和求导

     y=sum(x)=x1+x2+x3 yx=[1,1,1]

3. 向量对向量求导

向量对向量求导,结果为矩阵。

一般形式,设自变量为y(2,1),因变量为x(3,1),则根据分子布局符号规则,结果形状为(2,3)

 y=[y1y2] x=[x1x2x3]

则向量y对向量x求导为

yx=[y1x1y1x2y1x3y2x1y2x2y2x3]

常见向量对向量求导

  1. 列向量对列向量求导

     y(2,1)=A(2,3)x(3,1)=[a11x1+a12x2+a13x3a21x1+a22x2+a23x3]=[y1y2] yx=[y1x1y1x2y1x3y2x1y2x2y2x3]=[a11a12a13a21a22a23]=A y=Ax yx=AxRnyRmyxRm

  2. 横向量对列向量求导

     y=xTA yx=ATxRnyRmyxRm,n

参考链接

  1. 李沐男神的slides
  2. 机器学习的数学,雷明。
posted @   Ladisson-blog  阅读(1366)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示