矩阵微分

矩阵分析与应用(二)——矩阵微分 本文介绍矩阵分析的矩阵微分部分。我们重述一遍本系列文章(一)里的符号约定:同时,我们为了方便起见,引入新的符号约定,其与上面第1条的精神内核是一致的。对于高数的一元函数 f(x)f\left( x \right)f(x) ,其导数为 df(x)dx\frac{\mathrm{d}f\left( x \right)}{\mathrm{d}x}dxdf(x)​ 。导数反应了 fff 和 xxx 的一阶近似关系。那么对于多元函数而言,我们是否也能定义一个“导数”呢?事实上, Jacobian 就相当于多元函数的“ 阅读详情

矩阵微分

标签(空格分隔): 矩阵微分


矩阵微分
在学习机器学习算法时,发现对矩阵求导很不熟悉,去看了张贤达的矩阵分析,发现标量对矩阵求导的问题说的很清楚.关于如何求解 hessian矩阵,日后再来补上.
重要的事情说三遍
损失函数是标量函数!!!
损失函数是标量函数!!!
损失函数是标量函数!!!

主要介绍实值函数相对于实向量变量或者矩阵变量的偏导.这里首先对变元和函数符号做统一的规定以便后面介绍.
xx=[x1,...,xm]T∈Rm x x = [ x 1 , . . . , x m ] T ∈ R m 为实向量变元
XX=[xx1,...,xxm]T∈Rm×n X X = [ x x 1 , . . . , x x m ] T ∈ R m × n 为矩阵变元
f(xx)∈R为实值标量函数,其变元xx∈Rm,记做f:Rm→R f ( x x ) ∈ R 为 实 值 标 量 函 数 , 其 变 元 x x ∈ R m , 记 做 f : R m → R
f(XX)∈R为实值标量函数,其变元XX∈Rm×n,记做f:Rm×n→R f ( X X ) ∈ R 为 实 值 标 量 函 数 , 其 变 元 X X ∈ R m × n , 记 做 f : R m × n → R
ff(xx)∈Rp为p维实列向量函数,其变元xx∈Rm,记做f:Rm→Rp f f ( x x ) ∈ R p 为 p 维 实 列 向 量 函 数 , 其 变 元 x x ∈ R m , 记 做 f : R m → R p
ff(XX)∈Rp为p维实列向量函数,其变元XX∈Rm×n,记做f:Rm×n→Rp f f ( X X ) ∈ R p 为 p 维 实 列 向 量 函 数 , 其 变 元 X X ∈ R m × n , 记 做 f : R m × n → R p
FF(xx)∈Rp×q为p×q实矩阵函数,其变元xx∈Rm,记做f:Rm→Rp×q F F ( x x ) ∈ R p × q 为 p × q 实 矩 阵 函 数 , 其 变 元 x x ∈ R m , 记 做 f : R m → R p × q
FF(XX)∈Rp×q为p×q实矩阵函数,其变元XX∈Rm×n,记做f:Rm×n→Rp×q F F ( X X ) ∈ R p × q 为 p × q 实 矩 阵 函 数 , 其 变 元 X X ∈ R m × n , 记 做 f : R m × n → R p × q

Jacobian 矩阵

采用 1×m 1 × m 行向量作为偏导算子,记为

Dxx=def[∂∂x1,...,∂∂xm] D x x = d e f [ ∂ ∂ x 1 , . . . , ∂ ∂ x m ]

实值标量函数 f(xx)在xx的偏导向量为1×m行向量,定义如下 f ( x x ) 在 x x 的 偏 导 向 量 为 1 × m 行 向 量 , 定 义 如 下

Dxxf(xx)=∂f(xx)∂xxT=[∂f(xx)∂x1,...,∂f(xx)∂xm] D x x f ( x x ) = ∂ f ( x x ) ∂ x x T = [ ∂ f ( x x ) ∂ x 1 , . . . , ∂ f ( x x ) ∂ x m ]

