最小二乘中的矩阵求导基础总结

矩阵求导基础总结

在最小二乘问题中,经常会遇到含有 XTX^TXT 的表达式,例如:

XTCX^T CXTC

CTXC^T XCTX

XTMXX^T M XXTMX

∥AX−B∥2\|AX-B\|^2∥AX−B∥2

需要注意的是,严格来说,通常不是单独对 XTX^TXT 求导,而是对包含 XTX^TXT 的标量函数进行求导。

设:

X=[x1x2⋮xn]X=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}X= x1x2⋮xn

如果 f(X)f(X)f(X) 是一个标量函数,那么它对 XXX 的导数通常写成梯度形式:

∂f∂X=[∂f∂x1∂f∂x2⋮∂f∂xn]\frac{\partial f}{\partial X}=\begin{bmatrix}\frac{\partial f}{\partial x_1}\\\frac{\partial f}{\partial x_2}\\\vdots\\\frac{\partial f}{\partial x_n}\end{bmatrix}∂X∂f= ∂x1∂f∂x2∂f⋮∂xn∂f

也就是说,对 XXX 求导,本质上就是分别对 XXX 中的每一个分量 xix_ixi 求偏导。


1. 线性项 XTCX^T CXTC 的求导

设:

X=[x1x2⋮xn],C=[c1c2⋮cn]X=\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix},\quad C=\begin{bmatrix}c_1\\c_2\\\vdots\\c_n\end{bmatrix}X= x1x2⋮xn ,C= c1c2⋮cn

则:

XTC=[x1x2⋯xn][c1c2⋮cn]X^T C=\begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}\begin{bmatrix}c_1\\c_2\\\vdots\\c_n\end{bmatrix}XTC=[x1x2⋯xn] c1c2⋮cn

展开可得:

XTC=x1c1+x2c2+⋯+xncnX^T C=x_1c_1+x_2c_2+\cdots+x_nc_nXTC=x1c1+x2c2+⋯+xncn

分别对每个变量求偏导:

∂(XTC)∂x1=c1\frac{\partial (X^T C)}{\partial x_1}=c_1∂x1∂(XTC)=c1

∂(XTC)∂x2=c2\frac{\partial (X^T C)}{\partial x_2}=c_2∂x2∂(XTC)=c2

⋮\vdots⋮

∂(XTC)∂xn=cn\frac{\partial (X^T C)}{\partial x_n}=c_n∂xn∂(XTC)=cn

因此:

∂(XTC)∂X=[c1c2⋮cn]=C\frac{\partial (X^T C)}{\partial X}=\begin{bmatrix}c_1\\c_2\\\vdots\\c_n\end{bmatrix}=C∂X∂(XTC)= c1c2⋮cn =C

所以有结论:

∂(XTC)∂X=C\boxed{\frac{\partial (X^T C)}{\partial X}=C}∂X∂(XTC)=C

由于 CTXC^T XCTX 与 XTCX^T CXTC 都是标量,并且二者相等:

CTX=XTCC^T X=X^T CCTX=XTC

因此:

∂(CTX)∂X=C\boxed{\frac{\partial (C^T X)}{\partial X}=C}∂X∂(CTX)=C


2. 二次型 XTMXX^T M XXTMX 的求导

设:

f(X)=XTMXf(X)=X^T M Xf(X)=XTMX

其中:

X∈Rn×1X\in \mathbb{R}^{n\times 1}X∈Rn×1

M∈Rn×nM\in \mathbb{R}^{n\times n}M∈Rn×n

二次型求导的常用结论是:

∂(XTMX)∂X=(M+MT)X\boxed{\frac{\partial (X^T M X)}{\partial X}=(M+M^T)X}∂X∂(XTMX)=(M+MT)X

如果 MMM 是对称矩阵,即:

MT=MM^T=MMT=M

那么:

∂(XTMX)∂X=2MX\boxed{\frac{\partial (X^T M X)}{\partial X}=2MX}∂X∂(XTMX)=2MX

下面简单推导这个公式。

将二次型展开:

XTMX=∑i=1n∑j=1nxiMijxjX^T M X=\sum_{i=1}^{n}\sum_{j=1}^{n}x_iM_{ij}x_jXTMX=i=1∑nj=1∑nxiMijxj

对某一个变量 xkx_kxk 求偏导。由于 xkx_kxk 既可能出现在前面的 xix_ixi 位置,也可能出现在后面的 xjx_jxj 位置,因此会产生两部分。

