梯度计算中常用的矩阵微积分公式

ops/2025/3/11 2:33:24/

标量对向量求导的常用数学公式

设标量函数 y = f ( x ) y = f(\boldsymbol{x}) y=f(x),其中 x = ( x 1 , x 2 , ⋯ , x n ) T \boldsymbol{x} = (x_1, x_2, \cdots, x_n)^{\rm T} x=(x1,x2,,xn)T是一个 n n n维列向量。标量 y y y对向量 x \boldsymbol{x} x的导数为一个 n n n维列向量:
∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋮ ∂ y ∂ x n ] \frac{\partial y}{\partial \boldsymbol{x}} = \begin{bmatrix} \dfrac{\partial y}{\partial x_1} \\ \dfrac{\partial y}{\partial x_2} \\ \vdots \\ \dfrac{\partial y}{\partial x_n} \end{bmatrix} xy= x1yx2yxny

  1. 线性函数:若 y = a T x y = \boldsymbol{a}^{\rm T} \boldsymbol{x} y=aTx,其中 a \boldsymbol{a} a是一个 n n n维列向量,则

∂ y ∂ x = a \frac{\partial y}{\partial \boldsymbol{x}} = \boldsymbol{a} xy=a

  1. 二次型函数:若 y = x T A x y = \boldsymbol{x}^{\rm T} {\bm A} \boldsymbol{x} y=xTAx,其中 A {\bm A} A是一个 n × n n \times n n×n矩阵,则

∂ y ∂ x = ( A + A T ) x \frac{\partial y}{\partial \boldsymbol{x}} = ({\bm A} + {\bm A}^{\rm T}) \boldsymbol{x} xy=(A+AT)x

A {\bm A} A为对称矩阵时, A T = A {\bm A}^{\rm T} = {\bm A} AT=A,则

∂ y ∂ x = 2 A x \frac{\partial y}{\partial \boldsymbol{x}} = 2{\bm A} \boldsymbol{x} xy=2Ax
A {\bm A} A为单位矩阵时, y = x T x y = \boldsymbol{x}^{\rm T} \boldsymbol{x} y=xTx,则

∂ y ∂ x = ∂ ∥ x ∥ 2 ∂ x = ∂ x T x ∂ x = 2 x \frac{\partial y}{\partial \boldsymbol{x}} = \frac{\partial \|{\bm x}\|^2}{\partial {\bm x}} = \frac{\partial {\bm x}^{\rm T} {\bm x}}{\partial {\bm x}} =2{\bm x} xy=xx2=xxTx=2x
∥ x ∥ 2 \|{\bm x}\|^2 x2表示向量 x {\bm x} x的范数(长度)的平方。

向量对向量求导的常用数学公式

y = A x {\bm y}= {\bm A} \boldsymbol{x} y=Ax,其中 A {\bm A} A是一个 n × n n \times n n×n矩阵,则
∂ y ∂ x = ∂ A x ∂ x = A T \frac{\partial {\bm y}}{\partial \boldsymbol{x}} = \frac{\partial {\bm A}{\bm x}}{\partial {\bm x}} = {\bm A}^{\rm T} xy=xAx=AT

A {\bm A} A是一个矩阵 x {\bm x} x是一个向量。
x {\bm x} x求导的结果是矩阵 A {\bm A} A的转置 A T {\bm A}^{\rm T} AT

复合函数的导数

给定函数 g ( u ( x ) ) g(u(x)) g(u(x)),其中 u = u ( x ) = b − A x {\bm u}=u({\bm x}) = {\bm b} - {\bm A}{\bm x} u=u(x)=bAx,且 g ( u ) = ∥ u ∥ 2 g({\bm u}) = \|{\bm u}\|^2 g(u)=u2

链式法则

根据链式法则(Chain Rule),有:
∂ g ( u ( x ) ) ∂ x = ∂ g ∂ u ⋅ ∂ u ∂ x \frac{\partial g(u({\bm x}))}{\partial {\bm x}} = \frac{\partial g}{\partial {\bm u}} \cdot \frac{\partial {\bm u}}{\partial {\bm x}} xg(u(x))=ugxu