当实值标量函数 f(XX)的变元是p×q f ( X X ) 的 变 元 是 p × q 维矩阵的时候,他有两种定义:Jacobian矩阵和行向量偏导.他的Jacobian矩阵定义为如下

DXXf(XX)=∂f(XX)∂XXT D X X f ( X X ) = ∂ f ( X X ) ∂ X X T
而他的行向量偏导定义为
DvecXXf(XX)=∂f(XX)∂vec(XX)T=[∂f(xx)∂x1,...∂f(xx)∂xm1,...,∂f(xx)∂x1n,...,∂f(xx)∂xmn] D v e c X X f ( X X ) = ∂ f ( X X ) ∂ v e c ( X X ) T = [ ∂ f ( x x ) ∂ x 1 , . . . ∂ f ( x x ) ∂ x m 1 , . . . , ∂ f ( x x ) ∂ x 1 n , . . . , ∂ f ( x x ) ∂ x m n ]
这里需要注意的是,实值标量函数 f(XX) f ( X X ) 的Jacobian矩阵的转置 DTXXf(XX) D X X T f ( X X ) 的列向量化后即为他的行向量偏导 DvecXXf(XX) D v e c X X f ( X X ) ,这是后面介绍Jacobian矩阵相关知识的基础
当FF(XX)为p×q实矩阵函数时,定义他的Jacobian矩阵如下 当 F F ( X X ) 为 p × q 实 矩 阵 函 数 时 , 定 义 他 的 J a c o b i a n 矩 阵 如 下
DXXFF(XX)=def∂vec(FF(XX))∂(vecXX)T D X X F F ( X X ) = d e f ∂ v e c ( F F ( X X ) ) ∂ ( v e c X X ) T

梯度矩阵

采用列向量形式的偏导算子称为列向量偏导算子,也称为梯度算子
采用 m×1 m × 1 向量作为偏导算子,记为

∇xx=def[∂∂x1,...,∂∂xm]T ∇ x x = d e f [ ∂ ∂ x 1 , . . . , ∂ ∂ x m ] T

实值标量函数 f(xx)在xx的梯度向量为m×1列向量,定义如下 f ( x x ) 在 x x 的 梯 度 向 量 为 m × 1 列 向 量 , 定 义 如 下

∇xxf(xx)=[∂f(xx)∂x1,...,∂f(xx)∂xm]T ∇ x x f ( x x ) = [ ∂ f ( x x ) ∂ x 1 , . . . , ∂ f ( x x ) ∂ x m ] T

实值标量函数 f(XX)的变元XX列向量化后,可以定义其矩阵变元XX的梯度向量为 f ( X X ) 的 变 元 X X 列 向 量 化 后 , 可 以 定 义 其 矩 阵 变 元 X X 的 梯 度 向 量 为

∇vecXXf(XX)=∂f(XX)∂vec(XX)=[∂f(xx)∂x1,...∂f(xx)∂xm1,...,∂f(xx)∂x1n,...,∂f(xx)∂xmn]T ∇ v e c X X f ( X X ) = ∂ f ( X X ) ∂ v e c ( X X ) = [ ∂ f ( x x ) ∂ x 1 , . . . ∂ f ( x x ) ∂ x m 1 , . . . , ∂ f ( x x ) ∂ x 1 n , . . . , ∂ f ( x x ) ∂ x m n ] T

定义 f(XX)的其关于矩阵变元XX的梯度矩阵为 f ( X X ) 的 其 关 于 矩 阵 变 元 X X 的 梯 度 矩 阵 为
∇XXf(XX)=∂f(XX)∂XX ∇ X X f ( X X ) = ∂ f ( X X ) ∂ X X
比较 f(XX) f ( X X ) 的梯度矩阵和Jacobian矩阵,可以发现梯度矩阵即为Jacobian矩阵的转置
当实值标量函数数 f(XX)的变元是p×q维矩阵的时候,他的梯度向量定义为如下 f ( X X ) 的 变 元 是 p × q 维 矩 阵 的 时 候 , 他 的 梯 度 向 量 定 义 为 如 下
∇XXFF(XX)=def∂vec(FF(XX))∂(vecXX)T ∇ X X F F ( X X ) = d e f ∂ v e c ( F F ( X X ) ) ∂ ( v e c X X ) T

