数学基础

一、线性代数 #

1、标量(Scalar): #

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

2、向量(Vector): #

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

3、范数 #

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

  • ff 是非负的:对所有的 x∈Rn\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 是齐次的:对所有的 x∈Rn\boldsymbol{x} \in \mathbb{R}^{n} 和 t∈Rt \in \mathbb{R} 成立 f(tx)=∣t∣f(x)f(t \boldsymbol{x})=|t| f(\boldsymbol{x}) ;
  • ff 满足三角不等式:对所有的 x,y∈Rn\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\} ;
  • 更一般地:∥x∥p=(∣x1∣p+⋯+∣xn∣p)1p\|x\|_{p}=\left(\left|x_{1}\right|^{p}+\cdots+\left|x_{n}\right|^{p}\right)^{\frac{1}{p}} 。
4、矩阵(Matrix) #
A=[a11a12⋯a1Na21a22⋯a2N⋮⋮⋱⋮aM1aM2⋯aMN]\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} 是一个由 MM 行 NN 列个元素排列成的矩形阵列,称为 M×NM \times N 的矩阵。

5、线性变换 #

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

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

y=Ax≜[a11x1+a12x2+⋯+a1NxNa21x1+a22x2+⋯+a2NxN⋮aM1x1+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} 中对应的元素相乘。

[A⊙B]mn=amnbmn[\boldsymbol{A} \odot \boldsymbol{B}]_{m n}=a_{m n} b_{m n}
7、矩阵范数 #

算子范数:算子范数是衡量线性算子或矩阵对向量放大作用的最大倍数的范数。

∥A∥=max⁡{∥Ax∥∥x∥:x∈Rn,x≠0}=max⁡{∥Ax∥:x∈Rn,∥x∥=1}\|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\}

常见算子范数:

∥A∥p=max⁡x≠0∥Ax∥p∥x∥p\|\boldsymbol{A}\|_{p}=\max _{\boldsymbol{x} \neq \mathbf{0}} \frac{\|\boldsymbol{A} \boldsymbol{x}\|_{p}}{\|\boldsymbol{x}\|_{p}}

最大绝对列和:∥A∥1=max⁡1≤j≤n∑i=1m∣aij∣\|\boldsymbol{A}\|_{1}=\max _{1 \leq j \leq n} \sum_{i=1}^{m}\left|a_{i j}\right| ; A\boldsymbol{A} 的最大奇异值:∥A∥2=λmax⁡(ATA)\|\boldsymbol{A}\|_{2}=\sqrt{\lambda_{\max }\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)} ; 最大绝对行和:∥A∥∞=max⁡1≤i≤m∑j=1n∣aij∣\|\boldsymbol{A}\|_{\infty}=\max _{1 \leq i \leq m} \sum_{j=1}^{n}\left|a_{i j}\right| ; Frobenius 范数:∥A∥Frob =[∑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=xTx≥0\|x\|^{2}=x^{T} x \geq 0

一般化: ∀x≠0,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、标量求导 #
yyaaxnx^{n}exe^xlog⁡(x)\log (x)sin⁡(x)\sin (x)
dydx\frac{d y}{d x}00nxn−1n x^{n-1}exe^x1x\frac{1}{x}cos⁡(x)\cos (x)
yyu+vu+vuvu vy=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} udydududx\frac{d y}{d u} \frac{d u}{d x}
2、矢量求导 #

若x=[x1x2⋮xn]\boldsymbol{x}=\left[\begin{array}{c}x_{1} \\x_{2} \\\vdots \\x_{n}\end{array}\right],则∂y∂x=[∂y∂x1,∂y∂x2,…,∂y∂xn]\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=[y1y2⋮yn]\boldsymbol{y}=\left[\begin{array}{c}y_{1} \\y_{2} \\\vdots \\y_{n}\end{array}\right],则∂y∂x=[∂y1∂x∂y2∂x⋮∂ym∂x]\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=[x1x2⋮xn]\boldsymbol{x}=\left[\begin{array}{c}x_{1} \\x_{2} \\\vdots \\x_{n}\end{array}\right],y=[y1y2⋮yn]\boldsymbol{y}=\left[\begin{array}{c}y_{1} \\y_{2} \\\vdots \\y_{n}\end{array}\right],则∂y∂x=[∂y1∂x∂y2∂x⋮∂ym∂x]=[∂y1∂x1,∂y1∂x2,…,∂y1∂xn∂y2∂x1,∂y2∂x2,…,∂y2∂xn⋮∂ym∂x1,∂ym∂x2,…,∂ym∂xn]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,)∂y∂x(1,)\frac{\partial y}{\partial x}(1,)∂y∂x(1,n)\frac{\partial y}{\partial \boldsymbol{x}}(1, n)∂y∂X(k,n)\frac{\partial y}{\partial \boldsymbol{X}}(k, n)
y(m,1)\boldsymbol{y}(m,1)∂y∂x(m,1)\frac{\partial \boldsymbol{y}}{\partial x}(m, 1)∂y∂x(m,n)\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}(m, n)∂y∂X(m,k,n)\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{X}}(m, k, n)
Y(m,l)\boldsymbol{Y}(m,l)∂Y∂x(m,l)\frac{\partial \boldsymbol{Y}}{\partial x}(m, l)∂Y∂x(m,l,n)\frac{\partial \boldsymbol{Y}}{\partial \boldsymbol{x}}(m, l, n)∂Y∂X(m,l,k,n)\frac{\partial \boldsymbol{Y}}{\partial \boldsymbol{X}}(m, l, k, n)
4、自动微分 #

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

import torch
x=torch.arange(4.0)
x.requires_grad_(True)
y=2*torch.dot(x,x)
y.backward()
x.grad

正向传播

∂y∂x=∂y∂un(∂un∂un−1(…(∂u2∂u1∂u1∂x)))\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)

反向传播

∂y∂x=(((∂y∂un∂un∂un−1)…)∂u2∂u1)∂u1∂x\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]=∑j−P(j)log⁡P(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)=Ep[−log⁡q(x)]=−∑xp(x)log⁡q(x)H(p, q) =E_{p}[-\log q(x)] =-\sum_{x} p(x) \log q(x)

在给定 qq 的情况下,如果 pp 和 qq 越接近,交叉熵越小;如果 pp 和 qq 越远,交叉熵就越大。

3、KL散度 #

KL散度是用概率分布 qq 来近似 pp 时所造成的信息损失量。 KL散度是按照概率分布 qq 的最优编码对真实分布为 pp 的信息进行编码,其平均编码长度(即交叉熵) H(p,q)H(p, q) 和 pp 的最优平均编码长度(即熵) H(p)H(p) 之间的差异。

KL⁡(p,q)=H(p,q)−H(p)=∑xp(x)log⁡p(x)q(x)\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)log⁡p(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(y∣x)∣∣pθ(y∣x))=∑y=0kpr(y∣x)log⁡pr(y∣x)pθ(y∣x)=∑ypr(y∣x)log⁡pr(y∣x)−∑ypr(y∣x)log⁡pθ(y∣x)\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(y∣x)p_{r}(y \mid x) :真实的条件分布(ground truth),给定输入 xx 时,输出为 yy 的真实概率。
  • pθ(y∣x)p_{\theta}(y \mid x) :模型预测的条件分布,由参数 θ\theta 决定。

评论

0

评论功能待配置数据库后启用。