具体步骤
  1. 计算 ∂ u ∂ x \dfrac{\partial {\bm u}}{\partial {\bm x}} xu:
    u ( x ) = b − A x {\bm u}({\bm x}) = {\bm b} - {\bm A}{\bm x} u(x)=bAx
    x {\bm x} x求导得到:
    ∂ u ∂ x = − A \frac{\partial {\bm u}}{\partial {\bm x}} = -{\bm A} xu=A

  2. 计算 ∂ g ( u ) ∂ u \dfrac{\partial g({\bm u})}{\partial {\bm u}} ug(u):
    g ( u ) = ∥ u ∥ 2 = u T u g({\bm u}) = \|{\bm u}\|^2 = {\bm u}^{\rm T} {\bm u} g(u)=u2=uTu
    u {\bm u} u求导得到:
    ∂ g ( u ) ∂ u = 2 u \frac{\partial g({\bm u})}{\partial {\bm u}} = 2{\bm u} ug(u)=2u

  3. 应用链式法则:
    ∂ g ( u ( x ) ) ∂ x = ∂ g ( u ) ∂ u ⋅ ∂ u ∂ x \frac{\partial g(u({\bm x}))}{\partial {\bm x}} = \frac{\partial g({\bm u})}{\partial {\bm u}} \cdot \frac{\partial {\bm u}}{\partial {\bm x}} xg(u(x))=ug(u)xu
    将上面的结果代入:
    ∂ g ( u ( x ) ) ∂ x = 2 u ⋅ ( − A ) \frac{\partial g({\bm u}({\bm x}))}{\partial {\bm x}} = 2{\bm u} \cdot (-{\bm A}) xg(u(x))=2u(A)
    由于 u = b − A x {\bm u} = {\bm b} - {\bm A}{\bm x} u=bAx,代入得到:
    ∂ g ( u ( x ) ) ∂ x = − 2 A T ( b − A x ) \frac{\partial g({u}({\bm x}))}{\partial {\bm x}} = -2{\bm A}^{\rm T} ({\bm b} - {\bm A}{\bm x}) xg(u(x))=2AT(bAx)

最终结果是:
∂ ∥ b − A x ∥ 2 ∂ x = − 2 A T ( b − A x ) \frac{\partial \|{\bm b} - {\bm A}{\bm x}\|^2}{\partial {\bm x}} = -2{\bm A}^{\rm T} ({\bm b} - {\bm A}{\bm x}) xbAx2=2AT(bAx)


http://www.ppmy.cn/ops/164820.html

相关文章

计算机二级MS之PPT

声明:跟着大猫和小黑学习随便记下一些笔记供大家参考,二级考试之前将持续更新,希望大家二级都能轻轻松松过啦,过了二级的大神也可以在评论区留言给点建议,感谢大家!! 文章目录 考题难点1cm25px…

利用LLMs准确预测旋转机械(如轴承)的剩余使用寿命(RUL)

研究背景 研究问题:如何准确预测旋转机械(如轴承)的剩余使用寿命(RUL),这对于设备可靠性和减少工业系统中的意外故障至关重要。研究难点:该问题的研究难点包括:训练和测试阶段数据分布不一致、长期RUL预测的泛化能力有限。相关工作:现有工作主要包括基于模型的方法、数…

Android15 Camera框架中的StatusTracker

StatusTracker介绍 StatusTracker是Android15 Camera框架中用来协调Camera3各组件之间状态转换的类。 StatusTracker线程名:std::string("C3Dev-") mId "-Status" Camera3 StatusTracker工作原理 StatusTracker实现批处理(状态…

大白话react第十七章React 与 WebGL 项目进阶优化及拓展

大白话react第十七章React 与 WebGL 项目进阶优化及拓展 1. 引入物理引擎 在 React 和 WebGL 结合的项目里,加入物理引擎能让 3D 场景更真实,就像在现实世界里物体有重力、碰撞等效果一样。这里我们用 cannon-es 这个物理引擎库。 // 引入 React 的 u…

Android 加解密算法工具类封装:AES、RSA、MD5 一站式解决方案

在 Android 开发中,数据的安全性非常重要,尤其是敏感数据的存储和传输。为了实现数据加密和解密,我们可以封装一个通用的加解密工具类,支持常见的加密算法(如 AES、RSA、DES 等)。以下是一个基于 AES 对称加…

前端 | CORS 跨域问题解决

问题:Access to fetch at http://localhost:3000/save from origin http://localhost:5174 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control-Allow-Origin header is present on the request…

Ae 效果详解:VR 数字故障

Ae菜单:效果/沉浸式视频/VR 数字故障 Immersive Video/VR Digital Glitch VR 数字故障 VR Digital Glitch效果用于在 VR 视频中创建数字故障效果,模拟电视信号干扰、视频损坏或计算机错误等视觉表现。通过调整属性,可以控制故障的强度、样式和…

Beeline的使用和Hive JDBC

目录 1. 引言1.1 Hadoop1.2 HBase1.3 Hive 2. Beeline2.1 使用Beeline访问Hive2.1.1 通过beeline直接连接Hive2.1.2 先进入beeline客户端再连接Hive2.1.3 先进入beeline客户端再连接MySQL 2.2 Beeline命令 3. Hive JDBC3.1 pom.xml中依赖配置3.2 Util工具类3.3 代码3.4 结果 参…