Skip to content

2.6 矩阵微积分 ​

当你对一个向量或矩阵求导时,就是矩阵微积分。这是线性回归、组合优化、神经网络反向传播的数学基础。


一、向量求导的直觉 ​

在一元函数中,导数 f′(x)f'(x) 告诉你"输入变一点点,输出变多少"。

在多元函数中,f(x)f(\boldsymbol{x}) 有 nn 个输入。导数是一个向量——每个分量对应一个输入的敏感度。

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

这就是你已经见过的梯度。


二、三个最常用的公式 ​

2.1 线性函数:f(x)=aTxf(\boldsymbol{x}) = \boldsymbol{a}^T \boldsymbol{x} ​

∂∂x(aTx)=a\frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{a}^T \boldsymbol{x}) = \boldsymbol{a}

手算:a=[2,3]\boldsymbol{a} = [2, 3],x=[x1,x2]\boldsymbol{x} = [x_1, x_2]

aTx=2x1+3x2\boldsymbol{a}^T \boldsymbol{x} = 2x_1 + 3x_2

∂f∂x1=2,∂f∂x2=3⇒∇f=[23]=a\frac{\partial f}{\partial x_1} = 2,\quad \frac{\partial f}{\partial x_2} = 3 \quad\Rightarrow\quad \nabla f = \begin{bmatrix} 2 \\ 3 \end{bmatrix} = \boldsymbol{a}

2.2 二次型:f(x)=xTAxf(\boldsymbol{x}) = \boldsymbol{x}^T A \boldsymbol{x}(AA 对称) ​

∂∂x(xTAx)=2Ax\frac{\partial}{\partial \boldsymbol{x}} (\boldsymbol{x}^T A \boldsymbol{x}) = 2A\boldsymbol{x}

手算:A=[2113]A = \begin{bmatrix} 2 & 1 \\ 1 & 3 \end{bmatrix},x=[x1,x2]\boldsymbol{x} = [x_1, x_2]

xTAx=2x12+2x1x2+3x22\boldsymbol{x}^T A \boldsymbol{x} = 2x_1^2 + 2x_1x_2 + 3x_2^2

∂f∂x1=4x1+2x2,∂f∂x2=2x1+6x2\frac{\partial f}{\partial x_1} = 4x_1 + 2x_2,\quad \frac{\partial f}{\partial x_2} = 2x_1 + 6x_2

写成矩阵:2Ax=2[2113][x1x2]=[4x1+2x22x1+6x2]2A\boldsymbol{x} = 2 \begin{bmatrix} 2 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 4x_1 + 2x_2 \\ 2x_1 + 6x_2 \end{bmatrix} ✅

2.3 最小二乘 ​

目标:L(β)=∥y−Xβ∥2L(\boldsymbol{\beta}) = \|\boldsymbol{y} - X\boldsymbol{\beta}\|^2

展开:(y−Xβ)T(y−Xβ)=yTy−2βTXTy+βTXTXβ(\boldsymbol{y} - X\boldsymbol{\beta})^T (\boldsymbol{y} - X\boldsymbol{\beta}) = \boldsymbol{y}^T\boldsymbol{y} - 2\boldsymbol{\beta}^T X^T \boldsymbol{y} + \boldsymbol{\beta}^T X^T X \boldsymbol{\beta}

对 β\boldsymbol{\beta} 求导:

∂L∂β=−2XTy+2XTXβ\frac{\partial L}{\partial \boldsymbol{\beta}} = -2X^T\boldsymbol{y} + 2X^T X \boldsymbol{\beta}

令为零得正规方程:XTXβ=XTyX^T X \boldsymbol{\beta} = X^T \boldsymbol{y},所以 β^=(XTX)−1XTy\hat{\boldsymbol{\beta}} = (X^T X)^{-1} X^T \boldsymbol{y}。


三、量化应用 ​

3.1 Markowitz 最优组合 ​

目标:min⁡wTΣw\min \boldsymbol{w}^T \Sigma \boldsymbol{w},约束 1Tw=1\boldsymbol{1}^T \boldsymbol{w} = 1

拉格朗日函数:L=wTΣw−λ(1Tw−1)\mathcal{L} = \boldsymbol{w}^T \Sigma \boldsymbol{w} - \lambda(\boldsymbol{1}^T \boldsymbol{w} - 1)

对 w\boldsymbol{w} 求导:2Σw−λ1=0⇒w=λ2Σ−112\Sigma \boldsymbol{w} - \lambda \boldsymbol{1} = 0 \quad\Rightarrow\quad \boldsymbol{w} = \frac{\lambda}{2} \Sigma^{-1} \boldsymbol{1}

3.2 线性回归 ​

python
import numpy as np

# 生成数据
np.random.seed(42)
X = np.random.randn(100, 3)
beta_true = np.array([2.0, -1.5, 0.5])
y = X @ beta_true + np.random.randn(100) * 0.1

# 解析解
beta_hat = np.linalg.inv(X.T @ X) @ (X.T @ y)
print(f"真实 β: {beta_true}")
print(f"估计 β: {beta_hat.round(4)}")

小结 ​

场景公式应用
线性函数∂∂xaTx=a\frac{\partial}{\partial \boldsymbol{x}} \boldsymbol{a}^T \boldsymbol{x} = \boldsymbol{a}因子暴露度
二次型∂∂xxTAx=2Ax\frac{\partial}{\partial \boldsymbol{x}} \boldsymbol{x}^T A \boldsymbol{x} = 2A\boldsymbol{x}组合方差求导
最小二乘−2XT(y−Xβ)-2X^T(\boldsymbol{y} - X\boldsymbol{\beta})线性回归
Markowitz2Σw−λ1=02\Sigma\boldsymbol{w} - \lambda\boldsymbol{1} = 0最优组合
\n> 下一步:继续学习 03 概率论

📝 练习

💬 论述题

Built with VitePress