数学基础

一、线性代数

1、标量(Scalar):

实数,只有大小,没有方向。

2、向量(Vector):

向量:一组实数组成的有序数组,同时具有大小和方向。
点积:aTb=iaibi\boldsymbol{a}^{T} \boldsymbol{b}=\sum_{i} a_{i} b_{i}

3、范数

满足以下条件的函数 f:RnRf: \mathbb{R}^{n} \rightarrow \mathbb{R}, domf=Rn\operatorname{dom} f=\mathbb{R}^{n} 称为范数:

  • ff 是非负的:对所有的 xRn\boldsymbol{x} \in \mathbb{R}^{n} 成立 f(x)0f(\boldsymbol{x}) \geq 0
  • ff 是正定的:仅对 x=0\boldsymbol{x}=\mathbf{0} 成立 f(x)=0f(\boldsymbol{x})=0
  • ff 是齐次的:对所有的 xRn\boldsymbol{x} \in \mathbb{R}^{n}tRt \in \mathbb{R} 成立 f(tx)=tf(x)f(t \boldsymbol{x})=|t| f(\boldsymbol{x})
  • ff 满足三角不等式:对所有的 x,yRn\boldsymbol{x}, \boldsymbol{y} \in \mathbb{R}^{n} 成立 f(x+y)f(x)+f(y)f(\boldsymbol{x}+\boldsymbol{y}) \leq f(\boldsymbol{x})+f(\boldsymbol{y})
  • \ell_{\infty} -范数:x=max{x1,,xn}\|\boldsymbol{x}\|_{\infty}=\max \left\{\left|x_{1}\right|, \ldots,\left|x_{n}\right|\right\}
  • 更一般地:xp=(x1p++xnp)1p\|x\|_{p}=\left(\left|x_{1}\right|^{p}+\cdots+\left|x_{n}\right|^{p}\right)^{\frac{1}{p}}
4、矩阵(Matrix)

A=[a11a12a1Na21a22a2NaM1aM2aMN]\boldsymbol{A}=\left[\begin{array}{cccc}a_{11} & a_{12} & \cdots & a_{1 N} \\ a_{21} & a_{22} & \cdots & a_{2 N} \\ \vdots & \vdots & \ddots & \vdots \\ a_{M 1} & a_{M 2} & \cdots & a_{M N}\end{array}\right]

A\boldsymbol{A} 是一个由 MMNN 列个元素排列成的矩形阵列,称为 M×NM \times N 的矩阵。

5、线性变换

矩阵 A\boldsymbol{A} 定义了一个从空间 RN\mathbb{R}^{N} 到空间 RM\mathbb{R}^{M} 的线性映射(线性变换)。

两个有限维欧氏空间的映射函数f:RNRMf:\mathbb{R}^{N} \rightarrow \mathbb{R}^{M}可以表示为:

y=Ax[a11x1+a12x2++a1NxNa21x1+a22x2++a2NxNaM1x1+aM2x2++aMNxN]\boldsymbol{y}=\boldsymbol{A} \boldsymbol{x} \triangleq\left[\begin{array}{c} a_{11} x_{1}+a_{12} x_{2}+\cdots+a_{1 N} x_{N} \\ a_{21} x_{1}+a_{22} x_{2}+\cdots+a_{2 N} x_{N} \\ \vdots \\ a_{M 1} x_{1}+a_{M 2} x_{2}+\cdots+a_{M N} x_{N} \end{array}\right]

6、Hadamard积

矩阵 A\boldsymbol{A} 和矩阵 B\boldsymbol{B}Hadamard积也称为逐点乘积,为 A\boldsymbol{A}B\boldsymbol{B} 中对应的元素相乘。

[AB]mn=amnbmn[\boldsymbol{A} \odot \boldsymbol{B}]_{m n}=a_{m n} b_{m n}

7、矩阵范数

算子范数:算子范数是衡量线性算子或矩阵对向量放大作用的最大倍数的范数。$$|A|=\max \left{\frac{|A x|}{|x|}: x \in \mathbb{R}^{n}, x \neq \mathbf{0}\right}=\max \left{|A x|: x \in \mathbb{R}^{n},|x|=1\right}$$

常见算子范数:

Ap=maxx0Axpxp\|\boldsymbol{A}\|_{p}=\max _{\boldsymbol{x} \neq \mathbf{0}} \frac{\|\boldsymbol{A} \boldsymbol{x}\|_{p}}{\|\boldsymbol{x}\|_{p}}

最大绝对列和:A1=max1jni=1maij\|\boldsymbol{A}\|_{1}=\max _{1 \leq j \leq n} \sum_{i=1}^{m}\left|a_{i j}\right|
A\boldsymbol{A} 的最大奇异值:A2=λmax(ATA)\|\boldsymbol{A}\|_{2}=\sqrt{\lambda_{\max }\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)}
最大绝对行和:A=max1imj=1naij\|\boldsymbol{A}\|_{\infty}=\max _{1 \leq i \leq m} \sum_{j=1}^{n}\left|a_{i j}\right|
Frobenius 范数:AFrob =[ijAij2]12\|A\|_{\text {Frob }}=\left[\sum_{i j} A_{i j}^{2}\right]^{\frac{1}{2}}

