文章目录

  • 前言
  • 一、标量对向量求导
  • 二、例子
    • 1.y=wT∗xy = w^T*xy=wT∗x
    • 2.y=xT∗wy = x^T * wy=xT∗w
    • 2.y=xT∗An∗n∗xy = x^T * A_{n*n} * xy=xT∗An∗n​∗x
  • 总结

前言

矩阵求导的学习记录


一、标量对向量求导

标量对向量求导,实际上是标量对向量中的每个元素求偏导,然后再组成一个和向量形状相同的向量。也就是:
∂y∂x⃗=(∂y∂x1,∂y∂x2…∂y∂xn)T\frac{\partial y}{\partial \vec{x}} = (\frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2}\dots \frac{\partial y}{\partial x_n})^T∂x∂y​=(∂x1​∂y​,∂x2​∂y​…∂xn​∂y​)T
式中yyy是一个标量,x=(x1,x2…xn)Tx = (x_1,x_2\dots x_n)^Tx=(x1​,x2​…xn​)T为一个n维向量;

二、例子

1.y=wT∗xy = w^T*xy=wT∗x

这是在信号处理中比较常见的一种加权求和形式。
实际上我们将其乘积结果展开可以得到:
y=w1x1+w2x2+…wnxny = w_1x_1 + w_2x_2 + \dots w_nx_ny=w1​x1​+w2​x2​+…wn​xn​
那么根据我们以上理论
∂y∂x⃗=(∂w1x1+w2x2+…wnxn∂x1,∂w1x1+w2x2+…wnxn∂x2…∂w1x1+w2x2+…wnxn∂xn)T\frac{\partial y}{\partial \vec{x}} = (\frac{\partial w_1x_1 + w_2x_2 + \dots w_nx_n}{\partial x_1},\frac{\partial w_1x_1 + w_2x_2 + \dots w_nx_n}{\partial x_2}\dots \frac{\partial w_1x_1 + w_2x_2 + \dots w_nx_n}{\partial x_n})^T∂x∂y​=(∂x1​∂w1​x1​+w2​x2​+…wn​xn​​,∂x2​∂w1​x1​+w2​x2​+…wn​xn​​…∂xn​∂w1​x1​+w2​x2​+…wn​xn​​)T
显然
∂y∂x⃗=(w1,w2,…,wn)T=w⃗\frac{\partial y}{\partial \vec{x}} = (w_1,w_2,\dots,w_n)^T=\vec{w}∂x∂y​=(w1​,w2​,…,wn​)T=w
这样我们得到了第一种形式的导数求法。

2.y=xT∗wy = x^T * wy=xT∗w

同理y=w1x1+w2x2+…wnxny = w_1x_1 + w_2x_2 + \dots w_nx_ny=w1​x1​+w2​x2​+…wn​xn​
实际上这个与上一种情况结果一样
∂y∂x⃗=(w1,w2,…,wn)T=w⃗\frac{\partial y}{\partial \vec{x}} = (w_1,w_2,\dots,w_n)^T=\vec{w}∂x∂y​=(w1​,w2​,…,wn​)T=w

2.y=xT∗An∗n∗xy = x^T * A_{n*n} * xy=xT∗An∗n​∗x

这种二次型情况也比较常见,我们将二次型展开写可以得到
y=a11x12+a12x1x2+⋯+a1nx1xn+a21x2x1+a22x22+⋯+a1nx1xn+⋮an1xnx1+an2xnx2+⋯+annxn2\begin{aligned} y=&a_{11}x_1^2+a_{12}x_1x_2+\dots+a_{1n}x_1x_n + \\ & a_{21}x_2x_1+a_{22}x_2^2+\dots+a_{1n}x_1x_n +\\ & \vdots \\ & a_{n1}x_nx_1 + a_{n2}x_nx_2 + \dots + a_{nn}x_n^2 \end{aligned} y=​a11​x12​+a12​x1​x2​+⋯+a1n​x1​xn​+a21​x2​x1​+a22​x22​+⋯+a1n​x1​xn​+⋮an1​xn​x1​+an2​xn​x2​+⋯+ann​xn2​​

