(Math)矩阵求导

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51583809

前言

本文为维基百科上矩阵微积分部分的翻译内容。本文为原文的翻译与个人总结,非一一对照翻译。由于水平不足理解不够处,敬请原谅与指出。原文地址https://en.wikipedia.org/wiki/Matrix_calculus。原文为矩阵微积分,本文题为矩阵求导,原因是原文主要介绍的是矩阵微分的内容。

1 简介

矩阵的微积分本质上是多元变量的微积分的问题,只是应用在矩阵空间上而已。

在讨论矩阵微分的时候,有两种布局方式,分子布局,与分母布局,第2,3部分不关注这个问题,第5部分以后介绍两种布局方式。

以下为六种以矩阵形式组织的常见的导数。

类型标量 y 向量y矩阵 Y
标量 x yx yx Yx
向量 x yx yx
矩阵 X yX

其他三种方式并不常用,且符号也没有统一的认识。

2 符号

  1. 矩阵
    M(n,m) 表示 n m列的实矩阵,一般使用加粗大写字母表示,如 A,X,Y 等。

  2. 向量
    M(n,1) 为列向量,一般用小写加粗表示,如 a,x,y 等。

  3. 标量
    M(1,1) 为标量,一般用小写斜体表示,如 a,x,y 等。

  4. 其他
    XT 为转置, tr(X) 为迹, det(X) 为行列式。字母表前半 (a,b,c,) 为常量,后半 (t,x,y,)

3 关于向量的导数

以分子布局来介绍,仅出于说明目的,不代表分子布局优于分母布局。

3.1 向量关于标量求导

向量 y=y1y2ym 关于标量 x 求导可以表示为yx=y1xy2xymx
此时为正切向量 yx y 的正切向量。注意,有映射 y:RmRm

3.2 标量关于向量求导

标量 y 关于向量x=x1x2xn求导可以表示为 yx=[yx1yx2yxn]
此时为梯度向量 yx 为标量 y 在空间Rm的梯度,该空间以 x 为基。

3.3 向量关于向量求导

向量函数(即函数组成的向量) y=y1y2ym 关于向量 x=x1x2xn 的导数可以写作 yx=y1x1y2x1ymx1y1x2y2x2ymx2y1xny2xnymxn
此时,为Jacobian矩阵

4 关于矩阵的导数

4.1 矩阵关于标量求导

正切矩阵表示为 Yx=y11xy21xym1xy12xy22xym2xy1nxy2nxymnx

4.2 标量关于矩阵求导

梯度矩阵表示为 yX=yx11yx12yx1qyx21yx22yx2qyxp1yxp2yxpq
注意以上 X 为其索引的转置。

5 布局约定(Layout conventions)

由向量关于向量的求导 yx 可以得出两种矛盾的表示:结果表示为 n×m 矩阵或 m×n 矩阵。也就是把 y 表示为列向量x表示为行向量或者反过来表示的问题。根据这两种可能,有以下情况:

  1. 分子布局(Numerator layout),即准确表示是 yxT y 为列向量),即Jacobian formulation。

  2. 分母布局(Denominator layout),即准确表示是yTx y 为行向量),即Hessian formulation(也有些作者称为梯度布局,尽管梯度不够准确)

所以:

  1. 对于分子布局,正切向量yx y 为列向量,梯度向量 yx 为行向量。

  2. 对于分母布局,正切向量 yx y 为行向量,梯度向量 yx 为列向量。
  3. 对于分子布局,正切矩阵 Yx Y ,梯度矩阵yX XT
  4. 对于分母布局,正切矩阵 Yx YT ,梯度矩阵 yX X

然而,对于正切矩阵Yx采用分母布局,即 YT ,很不符合表达的习惯,所以一般如下表示:

  1. 统一使用分子布局,即 Yx Y ,梯度矩阵yX XT
  2. 使用混合布局,即 Yx Y ,梯度矩阵yX X

注意:

  1. 并非所有书与论文从头为都是统一那个分子布局或者分母分的,往往是结合起来使用,根据上下文来确认。
  2. 分母布局与分子布局呈转置关系

6 恒等式

由以上可知,计算的结果可以通过转置在分子与分母布局中转换。

以下恒等式基于三条重要法则:求和法则(线性法则)、乘积法则、链式法则(注,类似标量的求导法则得知此三条法则),其中:

  1. 求和法则是通用的。
  2. 乘积法则对以下讨论大部分情况适用。由于矩阵乘法是不可交换的,所以需要给定矩阵相乘的顺序。标量关于矩阵求导不能直接使用。
  3. 链式法则只适用于部分情况。不适用与矩阵关于标量求导即标量关于矩阵求导。后者大部分情况涉及秩的计算。

6.1 向量关于向量求导

向量关于标量求导以及标量关于向量求导都可以看出是这种情况的特殊形式。

对于yx,有如下恒等:

为说明以上图中分子布局及分母布局中 y x 的行列向量表示,把上图中部分项重新详细展开表示,可以有:

条件表示(未带布局信息)分子布局分母布局
a x 的函数 ax axT=0 aTx=0
xx xxT=I xTx=I
A x 的函数 Axx AxxT=A (Ax)Tx=(xTAT)x=AT
A x 的函数 xTAx (xTA)TxT=ATxxT=AT xTAx=A
a x的函数, u=u(x) aux auxT=auxT auTx=auTx

6.2 标量关于向量求导

6.3 向量关于标量求导

6.4 标量关于矩阵求导

注意此处不适用链式及乘积法则。乘积法则可以借助微分及迹函数的性质得到,因为迹函数转置和循环排列: tr(A)=tr(AT) tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC)
根据这些性质,如计算 tr(AXBXTC)X

根据6.7中内容可以得到

6.5 矩阵关于标量求导

6.6 标量关于标量求导

  1. 涉及向量

  2. 涉及矩阵

6.7 微分形式

我们常常使用微分形式计算,最后转换成导数形式。仅在分子布局有用,以下” a ”为标量

  1. 标量关于矩阵

  2. 矩阵

  3. 微分到导数转换
    从微分到导数的转换,首先转换成规范形式,然后按照一下等式转换。

8 矩阵角度看映射,函数

函数为一对一的关系,可以理解为输入为n维, nN ,输出为 1 维。进一步可以理解为,输入为n维向量,输出为标量。
映射为一对多的关系,可以理解为输入为 n 维,nN,输出 m 维,mN。进一步可以理解为,输入为 n 维向量,输出为m维向量。
当然,有时也称呼以上函数为标量函数,映射为向量函数(即由多个标量函数组成映射)

  • 35
    点赞
  • 201
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值