机器学习中的线性代数之矩阵求导
来源:互联网 发布:百度竞价排名软件 编辑:程序博客网 时间:2024/06/06 01:46
前面针对机器学习中基础的线性代数知识,我们做了一个常用知识的梳理。接下来针对机器学习公式推导过程中经常用到的矩阵求导,我们做一个详细介绍。
矩阵求导(Matrix Derivative)也称作矩阵微分(Matrix Differential),在机器学习、图像处理、最优化等领域的公式推导中经常用到。
矩阵的微积分本质上是多元变量的微积分问题,只是应用在矩阵空间上而已
根据
下面我们根据分子的布局(即X的类型)来介绍矩阵的导数求解
0 布局约定(Layout conventions)
事实上,所有求导的法则都可以从最基本的求导规则推导出来。不知你有没发现,不同的文献中,同样的式子求导的结果有时候会不一样,仔细观察会发现刚好相差一个转置,于是我们得先说说求导的两个派别(布局)。
由向量关于向量的求导
布局(Layout):在矩阵求导中有两种布局,分别为分母布局(denominator layout)和分子布局(numerator layout)。这两种不同布局的求导规则是不一样的。
向量
在分子布局下,为:
而在分母布局下,为:
通过观察和推导我们可以知道,分子布局和分母布局之间刚好差一个转置,即在分子布局下与原来
对于正切矩阵
1 关于标量的导数
对于
1.1 标量关于标量X的求导
这中情况就是我们平时的代数求导,直接就是
1.2 向量关于标量X的求导
向量
此时为正切向量,
1.3 矩阵关于标量X的求导
矩阵对标量的求导类似于向量关于标量的求导,也就是矩阵的每个元素分别对标量
2 关于向量的导数
2.1标量关于向量 x 的导数
标量
此时的向量叫做梯度向量。
2.2 向量关于向量 x 的导数
向量函数(即函数组成的向量)
此时获得的矩阵
2.3 矩阵关于向量 x 的导数
矩阵
3 关于矩阵的导数
我们一般只考虑标量关于矩阵的导数(因为矩阵对向量和矩阵的导数与前面2.3节的内容一致或相似),即标量
4 维度分析
当我们对一些复杂的矩阵乘积求偏导的时候,直接求很难直接求出,这时候我们可以通过分析矩阵的维度来得到结果。例如:
考虑以下导数
再考虑问题
为了分析这个问题我们考虑一个更一半的问题
其中
于是结果与两部分相关,一个是
另一个是
同样通过维度分析,我们可以得到
因此经过维度的比较我们可以得到
通过以上两个示例的学习,我们可以知道在求解复杂矩阵的求导问题时,通过维度来判断矩阵的导数形式很简便同时也不容易出错。下图是机器学习中常见的矩阵求导形式,可供参考:
5 总结
在本文中,我们针对机器学习推导中的矩阵求导问题做了一个全面的分析,同时结合前文 深度学习系列(二)——机器学习中的线性代数知识 介绍的机器学习中线性代数的基础知识,我们对线性代数部分做了详细的了解。下一章我们介绍机器学习中涉及到的概率知识。
- 机器学习中的线性代数之矩阵求导
- 机器学习中的常用矩阵求导
- 机器学习中的矩阵求导总结
- 机器学习矩阵求导
- 机器学习-矩阵向量求导
- 机器学习中的线性代数
- 机器学习-->矩阵和线性代数
- 深度学习Loss function之Softmax中的矩阵求导
- 机器学习中常用矩阵求导公式
- 机器学习常用矩阵求导公式
- 【机器学习 基本概念】矩阵、向量求导法则
- 机器学习常见的矩阵求导总结
- 机器学习基础03-矩阵和线性代数
- 机器学习之——自动求导
- 机器学习中常用的矩阵求导公式
- [转载]机器学习中常用的矩阵求导公式
- 机器学习中常用的矩阵求导公式
- 机器学习中常用的矩阵求导公式
- 从应用层打通内核:驱动的工作原理1
- 小D java基础系列 1.1 csdn的附录-马士兵全套视频
- Linux进程创建一——进程、线程、LWP
- 性能优化十四之电量分析工具Battery Historian使用
- SpringMVC学习(1.helloworld)
- 机器学习中的线性代数之矩阵求导
- Linux下使用shutdown.sh脚本关闭tomcat无法使得JVM关闭
- /usr/sbin
- OpenCV入门九:使用findContours()查找图片轮廓线,并将轮廓线坐标点输出
- 使用Git上传项目至Github
- 57-System V 共享内存-shmctl
- Excle导入
- 灰色系统理论概论(个人总结)
- 算法提高 矩阵相乘