这几天由于用到矩阵求导相关的知识,但是自己没有学过矩阵论(研究生选课的时候,导师没有让选),于是百度了下,觉得完整的相关资料不多,还好发现了下面的这篇博客,给我了很大的帮助!

仔细分析了下博客中的内容,其实矩阵求导也是挺好理解的(估计是我有较好的MATLAB使用基础吧),下面看帖吧,哈哈!!

矩阵求导 属于 矩阵计算,应该查找 Matrix Calculus 的文献:

在网上看到有人贴了如下求导公式:

Y = A * X --> DY/DX = A'

Y = X * A --> DY/DX = A

Y = A' * X * B --> DY/DX = A * B'

Y = A' * X' * B --> DY/DX = B * A'

于是把以前学过的矩阵求导部分整理一下:

1. 矩阵Y对标量x求导:

相当于每个元素求导数后转置一下,注意M×N矩阵求导后变成N×M了

Y = [y(ij)]

--> dY/dx = [dy(ji)/dx]

2. 标量y对列向量X求导:

注意与上面不同,这次括号内是求偏导,不转置,对N×1向量求导后还是N×1向量

y = f(x1,x2,..,xn) --> dy/dX

= (Dy/Dx1,Dy/Dx2,..,Dy/Dxn)'

3. 行向量Y'对列向量X求导:

注意1×M向量对N×1向量求导后是N×M矩阵。

将Y的每一列对X求偏导,将各列构成一个矩阵。

重要结论:

dX'/dX =

I

d(AX)'/dX =

A'

4. 列向量Y对行向量X’求导:

转化为行向量Y’对列向量X的导数,然后转置。

注意M×1向量对1×N向量求导结果为M×N矩阵。

dY/dX' =