标量函数 f(xx) f ( x x ) 与Jacobian矩阵

以向量为变元的标量函数 f(xx) f ( x x ) 的全微分形式可以写为

df(xx)=∂f(xx)∂x1dx1+...+∂f(xx)∂xmdxm=∂f(xx)∂xxTdxx d f ( x x ) = ∂ f ( x x ) ∂ x 1 d x 1 + . . . + ∂ f ( x x ) ∂ x m d x m = ∂ f ( x x ) ∂ x x T d x x

记AA=∂f(xx)∂xxT 记 A A = ∂ f ( x x ) ∂ x x T ,则有如下等价关系
df(xx)=tr(Adxx)⟺Dxxf(xx)=∂f(xx)∂xxT=A d f ( x x ) = t r ( A d x x ) ⟺ D x x f ( x x ) = ∂ f ( x x ) ∂ x x T = A

也就是标量函数 f(xx) f ( x x ) 的Jacobian矩阵和微分矩阵存在着等价关系

标量函数 f(XX) f ( X X ) 与Jacobian矩阵

标量函数 f(XX) f ( X X ) 和上面类似,其全微分可以写成如下形式

df(XX)=∂f(XX)∂xxT1dxx1+...+∂f(XX)∂xxTndxxn=∂f(XX)∂vecT((X)d(vecXX)=DvecXXf(XX)d(vecXX) d f ( X X ) = ∂ f ( X X ) ∂ x x 1 T d x x 1 + . . . + ∂ f ( X X ) ∂ x x n T d x x n = ∂ f ( X X ) ∂ v e c T ( ( X ) d ( v e c X X ) = D v e c X X f ( X X ) d ( v e c X X )

这里再利用行向量偏导和Jacobian矩阵的关系 DvecXXf(XX)=(vec(DTXXf(XX)))T,并令A=DTXXf(XX) D v e c X X f ( X X ) = ( v e c ( D X X T f ( X X ) ) ) T , 并 令 A = D X X T f ( X X ) 可以得到
df(XX)=(vec(AT))Td(vecXX) d f ( X X ) = ( v e c ( A T ) ) T d ( v e c X X )

由向量化算子vec与迹函数的关系式 tr(BTC)=(vec(B))Tvec(C),令B=AT,C=dXX t r ( B T C ) = ( v e c ( B ) ) T v e c ( C ) , 令 B = A T , C = d X X ,则上式可以重写为
df(XX)=tr(AAdXX) d f ( X X ) = t r ( A A d X X )

综合以上,可以得到如下结论:
Jacobian矩阵可以通过以下式子等价确定

df(xx)=tr(Adxx)⟺Dxxf(xx)=Adf(XX)=tr(AdXX)⟺DXXf(XX)=A d f ( x x ) = t r ( A d x x ) ⟺ D x x f ( x x ) = A d f ( X X ) = t r ( A d X X ) ⟺ D X X f ( X X ) = A

矩阵微分 df(XX) d f ( X X ) 可以通过简单的变化转化为矩阵微分的标准形式 df(XX)=tr(AdXX) d f ( X X ) = t r ( A d X X ) .再由Jacobian和梯度矩阵的关系,进一步可以得到梯度矩阵.因而对求解梯度矩阵可以由矩阵微分的标准形式 df(XX)=tr(AdXX) d f ( X X ) = t r ( A d X X ) 得到.
如下:
对于 tr(XXTXX) t r ( X X T X X ) 我们可以得到

dtr(XXTXX)=tr(d(XXTXX))=tr(d(XX)TXX+XXTdXX)=tr(d(XX)TXX)+tr(XXTdXX)=tr(XXTd(XX))+tr(XXTdXX)=tr(2XXTd(XX)) d t r ( X X T X X ) = t r ( d ( X X T X X ) ) = t r ( d ( X X ) T X X + X X T d X X ) = t r ( d ( X X ) T X X ) + t r ( X X T d X X ) = t r ( X X T d ( X X ) ) + t r ( X X T d X X ) = t r ( 2 X X T d ( X X ) )

由以上结论,可以得到 XXTXX X X T X X 关于 XX X X 的梯度矩阵为
∂tr(XXTXX)∂XX=(2XXT)T=2XX ∂ t r ( X X T X X ) ∂ X X = ( 2 X X T ) T = 2 X X

求解梯度矩阵是进行一阶优化算法的基础部分.

参考文献&学习资料
矩阵分析与应用 -张贤达
矩阵求导术-知乎
The Matrix Cookbook.

矩阵论(八):矩阵微分与矩阵求导 广义逆矩阵 做机器学习的几乎避免不了矩阵求导,尤其是神经网络方面的,反向传播算法说白了就是在做矩阵求导,拿到代价函数对模型中每个参数矩阵的导数,才能找到一个下降方向,进而更新这些参数来降低损失。虽然实际编程时大可不必考虑这些繁琐的数学计算,但是要真正理解凸优化中的一些方法,掌握这个基本的数学工具还是有必要的。 【注1】下面的探讨均在实数域内进行。 【注2】虽然RnR^nRn定义为实数域RRR中的... 阅读详情

相关推荐

矩阵、向量微分计算

定义1. 梯度(Gradient)[标量对列向量微分] 设f(x)f(x)是一个变量为xx的标量函数,其中x=(x1...xN)Tx=(x_1...x_N)^T。那么定义f(x)f(x)对xx的梯度为df(x)dx\frac{d f(x)}{d x}: 梯度的转置是一个行向量: 定义2. 海塞矩阵(Hessian matrix) 设f(x)f(x)是一个二阶可微分的标量函数,其中x=(x

好记性不如烂笔头 3万+

动手学深度学习——矩阵求导之矩阵的迹和微分

文章主要介绍了矩阵迹的性质,并将矩阵微分引入到矩阵求导中。虽然在法则和公式中涉及到了矩阵变元的实矩阵函数,但是并不介绍如何求导实矩阵函数,只介绍矩阵变元的实值标量函数利用微分求导的过程(实矩阵函数的求导过程远比实值标量函数的求导过程复杂)。...

时生的博客 9531

Jacobian矩阵 梯度矩阵 矩阵偏导与微分 例子与常见公式

机器学习中的矩阵求导理解与常见公式小结 矩阵求导是机器学习中常见的运算方法,研究对象包括标量,向量和矩阵,求导分为标量对向量、矩阵求导,向量对标量、向量、矩阵求导,矩阵对标量、向量、矩阵求导。 根据个人理解和经验,机器学习中的优化目标一般是一个由向量或矩阵运算得到的标量,因此应该重点关注标量对向量和矩阵的求导。 定义 标量对标量的导数是用微分定义的,标量fff对标量xxx的导数f′(x)f'(x)...

BigYouYou 1万+

矩阵求导微分法

矩阵微分  单变量的微分公式可以表示为df=f′(x)dxdf=f^{\prime}(x)dxdf=f′(x)dx。对应的多变量的微分公式可以写成df=∑i=1n∂f∂xi=(∂f∂x)⊤dxdf=\sum\limits_{i=1}^{n}\frac{\partial f}{\partial \boldsymbol{x}_i}=(\frac{\partial f}{\partial \bm{x}})^{\top}dxdf=i=1∑n​∂xi​∂f​=(∂x∂f​)⊤dx矩阵的微分公式可以表示为df=∑i=

欢迎来到道的世界 3409

使用SymPy求解矩阵微分方程

使用SymPy求解矩阵微分方程

路飞 1406

90 矩阵——矩阵微分与求导

💖💖感谢各位观看这篇文章,💖💖点赞💖💖、收藏💖💖、你的支持是我前进的动力!💖💖 💖💖感谢你的阅读💖,专栏文章💖持续更新!💖关注不迷路!!💖 文章目录1 求导定义与布局方式1.1 矩阵求导术1.2 分子布局和分母布局2 标量对矩阵的求导术的基本思想2.2 微分法2.3 迹技巧2.4 迹函数对向量或矩阵的求导3、矩阵对矩阵求导3.1 微分技巧3.2 Kronecker积技巧参考

炫云云 651

常用矩阵微分公式

转自http://www.cnblogs.com/xuxm2007/p/3332035.html 矩阵微分 http://www.iwenchao.com/mathematics/matrix-differential.html http://en.wikipedia.org/wiki/Matrix_calculus http://www.atmos.washington.edu/

hqh45的专栏 2万+

基因家族Motif 分析

MEME

hgz2020的博客 6319

矩阵微分笔记

对于以向量为变元的实值标量函数fxfxdf∑i1n∂f∂xidxi∂f∂xTdxdfi1∑n​∂xi​∂f​dxi​∂x∂f​Tdx类似的,对于以矩阵为变元的实值标量函数fxfxdf∑i1m∑j1n∂f∂XijdXijtr∂f∂XTdXdfi1∑m​j1∑n​∂Xij​∂f​dXij​tr((

qq_43349296的博客 907

BUCK电路为何无法实现100%占空比?自举电路原理与替代方案解析

在开关电源设计中,DC-DC转换器是实现电压变换的核心器件,其工作原理基于功率开关管的周期性导通与关断。BUCK(降压)电路作为一种经典拓扑,通过调节开关管的占空比来控制输出电压。然而,其占空比存在理论上限,无法达到100%,这一限制源于高边开关管的驱动需求。为了驱动高边N沟道MOSFET(NMOS),需要栅极电压高于源极电压,而自举(Bootstrap)电路通过利用开关节点电压的跳变,巧妙地生成了这一高压驱动信号。自举电路必须在每个开关周期内存在续流阶段(低边管导通)为电容充电,这从根本上限制了最大占空比

weixin_32239523的博客 309

读懂 SAP Fiori Administration Catalogs:从管理员入口、权限编排到 Spaces 和 Pages 的落地实践

SAP Fiori 管理员目录的核心价值在于为系统配置提供标准化入口,解决权限与展示分离的问题。随着 SAP_UI 7.55 版本更新,SAP_FLP_ADMIN 角色整合了关键管理工具(如 Launchpad Designer、Content Manager),并通过 Business Catalog 和 Space 的协同作用,确保管理员既能访问配置工具,又能直观查看相关功能入口。项目实施中需注意配置层级(系统级/客户端级)的选择,以及多人协作时的数据同步问题,以提升交付效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 195

矩阵微分常用公式整理

1.矩阵的导数 2.多元函数对矩阵的导数 3.多元函数对(列)向量的导数 常用公式 4.一元函数关于向量的复合求导 5. 泰勒级数

zfoox的摘记 1万+

agent-browser 安装笔记(OpenClaw)

【代码】agent-browser 安装笔记(OpenClaw)

tiantiantbtb的博客 1241

9矩阵微分方程

1矩阵的微分和积分 1.1微分定义 对矩阵中每一个元素求微分 1.2积分定义 对矩阵中每一个元素求积分 2一阶线性齐次常系数常微分方程组 对于诸如dXdt=AX(t),\frac{dX}{dt}=AX(t),dtdX​=AX(t),我们有解为etAc=etAX(0)e^{tA}c=e^{tA}X(0)etAc=etAX(0) 可以求导验证结果的正确性。 例: 3一阶非齐次常系数常微分方程组...

xd1501013的博客 7762

人工智能---什么是Transformer?

Transformer是一种强大的神经网络架构,最初由Google的研究人员在论文《Attention is All You Need》中提出,用于自然语言处理任务,特别是在机器翻译方面取得了巨大成功。Transformer的核心思想是完全基于自注意力机制(self-attention mechanism)来实现序列到序列(sequence-to-sequence)的学习。它在自然语言处理(NLP)和其他序列到序列任务中表现出色,逐渐成为该领域的主流模型。近些年也逐渐在自动驾驶领域有所应用。

智能汽车人的博客 3955

【国产MCU】-CH32V307-通用定时器(GPTM)-输入捕获模式测量脉冲

CH32V307的通用定时器模块包含一个16 位可自动重装的定时器(TIM2、TIM3、TIM4和TIM5),用于测量脉冲宽度或者产生特定频率的脉冲、PWM波等。可用于自动化控制、电源等领域。 输入捕获是通用定时器功能之一,一般用于测量频率和测量脉冲宽度。本文将详细介绍如何通用定时器的输入捕获功能。

视觉与物联智能 2814

向量和矩阵的微分

对元素求导 列向量对元素求导 y=[y1,y2,...,yd]T∈Rd,x∈R,∂y∂x=[∂y1x,∂y2x,…,∂ydx]Ty=[y1,y2,...,yd]T∈Rd,x∈R,∂y∂x=[∂y1x,∂y2x,…,∂ydx]T \textbf{y}= [y_1, y_2, ..., y_d]^T \in R^d, x \in R ,\frac{\partial \textbf{y} }{...

码灵薯的博客 3573

SAP_ABAP_SD_BAPI清单案例教程——销售订单开票_BAPI_BILLINGDOC_CREATEMULTIPLE_VF01_S4版本

SAP BAPI(Business Application Programming Interface)是SAP系统中的一组规范和标准,用于从SAP系统中获取数据、输入数据和更新数据。这些API允许开发者以编程方式与SAP系统交互,而无需编写大量的自定义代码。2.1 Copy代码 直接可使用。2.2 VF01开票。

java_zhong1990的专栏 2214

矩阵求导及微分知识

首先需要明确的问题是我们在对什么求导,当我们对多元函数说求导时,我们一般是在说偏导数,如,这表示固定不变时,的微小变动会引起两倍的变动,对矩阵函数的求导也是一样的,譬如我们有矩阵变元其中每一个元素都是变量,若想知道固定其他元素不变的情况下,某一元素的变动对矩阵行列式的影响,这就是,一般而言我们可以将所有偏导结果重新组合为矩阵或是向量,这样在形式上是更方便的。一般地来说,对向量变元及其标量函数,定义行偏导向量为而对矩阵变元及其标量函数。

azurehan01的博客 431

1.07---共识机制详解(PoW、PoS、DPoS 对比)

【摘要】区块链能成为“无需信任的协作网络”,靠的正是它的“共识机制”。本节将深入剖析 PoW、PoS、DPoS 等核心共识模型,并结合以太坊从 PoW 到 PoS 的转型与 Solana 等新型方案,为你拆解这一决定区块链运行方式、性能、安全性的“发动机系统”。什么是共识机制?为何不是多数投票这么简单?三大主流共识算法(PoW、PoS、DPoS)机制对比与演化路线以太坊从 PoW 到 PoS 的转型细节(The Merge)Solana 的 PoH + PoS 混合共识机制解析。

鄙人kunzhi96,感恩遇见! 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【数学建模】矩阵微分方程

我相信你们中的许多人都熟悉微分方程,或者至少知道它们。微分方程是数学中最重要的概念之一,也许最著名的微分方程是布莱克-斯科尔斯方程,它控制着任何股票价格。

gongdiwudu的专栏 4604

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

向量矩阵微分

上式经常也会写成分母布局,即列向量的形式。本文无法给出严格定义和证明,只是整理一下在形式上便于辅助记忆的方式。接下来全部采用分子布局(Numerator-layout)。显然采用分子布局,可以得到形式上比较接近的全微分方程。表示标量,用小写字母上方加箭头的符号。和其他文章普遍一样,用小写字母。表示列向量,用大写字母。不严谨地,对于标量函数。

qq_35440673的博客 977

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 基于python 实现对图片进行SVD
下一篇: 牛顿法及拟牛顿法笔记
Vanguard-xf
博客等级 码龄12年 40粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值