不得不说,向量和矩阵真的是一门高深而又通用的学问,应用十分广泛,不信你可以往回看,前面有关线性代数的文章,哪一篇没个矩阵或者向量。所以呢,我们今天就来看一下向量的导数(矩阵求导)相关内容。
1、定义和约定
矩阵求导的本质是多元函数求导,可以理解为把求导的结果排列为矩阵形式,方便表达与计算。但是矩阵求导本身有一个混乱的地方,就是行、列向量的差异,所导致的结果的差异。而这个差异将导致最后结果出现转置问题。事实上,对于最后求导的结果,很多教材的处理是不一样的,本质上,这只是一个问题。本章采用非转置结果,也即是得到结果是雅克比矩阵,同时后面将解释非转置结果。是目前找到关于矩阵求导最详细的结果,因此这里的结果将保持和的结果一致矩阵的转置和本身的关系,相关内容可进一步阅读:#Layout_conventions。
约定:
需要注意的是,以下公式的原始计算式子,上是不做转置的,但是为了统一,下文是使用了转置。例如分子布局的标量对向量,上是,而本文是,但无论是还是本文,原始式子的分母部分都是行向量。
2、分子布局
(1)标量对向量:分子为标量,分母为行向量
(2)向量对标量:分子为列向量,分母为标量
(3)向量对向量:分子为列向量,分母为行向量
例如是矩阵,是列向量,则是列向量,记 ,那么?
其中又被称为雅克比矩阵。
(4)标量对矩阵。这里的书写与一些网上的博客不一样,但是计算结果是一样。网上一般是矩阵的转置和本身的关系,但是为了避免混淆,这里的分母部分不再写为,而是。是一个矩阵。
这里看到是转置的。
(5)矩阵对标量
3、分母布局
(1)标量对向量:分子为标量,分母为列向量
(2)向量对标量:分子为行向量,分母为标量
(3)向量对向量:分子为行向量,分母为列向量
例如是矩阵,是列向量,则是列向量,记,那么?
(4)标量对矩阵。
这里看到是正的。
4、其他写法
一个小众的写法(邹博写法):向量对向量求偏导,可以看到分子分母都是列向量,这种情况其实不好推导。
是矩阵,是列向量,则是列向量,记,那么 为?
第一个元素对第一个元素求导,得到。因为是列向量,因此第一个元素 对第二个元素,得到,按照形状,写在第二行第一列,以此类推,得到 。
推广得到:
需要注意的是,所谓的布局,其实就是起始计算公式的分子和分母采用的行列设置。关于详细的各个矩阵求导的基础结果,可以进一步阅读:#Scalar-by-vector_identities
5、常用结果
一些常用的结果(原始向量不做说明,均为列向量):
向量对向量:(向量对向量得矩阵,没严格验证)
标量对向量(标量对向量,向量是行得行,是列得列,没严格验证)
; 若 是对称阵 ,。
; 若 是对称阵 ,。
其实通过上面的式子可以发现,求导结果类似于我们函数求导的结果,唯一差异在于转置以及前后关系。而这一点,如果不想记忆,可以通过结果是行向量还是列向量“猜”到。
推导:
接下来我们计算误差平方和 的求导结果,需要注意的是,误差平方和是一个标量
所以分子肯定是行向量乘以列向量。而因为是一个列向量,因此也一定是这种形式得到的列向量(而不是)
(1) (标量对向量,且标量和无关)
(2) (标量对向量,查看上面公式)
(3) (标量对向量,标量的转置等于本身,查看上面公式)
(4)
上面式子整合,有:
分享到这里,最后一篇线性代数就结束啦,可是通往数学界的道路永远没有尽头哦~
如果你觉得内容还不错~
可以点一下“在看”
或上github帮我们“star”一下~
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99