当 i=ki=ki=k 时,有:

∑j=1nMkjxj\sum_{j=1}^{n}M_{kj}x_jj=1∑nMkjxj

当 j=kj=kj=k 时,有:

∑i=1nxiMik\sum_{i=1}^{n}x_iM_{ik}i=1∑nxiMik

由于 MikM_{ik}Mik 是标量,所以可以写成:

∑i=1nMikxi\sum_{i=1}^{n}M_{ik}x_ii=1∑nMikxi

因此:

∂(XTMX)∂xk=∑j=1nMkjxj+∑i=1nMikxi\frac{\partial (X^T M X)}{\partial x_k}=\sum_{j=1}^{n}M_{kj}x_j+\sum_{i=1}^{n}M_{ik}x_i∂xk∂(XTMX)=j=1∑nMkjxj+i=1∑nMikxi

第一项对应矩阵形式中的第 kkk 个分量:

∑j=1nMkjxj=(MX)k\sum_{j=1}^{n}M_{kj}x_j=(MX)_kj=1∑nMkjxj=(MX)k

第二项对应矩阵形式中的第 kkk 个分量:

∑i=1nMikxi=(MTX)k\sum_{i=1}^{n}M_{ik}x_i=(M^T X)_ki=1∑nMikxi=(MTX)k

所以整体写成矩阵形式为:

∂(XTMX)∂X=MX+MTX\frac{\partial (X^T M X)}{\partial X}=MX+M^T X∂X∂(XTMX)=MX+MTX

即:

∂(XTMX)∂X=(M+MT)X\frac{\partial (X^T M X)}{\partial X}=(M+M^T)X∂X∂(XTMX)=(M+MT)X

如果 MMM 是对称矩阵:

MT=MM^T=MMT=M

则有:

∂(XTMX)∂X=2MX\frac{\partial (X^T M X)}{\partial X}=2MX∂X∂(XTMX)=2MX


3. 最小二乘中的矩阵求导

最小二乘问题通常写成:

X=arg⁡min⁡X∥AX−B∥2X=\arg\min_X \|AX-B\|^2X=argXmin∥AX−B∥2

定义目标函数:

J(X)=∥AX−B∥2J(X)=\|AX-B\|^2J(X)=∥AX−B∥2

根据二范数定义:

J(X)=(AX−B)T(AX−B)J(X)=(AX-B)^T(AX-B)J(X)=(AX−B)T(AX−B)

展开:

J(X)=XTATAX−XTATB−BTAX+BTBJ(X)=X^T A^T A X-X^T A^T B-B^T A X+B^T BJ(X)=XTATAX−XTATB−BTAX+BTB

因为 XTATBX^T A^T BXTATB 是标量,BTAXB^T A XBTAX 也是标量,并且二者相等:

XTATB=BTAXX^T A^T B=B^T A XXTATB=BTAX

所以:

J(X)=XTATAX−2XTATB+BTBJ(X)=X^T A^T A X-2X^T A^T B+B^T BJ(X)=XTATAX−2XTATB+BTB


4. 对每一项分别求导

第一项为:

XTATAXX^T A^T A XXTATAX

令:

M=ATAM=A^T AM=ATA

则:

XTATAX=XTMXX^T A^T A X=X^T M XXTATAX=XTMX

由于:

(ATA)T=ATA(A^T A)^T=A^T A(ATA)T=ATA

所以 ATAA^T AATA 是对称矩阵。

因此:

∂(XTATAX)∂X=2ATAX\frac{\partial (X^T A^T A X)}{\partial X}=2A^T A X∂X∂(XTATAX)=2ATAX

第二项为:

−2XTATB-2X^T A^T B−2XTATB

令:

C=ATBC=A^T BC=ATB

则:

−2XTATB=−2XTC-2X^T A^T B=-2X^T C−2XTATB=−2XTC

所以:

∂(−2XTATB)∂X=−2ATB\frac{\partial (-2X^T A^T B)}{\partial X}=-2A^T B∂X∂(−2XTATB)=−2ATB

第三项为:

BTBB^T BBTB

由于该项不含 XXX,所以:

∂(BTB)∂X=0\frac{\partial (B^T B)}{\partial X}=0∂X∂(BTB)=0

因此目标函数的导数为:

∂J∂X=2ATAX−2ATB\frac{\partial J}{\partial X}=2A^T A X-2A^T B∂X∂J=2ATAX−2ATB

令导数为零:

2ATAX−2ATB=02A^T A X-2A^T B=02ATAX−2ATB=0