(dY'/dX)'

5. 向量积对列向量X求导运算法则:

注意与标量求导有点不同。

d(UV')/dX =

(dU/dX)V' + U(dV'/dX)

d(U'V)/dX =

(dU'/dX)V + (dV'/dX)U'

重要结论:

d(X'A)/dX =

(dX'/dX)A + (dA/dX)X' = IA + 0X' = A

d(AX)/dX' =

(d(X'A')/dX)' = (A')' = A

d(X'AX)/dX =

(dX'/dX)AX + (d(AX)'/dX)X = AX + A'X

6. 矩阵Y对列向量X求导:

将Y对X的每一个分量求偏导,构成一个超向量。

注意该向量的每一个元素都是一个矩阵。

7. 矩阵积对列向量求导法则:

d(uV)/dX =

(du/dX)V + u(dV/dX)

d(UV)/dX =

(dU/dX)V + U(dV/dX)

重要结论:

d(X'A)/dX =

(dX'/dX)A + X'(dA/dX) = IA + X'0 = A

8. 标量y对矩阵X的导数:

类似标量y对列向量X的导数,

把y对每个X的元素求偏导,不用转置。

dy/dX = [

Dy/Dx(ij) ]

重要结论:

y = U'XV

= ΣΣu(i)x(ij)v(j) 于是 dy/dX = [u(i)v(j)] =

UV'

y = U'X'XU 则

dy/dX = 2XUU'

y =

(XU-V)'(XU-V) 则 dy/dX = d(U'X'XU - 2V'XU + V'V)/dX = 2XUU' - 2VU' +

0 = 2(XU-V)U'

9. 矩阵Y对矩阵X的导数:

将Y的每个元素对X求导,然后排在一起形成超级矩阵。

10.乘积的导数

d(f*g)/dx=(df'/dx)g+(dg/dx)f'

结论

d(x'Ax)=(d(x'')/dx)Ax+(d(Ax)/dx)(x'')=Ax+A'x (注意:''是表示两次转置)

matlab怎么对矩阵求导,矩阵求导,矩阵计算相关推荐

  1. 神奇的多项式求导矩阵与积分矩阵

    线性代数是一门有趣又有用的学科.基于机器学习.深度学习等技术的人工智能的核心数学知识就包含数理统计.微积分与线性代数. 通过 求导矩阵 对多项式求导: 例: f(x)=4x2+3x+2f(x) = 4 ...

  2. 二阶矩阵转置怎么求_矩阵求导术(下)

    本文承接上篇 https://zhuanlan.zhihu.com/p/24709748,来讲矩阵对矩阵的求导术.使用小写字母x表示标量,粗体小写字母 表示列向量,大写字母X表示矩阵.矩阵对矩阵的求导 ...

  3. matlab 求取矩阵中值,matlab中取矩阵中指定列的值组成新矩阵

    matlab 矩阵中怎么加入冒号,比如我想矩阵A的第一列都为"1:" A(:,1)='1:';再问:不行的再答:用结构矩阵或者单元矩阵试试吧. 诚教:matlab中取矩阵的其中几行 ...

  4. matlab求hession矩阵

    matlab求hession矩阵 MATLAB下求解多元函数的hession矩阵(3种方法): (1)直接调用matlab的hession函数 (2)先求雅克比矩阵,再求hession矩阵 (3)先求 ...

  5. 各种矩阵(向量)求导

    一个准则:按照单变量求导来做,然后调整下维数就可以了. 比如 对矩阵的求导,结果一定是和矩阵维数一致才对 今天早上遇到@tornadomeet在deep learning高质量群里问:一个列向量对一个 ...

  6. matlab 矩阵元素求和、求均值(期望)和均方差

    matlab中矩阵元素求和.求期望和均方差 在matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间.所 ...

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

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

  8. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  9. matlab怎么求反馈增益矩阵,反馈增益矩阵状态反馈闭环传递函数矩阵为.PPT

    反馈增益矩阵状态反馈闭环传递函数矩阵为 与理想极点多项式 比较, 有 * 第八章 状态反馈和状态观测器 状态反馈及极点配置 输出反馈及极点配置 状态观测器 降维状态观测器 带有状态观测器的状态反馈系统 ...

最新文章

  1. linux 命令:ls命令
  2. rust建的怎么拆除_罗志祥私建泳池已拆除,后续还将接受物业的监督与教育
  3. 边缘检测后去除噪点_Street Lanes Finder - 检测自动驾驶汽车的车道
  4. 函数式编程了解一下(上)
  5. 用foobar进行码率转换 适用与sacd-r转成低码率
  6. 什么是js面向对象??
  7. 【算法】排序_冒泡排序及其优化
  8. 一、Jquery入门(超详)
  9. 杭电ACM2030题
  10. 计算机硬件相关专业学校,计算机硬件相关专业有哪些
  11. linux 下安装openoffice服务 百度文库在线预览 doc转pdf、pdf转swf格式
  12. 迪杰斯特拉--链式向前星
  13. 远程访问及控制SSH
  14. RAID 磁盘阵列与阵列卡
  15. WhatsApp 批量解封提交工具
  16. Lua利用自定义函数打印_G内容
  17. 因素分析(Factor Analysis)
  18. Android隐藏导航栏按键,Android如何控制导航栏单个按键的显隐状态
  19. 16.安全整改.part3
  20. 关于汽车CAN总线的介绍

热门文章

  1. BP神经网络算法学习---基础理论1
  2. Java常问面试题整理
  3. 原始数据上传 NCBI最新攻略(扩曾子)
  4. 【FAQ】接入华为应用内支付服务常见问题解答
  5. 华为支付购买Token的verify接口报错wrong application
  6. el-dialog弹出框编辑
  7. dedecms cookies泄漏导致SQL漏洞 article_add.php 的解决方法
  8. IOS游戏上架 玩家iap充值 base64码发到苹果验证收据 返回值里面没有 in_app 段的奇怪问题.
  9. 几个关于js数组方法reduce的经典片段
  10. 面向未来,下一代军用装备软件测试系统