在机器学习中的矩阵向量求导(三) 矩阵向量求导之微分法中,我们讨论了使用微分法来求解矩阵向量求导的方法。但是很多时候,求导的自变量和因变量直接有复杂的多层链式求导的关系,此时微分法使用起来也有些麻烦。需要一些简洁的方法。

    本文我们讨论矩阵向量求导链式法则,使用该法则很多时候可以帮我们快速求出导数结果。

    本文的标量对向量的求导,标量对矩阵的求导使用分母布局, 向量对向量的求导使用分子布局。如果遇到其他资料求导结果不同,请先确认布局是否一样。

1. 向量对向量求导的链式法则

    首先我们来看看向量对向量求导的链式法则。假设多个向量存在依赖关系,比如三个向量x→y→zx→y→z存在依赖关系,则我们有下面的链式求导法则:

∂z∂x=∂z∂y∂y∂x∂z∂x=∂z∂y∂y∂x

    该法则也可以推广到更多的向量依赖关系。但是要注意的是要求所有有依赖关系的变量都是向量,如果有一个YY是矩阵,,比如是x→Y→zx→Y→z, 则上式并不成立。

    从矩阵维度相容的角度也很容易理解上面的链式法则,假设x,y,zx,y,z分别是m,n.pm,n.p维向量,则求导结果∂z∂x∂z∂x是一个p×mp×m的雅克比矩阵,而右边∂z∂y∂z∂y是一个p×np×n的雅克比矩阵,∂y∂x∂y∂x是一个n×mn×m的矩阵,两个雅克比矩阵的乘积维度刚好是p×mp×m,和左边相容。

2. 标量对多个向量的链式求导法则

    在我们的机器学习算法中,最终要优化的一般是一个标量

机器学习中的矩阵向量求导(四) 矩阵向量求导链式法则相关推荐

  1. 机器学习中的数学——常用概率分布(四):均匀分布(Uniform分布)

    分类目录:<机器学习中的数学>总目录 相关文章: · 常用概率分布(一):伯努利分布(Bernoulli分布) · 常用概率分布(二):范畴分布(Multinoulli分布) · 常用概率 ...

  2. 机器学习中的数学——距离定义(四):切比雪夫距离(Chebyshev Distance)

    分类目录:<机器学习中的数学>总目录 相关文章: · 距离定义:基础知识 · 距离定义(一):欧几里得距离(Euclidean Distance) · 距离定义(二):曼哈顿距离(Manh ...

  3. 《机器学习》Chapter 1 绪论——机器学习中的基本概念和术语

    <机器学习>Chapter 1 绪论 机器学习中的基本概念和术语 首先,通过思维导图来描述一下西瓜书第一章的知识内容与结构. 西瓜书第一章思维导图 基本概念 在学习机器学习之前,首先要搞清 ...

  4. 机器之心最干的文章:机器学习中的矩阵、向量求导

    作者:七月 本文的目标读者是想快速掌握矩阵.向量求导法则的学习者,主要面向矩阵.向量求导在机器学习中的应用.因此,本教程而非一份严格的数学教材,而是希望帮助读者尽快熟悉相关的求导方法并在实践中应用.另 ...

  5. 向量转置的怎么求导_机器学习中的向量求导和矩阵求导

    在机器学习的各种关于向量或者矩阵的求导中,经常会出现各种需要转置或者不需要转置的地方,经常会看得人晕头转向.今天我对机器学习中关于这部分的常识性处理方法进行整理并记录下来方便大家参考. 一些约定 首先 ...

  6. 机器学习中的矩阵向量求导(三) 矩阵向量求导之微分法

    在机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法中,我们讨论了定义法求解矩阵向量求导的方法,但是这个方法对于比较复杂的求导式子,中间运算会很复杂,同时排列求导出的结果也很麻烦.因此我们需要其他的 ...

  7. 机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法

    在机器学习中的矩阵向量求导(一) 求导定义与求导布局中,我们讨论了向量矩阵求导的9种定义与求导布局的概念.今天我们就讨论下其中的标量对向量求导,标量对矩阵求导, 以及向量对向量求导这三种场景的基本求解 ...

  8. 机器学习中的矩阵向量求导(一) 求导定义与求导布局

    在之前写的上百篇机器学习博客中,不时会使用矩阵向量求导的方法来简化公式推演,但是并没有系统性的进行过讲解,因此让很多朋友迷惑矩阵向量求导的具体过程为什么会是这样的.这里准备用几篇博文来讨论下机器学习中 ...

  9. 机器学习中矩阵向量求导

    以下内容是根据刘建平的求导博客做的相关笔记 一.导数的定义与布局 1. 相关说明 2.导数布局 导数部分有分子布局和分母布局两种情况. 分子布局和分母布局相差一个转置. 标量对向量求导布局 向量对向量 ...

最新文章

  1. java定时器检测状态_实用代码| shell脚本实现定时检查应用状态
  2. 单机/伪分布式Hadoop2.4.1安装文档
  3. 十二:内存简单介绍和OC的内存管理
  4. IT行业最重要的四件宝--我的实习体会
  5. Trie(字典)树详解
  6. easyui tree json php,easyui tree json
  7. BOS物流管理系统第一阶段
  8. python实现Kmeans算法
  9. 在线等比数列求和计算器
  10. 以时间作为文件名的后缀
  11. Windows XP中手动安装驱动程序的方法
  12. Kafka 实战 (3):kafka安装部署·2
  13. 为了沙漠中的奋进者:“视人为人”的陕煤曹家滩 智慧矿区
  14. ECshop4.1版本搭建
  15. Atari 2600 新书:主机游戏的一次黎明冒险
  16. POI之图片导出到PPT简单实例
  17. javaFx实现放大镜效果——圆形、矩形、三角形放大镜,拖动调整放大镜大小,设置放大倍数
  18. 注册了图形商标还需要申请登记版权吗?
  19. [ZZ]分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发
  20. 单目视觉ADAS的技术与体验升级之路|硬创公开课

热门文章

  1. Visual Studio使用技巧,创建自己的代码片段
  2. 年中总结(2013年3月到2013年9月)
  3. WYSE率先支持RemoteFX功能
  4. 【Android游戏开发十七】让玩家自定义手势玩转Android游戏!
  5. Sql Server 日志清理 (数据库压缩方法)
  6. WinCVS与CVSNT简明使用手则
  7. 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?
  8. 最短路[Dijkstra和堆优化的Dijkstra][Bellman-Ford和SPFA][Floyd最短路](更新中)
  9. PAT甲级1002 A+B for Polynomials:[C++题解]字符串、多项式加法或高精度加法
  10. 《大话数据结构》读书笔记-查找