数理知识-矩阵篇-矩阵/向量求导

矩阵/向量求导


前言

最近在看机器学习及神经网络等领域相关文章时,总是难以手撕矩阵求导类的公式,因此做个系统的与矩阵求导相关的总结与学习。

一、向量/矩阵

1.观前提醒

本篇中,所有使用的小写未加粗字母均为标量,例如 x x x;所有小写加粗字母为(列)向量,例如x;所有大写字母均表示为矩阵,例如X。

2.矩阵求导

矩阵求导细分可分为3类,分别是标量对向量求导,向量对标量求导和向量对向量求导。

2.0矩阵求导的布局

  1. 分子布局.
    对于分子布局来说,求导结果的维度的行数以分子为主。
  2. 分母布局.
    对于分母布局来说,求导结果的维度的行数以分母为主。
  • 分母布局和分子布局相差一个转置

  • 但是在机器学习算法原理的资料推导里,我们并没有看到说正在使用什么布局,也就是说布局被隐含了,这就需要自己去推演,比较麻烦。但是一般来说我们会使用一种叫混合布局的思路,即如果是向量或者矩阵对标量求导,则使用分子布局为准,如果是标量对向量或者矩阵求导,则以分母布局为准。对于向量对对向量求导,有些分歧。[1]
    具体向量对标量,还是标量对向量的定义,在汉语里好像读多了有点难理解。以英文的为主。

2.1标量对向量求导(分母布局)Scalar-by-vertor

  • 标量 y y y是向量x的函数,及 y y y= y y y(x)
  • 分母x的维度为 n ∗ 1 n*1 n1,则求导后维度跟随分母。
    1

2.2向量对标量求导(分子布局)Vector-by-scalar

  • 函数y是标量 x x x的函数,及y=y( x x x)
  • 函数y维度为 m ∗ 1 m*1 m1,遵循分子布局,求导后跟随分母。

0

分母布局下,则为如下形式
2

2.3向量对向量求导vector-by-vector

  • 函数y m ∗ 1 m*1 m1维度,向量x n ∗ 1 n*1 n1维度

  • 若遵循分子求导,则矩阵为 m ∗ n m*n mn维度,及Jacobi矩阵。如下所示:

  • 有的资料上会使用 ∂ y ∂ x T \frac{{\partial {\bf{y}}}}{{\partial {{\bf{x}}^T}}} xTy来定义雅克比(Jacobi)矩阵,意义是一样的。
    0

  • 若遵循分母布局求导,则分母布局是分子布局的转置。维度为 n ∗ m n*m nm,如下所示:

  • 我们一般对按分母布局的矩阵称之为梯度矩阵,有的资料会用 ∂ y T ∂ x \frac{{\partial {\bf{y}^T}}}{{\partial {{\bf{x}}}}} xyT来定义梯度矩阵,意义一样。
    0

注: 默认形式一般用分母布局来表示

2.4小结

然而在日常机器学习领域推导过程中,很少对矩阵或向量进行逐元素求导,一般进行整体运算,在观感与理解上更加简洁与方便。下面将从矩阵整体方向讲一讲矩阵的运算法则。

二、 求导速查表[3]

向量对向量求导 vector-by-vector

默认会采用分母布局,即为右侧Denominator layout
在这里插入图片描述

标量对向量求导 Scalar-by-vertor

虚线上方为基础。默认会采用分母布局,即为右侧Denominator layout
在这里插入图片描述


在这里插入图片描述

向量对标量的求导 Vertor-by-scalar

默认会采用分子布局,即为左侧Numerator layout
00

后续可拓展

矩阵的迹方向还未用到,也暂未看。后续用到会看和及时跟进。

可参考

[1]矩阵求导:比我的Blog要详细的多,建议看此篇。
[2]matrix calculus :一个对矩阵计算的网站,非常好用。可导出为Latex格式,还可导出为python代码。
[3]维基百科:矩阵求导速查表:一个汇总的矩阵计算公式的网站。需要梯子。
[4]矩阵求导术:还未认真看,后续有需求可以仔细看。
[5]矩阵求导中为何会有转置:针对矩阵中为什么有求导后出现转置这个情况,这篇blog讲的很清楚,可以参考。
http://www.latexlive.com/##

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值