两边同时除以 222,得到:

ATAX−ATB=0A^T A X-A^T B=0ATAX−ATB=0

即:

ATAX=ATB\boxed{A^T A X=A^T B}ATAX=ATB

这就是最小二乘问题对应的正规方程。

当 ATAA^T AATA 可逆时,有:

X=(ATA)−1ATB\boxed{X=(A^T A)^{-1}A^T B}X=(ATA)−1ATB


5. 最小二乘求导的直接记忆公式

对于目标函数:

J(X)=∥AX−B∥2J(X)=\|AX-B\|^2J(X)=∥AX−B∥2

可以直接使用如下结论:

∂∂X∥AX−B∥2=2AT(AX−B)\boxed{\frac{\partial}{\partial X}\|AX-B\|^2=2A^T(AX-B)}∂X∂∥AX−B∥2=2AT(AX−B)

令导数为零:

2AT(AX−B)=02A^T(AX-B)=02AT(AX−B)=0

得到:

AT(AX−B)=0A^T(AX-B)=0AT(AX−B)=0

展开:

ATAX−ATB=0A^T A X-A^T B=0ATAX−ATB=0

因此:

ATAX=ATB\boxed{A^T A X=A^T B}ATAX=ATB


6. 常用矩阵求导公式总结

线性项:

∂(XTC)∂X=C\boxed{\frac{\partial (X^T C)}{\partial X}=C}∂X∂(XTC)=C

∂(CTX)∂X=C\boxed{\frac{\partial (C^T X)}{\partial X}=C}∂X∂(CTX)=C

二次型:

∂(XTMX)∂X=(M+MT)X\boxed{\frac{\partial (X^T M X)}{\partial X}=(M+M^T)X}∂X∂(XTMX)=(M+MT)X

如果 MMM 是对称矩阵:

∂(XTMX)∂X=2MX\boxed{\frac{\partial (X^T M X)}{\partial X}=2MX}∂X∂(XTMX)=2MX

最小二乘残差形式:

∂∂X∥AX−B∥2=2AT(AX−B)\boxed{\frac{\partial}{\partial X}\|AX-B\|^2=2A^T(AX-B)}∂X∂∥AX−B∥2=2AT(AX−B)

正规方程:

ATAX=ATB\boxed{A^T A X=A^T B}ATAX=ATB

最小二乘解:

X=(ATA)−1ATB\boxed{X=(A^T A)^{-1}A^T B}X=(ATA)−1ATB


7. 一句话总结

最小二乘问题的核心是最小化残差平方和:

J(X)=∥AX−B∥2J(X)=\|AX-B\|^2J(X)=∥AX−B∥2

对参数 XXX 求导:

∂J∂X=2AT(AX−B)\frac{\partial J}{\partial X}=2A^T(AX-B)∂X∂J=2AT(AX−B)

令导数为零:

2AT(AX−B)=02A^T(AX-B)=02AT(AX−B)=0

即可得到正规方程:

ATAX=ATBA^T A X=A^T BATAX=ATB

如果 ATAA^T AATA 可逆,则最小二乘解为:

X=(ATA)−1ATBX=(A^T A)^{-1}A^T BX=(ATA)−1ATB

相关推荐
龙侠九重天1 小时前
C# 调用 TensorFlow:迁移学习与模型推理实战指南
人工智能·深度学习·机器学习·c#·tensorflow·迁移学习·tensorflow.net
code_pgf1 小时前
mllm指令微调的关键技术
人工智能·机器学习·计算机视觉
covco1 小时前
AI 原生营销矩阵系统:分布式架构设计与核心模块实现
人工智能·分布式·矩阵
covco1 小时前
中小团队短视频矩阵落地难点与轻量化技术解决方案
矩阵
小雅痞2 小时前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵
栈溢出了2 小时前
GraphSAGE 学习笔记
深度学习·神经网络·算法·机器学习
沪漂阿龙2 小时前
AI大模型面试题:模型求解和优化全解析——梯度下降、BGD、SGD、MBGD、学习率、Batch Size、损失函数、优化器一文讲透
人工智能·学习·机器学习
deephub3 小时前
Feature Engineering 实战:Pandas + Scikit-learn的机器学习特征工程的完整代码示例
人工智能·python·机器学习·pandas·scikit-learn
电科一班林耿超3 小时前
机器学习大师课 第 8 课:端到端项目实战 —— 泰坦尼克号生存预测
人工智能·算法·机器学习