∂y∂x1=(2a11x1+(a12+a21)x2+⋯+(a1n+an1)xn)\frac{\partial y}{\partial x_1} = (2a_{11}x_1 +(a_{12}+a_{21})x_2+\dots+(a_{1n}+a_{n1})x_n)∂x1​∂y​=(2a11​x1​+(a12​+a21​)x2​+⋯+(a1n​+an1​)xn​)∂y∂x2=((a12+a21)x1+2a22x2+⋯+(a2n+an2)xn)\frac{\partial y}{\partial x_2} = ((a_{12}+a_{21})x_1 +2a_{22}x_2+\dots+(a_{2n}+a_{n2})x_n)∂x2​∂y​=((a12​+a21​)x1​+2a22​x2​+⋯+(a2n​+an2​)xn​)∂y∂xn=((a1n+an1)x1+(a2n+an2)x2+⋯+ann2xn)\frac{\partial y}{\partial x_n} = ((a_{1n}+a_{n1})x_1 +(a_{2n}+a_{n2})x_2+\dots+a_{nn}^2x_n)∂xn​∂y​=((a1n​+an1​)x1​+(a2n​+an2​)x2​+⋯+ann2​xn​)
所以
∂y∂x⃗=(2a11a12+a21…a1n+an1a12+a212a22…a2n+an2⋮⋮⋮⋮a1n+an1a2n+an22ann)x⃗\frac{\partial y}{\partial \vec{x}} = \begin{pmatrix} 2a_{11} & a_{12} + a_{21} & \dots &a_{1n}+a_{n1}\\ a_{12}+a_{21}&2 a_{22} & \dots & a_{2n}+a_{n2}\\ \vdots& \vdots& \vdots & \vdots \\ a_{1n}+a_{n1}& a_{2n}+a_{n2} & & 2a_{nn} \end{pmatrix}\vec{x}∂x∂y​=⎝⎜⎜⎜⎛​2a11​a12​+a21​⋮a1n​+an1​​a12​+a21​2a22​⋮a2n​+an2​​……⋮​a1n​+an1​a2n​+an2​⋮2ann​​⎠⎟⎟⎟⎞​x
实际上
(2a11a12+a21…a1n+an1a12+a21a22…a2n+an2⋮⋮⋮⋮a1n+an1a2n+an22ann)=(a11+a11a12+a21…a1n+an1a12+a21a22+a22…a2n+an2⋮⋮⋮⋮a1n+an1a2n+an2ann+ann)=AT+A\begin{pmatrix} 2a_{11} & a_{12} + a_{21} & \dots &a_{1n}+a_{n1}\\ a_{12}+a_{21}& a_{22} & \dots & a_{2n}+a_{n2}\\ \vdots& \vdots& \vdots & \vdots \\ a_{1n}+a_{n1}& a_{2n}+a_{n2} & & 2a_{nn} \end{pmatrix}=\begin{pmatrix} a_{11}+a_{11} & a_{12} + a_{21} & \dots &a_{1n}+a_{n1}\\ a_{12}+a_{21}& a_{22}+a_{22} & \dots & a_{2n}+a_{n2}\\ \vdots& \vdots& \vdots & \vdots \\ a_{1n}+a_{n1}& a_{2n}+a_{n2} & & a_{nn}+a_{nn} \end{pmatrix}=A^T + A⎝⎜⎜⎜⎛​2a11​a12​+a21​⋮a1n​+an1​​a12​+a21​a22​⋮a2n​+an2​​……⋮​a1n​+an1​a2n​+an2​⋮2ann​​⎠⎟⎟⎟⎞​=⎝⎜⎜⎜⎛​a11​+a11​a12​+a21​⋮a1n​+an1​​a12​+a21​a22​+a22​⋮a2n​+an2​​……⋮​a1n​+an1​a2n​+an2​⋮ann​+ann​​⎠⎟⎟⎟⎞​=AT+A
故可以得到∂y∂x⃗=(AT+A)x⃗\frac{\partial y}{\partial \vec{x}} = (A^T+A)\vec{x}∂x∂y​=(AT+A)x

我们来看前一篇文章中的一个求导。
L(w)=wTR~w+λ[wTa(θd)−1]L(w) = w^T\tilde{R}w+\lambda[w^Ta(\theta_d)-1]L(w)=wTR~w+λ[wTa(θd​)−1]
式中LLL为一个标量,w=(w1,w2,…,wn)Tw=(w_1,w_2,\dots,w_n)^Tw=(w1​,w2​,…,wn​)T,RRR为一个实对称矩阵。
要求∂L(w)∂w\frac{\partial L(w)}{\partial w}∂w∂L(w)​
分成两部分
∂(wTRw)∂w=(RT+R)w=2Rw\frac{\partial (w^TRw)}{\partial w}=(R^T+R)w=2Rw∂w∂(wTRw)​=(RT+R)w=2Rw
∂(wTa(θd)−1)∂w=a(θd)\frac{\partial (w^Ta(\theta_d)-1)}{\partial w}=a(\theta_d)∂w∂(wTa(θd​)−1)​=a(θd​)
故最终结果
∂L(w)∂w=2R~w+λa(θd)\frac{\partial L(w)}{\partial w}=2\tilde{R}w+\lambda a(\theta_d)∂w∂L(w)​=2R~w+λa(θd​)


