WaterNorth's Blog

数学基础

9 分钟WaterNorth

一、线性代数 #

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{Axx:xRn,x0}=max{Ax:xRn,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\}

常见算子范数:

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 为特征值。对称矩阵总会有相应的特征向量和特征值。

正定性:

x2=xTx0\|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、标量求导 #
yyaaxnx^{n}exe^xlog(x)\log (x)sin(x)\sin (x)
dydx\frac{d y}{d x}00nxn1n 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=[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),来跟踪计算是哪些数据通过哪些操作组合起来产生输出。

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)=Ep[logq(x)]=xp(x)logq(x)H(p, q) =E_{p}[-\log q(x)] =-\sum_{x} p(x) \log q(x)

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

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)logp(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)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 决定。

评论

0

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