8、特征值和特征向量

对于一个给定的线性变换 A\boldsymbol{A} ,它的特征向量 x\boldsymbol{x} ,经过这个线性变换之后,得到的新向量仍然与原来的 x\boldsymbol{x} 保持在同一条直线上,但其长度或方向也许会改变。Ax=λx\boldsymbol{A} x=\lambda xλ\lambda 为特征值。对称矩阵总会有相应的特征向量和特征值。

正定性: $$|x|{2}=x{T} x \geq 0$$
一般化: x0,xTAx>0\forall x \neq 0, x^{T} A x>0 ,称 A\boldsymbol{A} 为正定矩阵。设 A\boldsymbol{A}n×nn \times n 对称矩阵,当且仅当 A\boldsymbol{A} 的特征值均为非负数,称 A\boldsymbol{A} 为半正定矩阵。

正交矩阵:

  • 所有的列向量都是单位正交向量
  • 所有的行向量都是单位正交向量
  • 可以写为:UUT=I\boldsymbol{U} \boldsymbol{U}^{T}=\boldsymbol{I}

置换矩阵:

  • 矩阵的每一行和每一列的元素中只有一个 1 ,其余元素都为 0。置换矩阵是正交矩阵。
9、张量(Tensor)

一个数组中的元素分布在若干维坐标的规则网格中。

二、微积分

1、标量求导
yy aa xnx^{n} exe^x log(x)\log (x) sin(x)\sin (x)
dydx\frac{d y}{d x} 00 nxn1n x^{n-1} exe^x 1x\frac{1}{x} cos(x)\cos (x)
yy u+vu+v uvu v y=f(u),u=g(x)y=f(u), u=g(x)
dydx\frac{d y}{d x} dudx+dvdx\frac{d u}{d x}+\frac{d v}{d x} dudxv+dvdxu\frac{d u}{d x} v+\frac{d v}{d x} u dydududx\frac{d y}{d u} \frac{d u}{d x}
2、矢量求导

x=[x1x2xn]\boldsymbol{x}=\left[\begin{array}{c}x_{1} \\x_{2} \\\vdots \\x_{n}\end{array}\right],则yx=[yx1,yx2,,yxn]\frac{\partial y}{\partial \boldsymbol{x}}=\left[\frac{\partial y}{\partial x_{1}}, \frac{\partial y}{\partial x_{2}}, \ldots, \frac{\partial y}{\partial x_{n}}\right]
y=[y1y2yn]\boldsymbol{y}=\left[\begin{array}{c}y_{1} \\y_{2} \\\vdots \\y_{n}\end{array}\right],则yx=[y1xy2xymx]\frac{\partial \boldsymbol{y}}{\partial x}=\left[\begin{array}{c}\frac{\partial y_{1}}{\partial x} \\\frac{\partial y_{2}}{\partial x} \\\vdots \\\frac{\partial y_{m}}{\partial x}\end{array}\right]
x=[x1x2xn]\boldsymbol{x}=\left[\begin{array}{c}x_{1} \\x_{2} \\\vdots \\x_{n}\end{array}\right]y=[y1y2yn]\boldsymbol{y}=\left[\begin{array}{c}y_{1} \\y_{2} \\\vdots \\y_{n}\end{array}\right],则yx=[y1xy2xymx]=[y1x1,y1x2,,y1xny2x1,y2x2,,y2xnymx1,ymx2,,ymxn]m×n\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}=\left[\begin{array}{c}\frac{\partial y_{1}}{\partial \boldsymbol{x}} \\\frac{\partial y_{2}}{\partial \boldsymbol{x}} \\\vdots \\\frac{\partial y_{m}}{\partial \boldsymbol{x}}\end{array}\right]=\left[\begin{array}{c}\frac{\partial y_{1}}{\partial x_{1}}, \frac{\partial y_{1}}{\partial x_{2}}, \ldots, \frac{\partial y_{1}}{\partial x_{n}} \\\frac{\partial y_{2}}{\partial x_{1}}, \frac{\partial y_{2}}{\partial x_{2}}, \ldots, \frac{\partial y_{2}}{\partial x_{n}} \\\vdots \\\frac{\partial y_{m}}{\partial x_{1}}, \frac{\partial y_{m}}{\partial x_{2}}, \ldots, \frac{\partial y_{m}}{\partial x_{n}}\end{array}\right]_{m \times n}

3、矢量和矩阵求导

求导的分母形状不变,分子的形状变成倒数,最后形状按照分子加分母的形状拼接,将形状为1的部分舍弃。

