这部分内容是机器学习推导的基础。由于不涉及其余技术,因此单调成篇,归类到线性代数笔记中。
一个重要的参考文献是 Matrix Cookbook.
# 矩阵微积分
# 概述
矩阵的微积分运算是一个规则混乱的区域,其实际意义是对向量分量微积分的简化表示。但实际上,由于标量和矢量、矢量分量难以区分,行向量和列向量难以区分,矩阵的微积分记号含义常常需要依据推导过程确定。因此,对于矩阵微积分,一般按向量分量拆分,然后依据标量的微积分规则进行计算。这样可以在矩阵的计算推导中少出错误。
下面,我依然会记录几个常见的标注方式。如果存在歧义,我也会在笔记中标出。
# 符号
符号 | 含义 |
---|
\boldsymbol | 实向量变元 (x1,x2,…,xm)⊤∈Rm |
X | 实矩阵变元 (\boldsymbol{x}_1, \boldsymbol{x_2}, \dots, \boldsymbol{x_n}) \in \mathbb{R}^ |
f(x) | 实标量函数 f : \mathbb{R}^m \to \mathbb |
f(X) | 实矩阵函数 f : \mathbb{R}^{m \times n} \to \mathbb |
f(x) | p 维实列向量函数 f:Rm→Rp |
f(X) | p 维实列矩阵函数 \boldsymbol{f} : \mathbb{R}^{m \times n} \to \mathbb{R}^ |
F(x) | p×q 实矩阵函数 \boldsymbol{F} : \mathbb{R}^m \to \mathbb{R}^ |
F(X) | p×q 实矩阵函数 \boldsymbol{F} : \mathbb{R}^{m \times n} \to \mathbb{R}^ |
# 梯度
梯度即标量对向量的导数,其定义是明确的。对于n 自变量的函数f(x1,x2,…,xn), 其梯度为
∇f=i=1∑n∂xi∂fxi^=(∂x1∂f,…,∂xn∂f)
# 向量导数
# 向量对标量的导数
列向量y 对标量x 的导数为
∂x∂y=(∂x∂y1,…,∂x∂yn)⊤
# 向量对向量的导数
x=(x1,x2,…,xn)⊤,y=(y1,y2,…,ym)⊤ 是两个列向量,其导数一般表示为
∂x∂y=(∂x1∂y,…,∂xn∂y)
# 矩阵导数
矩阵对标量的导数是容易定义的。对于矩阵Y 及标量x, 其导数定义为
∂x∂Y=(∂x∂yij)
标量对矩阵的导数也可以类似定义,不过鲜有人用。
∂X∂y=(∂xij∂y)
# 参考资料
- Wikipedia: Matrix calculus
- Matrix Cookbook
- 矩阵分析与应用 张贤达