【机器学习中的矩阵求导】(一)求导布局
学习总结
假设: x x x表示标量; X X X表示m×n维的矩阵;求导的因变量用 y y y表示标量; Y Y Y表示 p × q p×q p×q维矩阵
自变量/因变量 | 标量 y y y | 列向量 y \mathbf{y} y | 矩阵 Y \mathbf{Y} Y |
---|---|---|---|
标量 x x x | / | ∂ y ∂ x \frac{\partial \mathbf{y}}{\partial x} ∂x∂y 分子布局:m维列向量(默认布局) 分母布局:m维行向量 |
∂ Y ∂ x \frac{\partial \mathbf{Y}}{\partial x} ∂x∂Y 分子布局:p×q(默认布局) 分母布局:q×p |
列向量 x \mathbf{x} x | ∂ y ∂ x \frac{\partial {y}}{\partial \mathbf{x}} ∂x∂y 分子布局:n维行向量(默认布局) 分母布局:n维列向量 |
∂ y ∂ x \frac{\partial \mathbf{y}}{\partial \mathbf{x}} ∂x∂y 分子布局:m×n雅克比矩阵(默认布局) 分母布局:n×m梯度矩阵 |
/ |
矩阵 X \mathbf{X} X | ∂ y ∂ X \frac{\partial y}{\partial \mathbf{X}} ∂X∂y 分子布局:n×m矩阵 分母布局:m×n矩阵(默认布局) |
一、符号规定
一组标量 y i y_i yi,对一个标量 x x x求导可以表示为:
∂ y i ∂ x \frac{\partial y_{i}}{\partial x} ∂x∂yi然后将每个求导的值排成一个向量表示。类似的结论也存在于标量对向量的求导,向量对向量的求导,向量对矩阵的求导,矩阵对向量的求导,以及矩阵对矩阵的求导等。
- x x x表示标量
- X X X表示m×n维的矩阵
- 求导的因变量用 y y y表示标量
- Y Y Y表示 p × q p×q p×q维矩阵
自变量 \ 因变量 标量 y 向量 y 矩阵 Y 标量 x ∂ y ∂ x ∂ y ∂ x ∂ Y ∂ x 向量 x ∂ y ∂ x ∂ y ∂ x ∂ Y ∂ x 矩阵 X ∂ y ∂ X ∂ y ∂ X ∂ Y ∂ X
二、矩阵向量求导布局
分子布局(numerator layout)和分母布局(denominator layout )。
2.1 分子布局:
求导的结果以分子为主,即求导的结果与分子(即 ∂ y i ∂ x \frac{\partial y_{i}}{\partial x} ∂x∂yi的分子)的维度相同,如果y是一个m维的列向量,则求导的结果也是一个m维的列向量。
2.2 分母布局:
求导的结果以分母为主,如果y是一个m维的列向量,则求导的结果也是一个m维的行向量。所以分子布局和分母布局的结果是转置关系。
2.3 栗子
标量y对矩阵X求导,那么如果按分母布局,则求导结果的维度和矩阵X的维度m×n是一致的。如果是分子布局,则求导结果的维度为n×m。
对于标量对向量或者矩阵求导,向量或者矩阵对标量求导这4种情况,对应的分子布局和分母布局的排列方式已确定。
2.4 向量对向量的求导
这里讨论列向量对列向量的求导,比如m维列向量y对n维列向量x求导。
对于这2个向量求导,那么一共有mn个标量对标量的求导。求导的结果一般是排列为一个矩阵。如果是分子布局,则矩阵的第一个维度以分子为准,即结果是一个m×n的矩阵:
∂ y ∂ x = ( ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ y m ∂ x 1 ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ) \frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\left(
∂ y ∂ x T \frac{\partial \mathbf{y}}{\partial \mathbf{x}^{\mathbf{T}}} ∂xT∂y
如果按照分母布局,求导的结果矩阵第一维度以分母为准,即以n维列向量为准,所以结果矩阵为n×m矩阵:
∂ y ∂ x = ( ∂ y 1 ∂ x 1 ∂ y 2 ∂ x 1 … ∂ y m ∂ x 1 ∂ y 1 ∂ x 2 ∂ y 2 ∂ x 2 … ∂ y m ∂ x 2 ⋮ ⋮ ⋱ ⋮ ∂ y 1 ∂ x n ∂ y 2 ∂ x n … ∂ y m ∂ x n ) \frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\left(
对于上面5种求导类型,可以各选择一种布局来求导。但是对于某一种求导类型,不能同时使用分子布局和分母布局求导。
在机器学习算法原理的资料推导里,我们并没有看到说正在使用什么布局,也就是说布局被隐含了,这就需要自己去推演,比较麻烦。但是一般来说我们会使用一种叫混合布局的思路,即如果是向量或者矩阵对标量求导,则使用分子布局为准,如果是标量对向量或者矩阵求导,则以分母布局为准。对于向量对对向量求导,有些分歧,后面统一以分子布局的雅克比矩阵为主。
Reference
(1)矩阵求导知识点总结:https://www.cnblogs.com/gyhhaha/p/11782212.html
(2)https://www.cnblogs.com/pinard/p/10750718.html
文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。
原文链接:andyguo.blog.csdn.net/article/details/121450894
- 点赞
- 收藏
- 关注作者
评论(0)