x(1,)x(1,) x(n,1)\boldsymbol{x}(n,1) X(n,k)\boldsymbol{X}(n,k)
y(1,)y(1,) yx(1,)\frac{\partial y}{\partial x}(1,) yx(1,n)\frac{\partial y}{\partial \boldsymbol{x}}(1, n) yX(k,n)\frac{\partial y}{\partial \boldsymbol{X}}(k, n)
y(m,1)\boldsymbol{y}(m,1) yx(m,1)\frac{\partial \boldsymbol{y}}{\partial x}(m, 1) yx(m,n)\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}(m, n) yX(m,k,n)\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{X}}(m, k, n)
Y(m,l)\boldsymbol{Y}(m,l) Yx(m,l)\frac{\partial \boldsymbol{Y}}{\partial x}(m, l) Yx(m,l,n)\frac{\partial \boldsymbol{Y}}{\partial \boldsymbol{x}}(m, l, n) YX(m,l,k,n)\frac{\partial \boldsymbol{Y}}{\partial \boldsymbol{X}}(m, l, k, n)
4、自动微分

深度学习框架通过自动计算导数,即自动微分(automatic differentiation)来加快求导。根据设计好的模型,系统会构建⼀个计算图(computational graph),来跟踪计算是哪些数据通过哪些操作组合起来产生输出。

1
2
3
4
5
6
import torch
x=torch.arange(4.0)
x.requires_grad_(True)
y=2*torch.dot(x,x)
y.backward()
x.grad

正向传播

yx=yun(unun1((u2u1u1x)))\frac{\partial y}{\partial x}=\frac{\partial y}{\partial u_{n}}\left(\frac{\partial u_{n}}{\partial u_{n-1}}\left(\ldots\left(\frac{\partial u_{2}}{\partial u_{1}} \frac{\partial u_{1}}{\partial x}\right)\right)\right)

反向传播

yx=(((yununun1))u2u1)u1x\frac{\partial y}{\partial x}=\left(\left(\left(\frac{\partial y}{\partial u_{n}} \frac{\partial u_{n}}{\partial u_{n-1}}\right) \ldots\right) \frac{\partial u_{2}}{\partial u_{1}}\right) \frac{\partial u_{1}}{\partial x}

三、信息论

1、熵

信息论的核心思想是量化数据中的信息内容。在信息论中,该数值被称为分布 PP 的熵(entropy)。可以通过以下方程得到:

H[P]=jP(j)logP(j)H[P]=\sum_{j}-P(j) \log P(j)

信息论的基本定理之一指出,为了对从分布 pp 中随机抽取的数据进行编码,我们至少需要 H[P]H[P] "纳特(nat)"对其进行编码。"纳特"相当于比特(bit),但是对数底为 ee 而不是 22 。因此,一个纳特是 1log(2)1.44\frac{1}{\log (2)} \approx 1.44 比特。

2、交叉熵

交叉熵是按照概率分布 qq 的最优编码对真实分布为 pp 的信息进行编码的长度。

H(p, q) =E_{p}[-\log q(x)] =-\sum_{x} p(x) \log q(x)$$在给定 $q$ 的情况下,如果 $p$ 和 $q$ 越接近,交叉熵越小;如果 $p$ 和 $q$ 越远,交叉熵就越大。 ##### 3、KL散度 KL散度是用概率分布 $q$ 来近似 $p$ 时所造成的信息损失量。 KL散度是按照概率分布 $q$ 的最优编码对真实分布为 $p$ 的信息进行编码,其平均编码长度(即交叉熵) $H(p, q)$ 和 $p$ 的最优平均编码长度(即熵) $H(p)$ 之间的差异。 $$\operatorname{KL}(p, q)= H(p, q)-H(p) = \sum_{x} p(x) \log \frac{p(x)}{q(x)}

KL(p,q)=H(p,q)H(p)=p(x)logp(x)q(x)dx\operatorname{KL}(p, q)= H(p, q)-H(p) =\int p(x) \log \frac{p(x)}{q(x)} d x

4、交叉熵损失

在分类任务中,最小化 KL 散度等价于最小化交叉熵,而当真实标签是 one-hot 时,交叉熵进一步简化为负对数似然。
KL 散度衡量两个分布的差异,最小化 KL 散度等价于让模型分布逼近真实分布。

DKL(pr(yx)pθ(yx))=y=0kpr(yx)logpr(yx)pθ(yx)=ypr(yx)logpr(yx)ypr(yx)logpθ(yx)\mathrm{D}_{K L}\left(p_{r}(y \mid x)| | p_{\theta}(y \mid x)\right) =\sum_{y=0}^{k} p_{r}(y \mid x) \log \frac{p_{r}(y \mid x)}{p_{\theta}(y \mid x)} =\sum_{y} p_{r}(y \mid x) \log p_{r}(y \mid x)-\sum_{y} p_{r}(y \mid x) \log p_{\theta}(y \mid x)

化简后第一项为常数,第二项为交叉熵,即 KL 散度正比于交叉熵,最小化 KL 散度等价于最小化交叉熵。

  • pr(yx)p_{r}(y \mid x) :真实的条件分布(ground truth),给定输入 xx 时,输出为 yy 的真实概率。
  • pθ(yx)p_{\theta}(y \mid x) :模型预测的条件分布,由参数 θ\theta 决定。
Author

秦宇春

Posted on

2026-03-30

Updated on

2026-03-30

Licensed under