当前位置: 首页 > news >正文

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

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

设标量函数 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)

相关文章:

  • 计算机网络----主要内容简介
  • Qwen2.5-7B-Instruct进行自我认知微调
  • HTTP 黑科技
  • 为什么会有结构体?
  • 《几何原本》命题I.25
  • PCIE接口
  • spring 和JVM之间关系
  • Go学习笔记
  • 【RAG】检索后排序 提高回答精度
  • 初识Linux
  • 一周学会Flask3 Python Web开发-SQLAlchemy定义数据库模型
  • 【Linux篇】调试器-gdb/cgdb使用
  • Redis- 切片集群
  • Linux驱动学习之平台总线设备树驱动模型
  • vue3 使用sass变量
  • 基于STC89C52的温度检测系统(DS18B20)
  • 如何使用Webpack打包React项目?
  • idea启动项目报端口被占用
  • leetcode hot100 图论
  • DeepSeek进阶应用(一):结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)
  • 石家庄网站模板建站/百度投诉电话
  • 郑州做网站优化公/北京seoqq群
  • 邢台123信息最新招聘信息/知乎关键词优化软件
  • 中国做的比较好的网站/武汉seo优化排名公司
  • 微软雅黑 wordpress/seo人工智能
  • 杭州做网站哪家好/网络营销方案3000字