总结

主要介绍了常见的几种标量对向量求导,实际上在数字信号处理中和深度学习中,对向量求导很常见。后面有时间继续写。

矩阵求导(标量对矢量求导)相关推荐

  1. matlab错误使用meshline47,matlab里mesh出错Z 必须为矩阵,不能是标量或矢量怎么解决...

    matlab 求和的出错 symsum是符号运算,要先用syms定义符号变量用法详见docsymsum 已知等长向量X,Y,Z,如何利用mesh或surf函数在MATLAB中绘制三维曲面图? [x,y ...

  2. 线性代数之 矩阵求导(3)标量、向量求导的快速记忆

    线性代数之 矩阵求导(3)标量.向量求导的快速记忆 前言 基本约定 引例 标量对标量求导 标量对向量求导 向量对向量求导 包含两个变量的求导 总结 扩展 前言 上一次记录了矩阵求导的基本法则和公式,并 ...

  3. 标量、矢量、矩阵的求导归纳

    本文对标量.矢量.矩阵的求导概念和公式做简单归纳梳理,目的是帮助理解和记忆,不涉及具体推导过程.

  4. 矩阵/向量/标量间相互求导

    矩阵.向量都可以表示成张量的形式,向量是矩阵的特殊形式,按实际应用可分为标量对向量求导,标量对矩阵求导.向量对向量求导.矩阵对标量求导.矩阵对向量求导.矩阵对矩阵求导等,在深度学习的反向传播(BP)中 ...

  5. 矢量求导的微分法则: 链式法则

    矢量求导的微分法则: 链式法则 介绍 核心原理 矢量求导 矩阵求导 链式法则 介绍 这篇博文推导了矢量情形下, 标量函数对矢量进行求导的微分法则,从定义出发推导了链式法则的形式. 核心原理 核心原理: ...

  6. 矩阵求导(一)-- 求导的定义和布局约定

    本系列主要参考张贤达的<矩阵分析与应用>第三章 矩阵微分和下面的博客内容进行学习,并整理成学习笔记.学习路线参考SinclairWang的文章--矩阵求导入门学习路线,按下面推荐顺序学习, ...

  7. 矢量求导之位移与速度及加速度

    矢量求导之位移与速度及加速度

  8. matlab对多项式求导,matlab中多项式求导

    1 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 4.对比用多项式函数的 polyder 函数及符号函数中的 diff 函数,求导 x2+2x ...

  9. matlab对多元函数求导,MATLAB多元函数导数求极值或最优值Word版

    <MATLAB多元函数导数求极值或最优值Word版>由会员分享,可在线阅读,更多相关<MATLAB多元函数导数求极值或最优值Word版(9页珍藏版)>请在人人文库网上搜索. 1 ...

最新文章

  1. simulink中s-function使用
  2. BJUI验证后弹窗不显示
  3. SpringData Jpa、Hibernate、Jpa 三者之间的关系
  4. secureCRT 小技巧
  5. [渝粤教育] 中国地质大学 工业卫生技术 复习题 (2)
  6. !function(){}()
  7. 要成为一个 Java 架构师得学习哪些知识以及方法?
  8. 云桌面部署_东胜区检察院检察工作网统一业务系统2.0云桌面终端全面部署完成...
  9. c中的结构体嵌套问题_C中的结构
  10. C#语法基础(一)----键盘读入整数foreach语句
  11. matlab作函数图像,matlab绘制函数图像
  12. FPGA实现360°SG90舵机
  13. 返利网是如何做到订单跟踪的?
  14. 公路自行车入门级推荐java_开学季:9款值得买公路车推荐
  15. IntelliJ IDEA常用设置及快捷键以及自定义
  16. C#-调试记Log文件
  17. Java各个版本区别
  18. check your GPU Compute Capability| 2021 英伟达 GPU 的计算能力排名
  19. 100万美金VS100美金FBI本可以在iPhone 5c解锁案中省下一大笔钱
  20. HDU 3132 Taunt Exposure Estimation(数学)

热门文章

  1. html 萤火虫特效,html5+CSS3杯子里萤火虫发光动画特效
  2. JiaThis社区分享按钮的使用,提升网站访问流量
  3. 【C语言】递归-阶乘斐波那契数列
  4. 图像验证码识别(三)——基本流程讨论
  5. 原创:FAT8单片机 Flash文件系统V0.0.1
  6. linux ping ttl,ping 命令----根据TTL判断对方是什么操作系统
  7. OpenShift集群规划
  8. 关于服务器开放SQL Server1433端口
  9. 如何用百度翻译做自己的语音接口
  10. 如何机器学习可以提高公共政策