本系列内容介绍:
主要参考资料:《深度学习》[美]伊恩·古德菲洛 等 著
《机器人数学基础》吴福朝 张铃 著
文章为自学笔记,默认读者有一定的大学数学基础,仅供参考。
目录
随机变量
随机变量是可以随机地取不同值的变量,是对可能状态的描述。变量和值用字体区分。随机变量 x \mathrm x x的取值为 x x x,向量值随机变量 x \boldsymbol{\mathrm x} x的取值为 x \boldsymbol x x。随机变量可以是离散的或者连续的。
概率分布
概率分布用来描述随机变量或一簇随机变量在每一个可能取值状态的可能性大小。
离散型随机变量和概率质量函数
离散型变量的概率分布可以用概率质量函数PMF来描述,用 P P P表示。 x ∼ P ( x ) \mathrm x\sim P(\mathrm x) x∼P(x)用来说明 x \mathrm x x的分布, P ( x = x ) P(\mathrm x=x) P(x=x)或 P ( x ) P(x) P(x)表示 x \mathrm x x取到 x x x的概率。
多个变量的概率分布被称为联合概率分布, P ( x = x , y = y ) P(\mathrm x=x,\mathrm y=y) P(x=x,y=y)或 P ( x , y ) P(x,y) P(x,y)表示 x = x \mathrm x=x x=x和 y = y \mathrm y=y y=y同时发生的概率。
概率质量函数 P P P必须满足下列条件:
- P P P的定义域是 x \mathrm x x所有可能状态的集合。
- ∀ x ∈ x , 0 ⩽ P ( x ) ⩽ 1 \forall x\in\mathrm x,0\leqslant P(x)\leqslant1 ∀x∈x,0⩽P(x)⩽1
- ∑ x ∈ x P ( x ) = 1 \displaystyle\sum_{x\in\mathrm x}P(x)=1 x∈x∑P(x)=1
连续型变量和概率密度函数
连续型变量的概率分布可以用概率密度函数PDF来描述,用 p p p表示,其必须满足下列条件:
- p p p的定义域是 x \mathrm x x所有可能状态的集合。
- ∀ x ∈ x , p ( x ) ⩾ 0 \forall x\in\mathrm x,p(x)\geqslant0 ∀x∈x,p(x)⩾0
- ∫ p ( x ) d x = 1 \displaystyle\int p(x)\mathrm dx=1 ∫p(x)dx=1
p ( x ) p(x) p(x)并没有直接对特定的状态给出概率,而是给出了落在面积为 δ x \delta x δx的无限小的区域内的概率为 p ( x ) δ x p(x)\delta x p(x)δx。对概率密度函数求积分可以获得点集的真实概率质量。
边缘概率
已知一组变量的联合概率分布,其中一个子集的概率分布被称为边缘概率分布。
二维随机变量的边缘概率分布计算如下:
∀ x ∈ x , P ( x ) = ∑ y P ( x , y ) \forall x\in\mathrm x,P(x)=\displaystyle\sum_yP(x,y) ∀x∈x,P(x)=y∑P(x,y)
p ( x ) = ∫ p ( x , y ) d y p(x)=\displaystyle\int p(x,y)\mathrm dy p(x)=∫p(x,y)dy
条件概率
某个事件在给定其他事件发生时出现的概率称为条件概率。给定 x = x \mathrm x=x x=x, y = y \mathrm y=y y=y发生的概率为:
P ( y = y ∣ x = x ) = P ( y = y , x = x ) P ( x = x ) P(\mathrm y=y|\mathrm x=x)=\displaystyle\frac{P(\mathrm y=y,\mathrm x=x)}{P(\mathrm x=x)} P(y=y∣x=x)=P(x=x)P(y=y,x=x)
任何多维随机变量的联合概率分布都可以分解成只有一个变量的条件概率相乘的形式:
P ( x ( 1 ) , ⋯ , x ( n ) ) = P ( x ( 1 ) ) ∏ i = 2 n P ( x ( i ) ∣ x ( 1 ) , ⋯ , x ( i − 1 ) ) P(\mathrm x^{(1)},\cdots,\mathrm x^{(n)})=P(\mathrm x^{(1)})\displaystyle\prod^n_{i=2}P(\mathrm x^{(i)}|\mathrm x^{(1)},\cdots,\mathrm x^{(i-1)}) P(x(1),⋯,x(n))=P(x(1))i=2∏nP(x(i)∣x(1),⋯,x(i−1))
这个规则被称为概率的链式法则或者乘法规则。
独立性和条件独立性
如果两个随机变量同时取到某值的概率是它们各自取值的概率的乘积,则称它们是相互独立的:
∀ x ∈ x , y ∈ y , p ( x = x , y = y ) = p ( x = x ) p ( y = y ) \forall x\in\mathrm x,y\in\mathrm y,p(\mathrm x=x,\mathrm y=y)=p(\mathrm x=x)p(\mathrm y=y) ∀x∈x,y∈y,p(x=x,y=y)=p(x=x)p(y=y)
如果关于 x \mathrm x x和 y \mathrm y y的条件概率分布对于 z z z的每一个值都可以写成乘积的形式,那么这两个随机变量 x \mathrm x x和 y \mathrm y y在给定随机变量 z \mathrm z z时是条件独立的:
∀ x ∈ x , y ∈ y , z ∈ z , p ( x = x , y = y ∣ z = z ) = p ( x = x ∣ z = z ) p ( y = y ∣ z = z ) \forall x\in\mathrm x,y\in\mathrm y,z\in\mathrm z,p(\mathrm x=x,\mathrm y=y|\mathrm z=z)=p(\mathrm x=x|\mathrm z=z)p(\mathrm y=y|\mathrm z=z) ∀x∈x,y∈y,z∈z,p(x=x,y=y∣z=z)=p(x=x∣z=z)p(y=y∣z=z)
期望、方差和协方差
函数 f ( x ) f(x) f(x)关于某分布 P ( x ) P(\mathrm x) P(x)的期望是指当 x x x由 P P P产生,作用于 f f f时, f ( x ) f(x) f(x)的平均值:
E x ∼ P [ f ( x ) ] = ∑ x P ( x ) f ( x ) \mathbb E_{\mathrm x\sim P}[f(x)]=\displaystyle\sum_xP(x)f(x) Ex∼P[f(x)]=x∑P(x)f(x)
E x ∼ p [ f ( x ) ] = ∫ p ( x ) f ( x ) d x \mathbb E_{\mathrm x\sim p}[f(x)]=\displaystyle\int p(x)f(x)\mathrm dx Ex∼p[f(x)]=∫p(x)f(x)dx
当概率分布在上下文指明时,期望可简记为 E x [ f ( x ) ] \mathbb E_\mathrm x[f(x)] Ex[f(x)]。如果随机变量很明确,期望可进一步简记为 E [ f ( x ) ] \mathbb E[f(x)] E[f(x)]。默认 E [ ⋅ ] \mathbb E[\cdot] E[⋅]表示对方括号内所有随机变量的值求平均,当没有歧义时还可以省略方括号。
期望是线性的:
E x [ α f ( x ) + β g ( x ) ] = α E x [ f ( x ) ] + β E x [ g ( x ) ] \mathbb E_\mathrm x[\alpha f(x)+\beta g(x)]=\alpha\mathbb E_\mathrm x[f(x)]+\beta\mathbb E_\mathrm x[g(x)] Ex[αf(x)+βg(x)]=αEx[f(x)]+βEx[g(x)]
当我们对 x x x依据它的概率分布进行采样时,随机变量 x \mathrm x x的函数值呈现的差异大小可以用方差衡量:
V a r ( f ( x ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ] \mathrm{Var}(f(x))=\mathbb E[(f(x)-\mathbb E[f(x)])^2] Var(f(x))=E[(f(x)−E[f(x)])2]
方差的平方根称为标准差。
协方差给出了两个变量线性相关性的强度以及这些变量的尺度:
C o v ( f ( x ) , g ( y ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) ( g ( y ) − E [ g ( y ) ] ) ] \mathrm{Cov}(f(x),g(y))=\mathbb E[(f(x)-\mathbb E[f(x)])(g(y)-\mathbb E[g(y)])] Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])]
协方差的绝对值如果很大,意味着变量值变化很大,并且同时距离各自的均值很远。正的协方差说明两个变量倾向于同时取得较大的值,负的协方差说明一个变量取到较大的值时,另一个变量倾向于取得较小的值。
零协方差排除了两个变量的线性关系,而独立性排除了线性关系和非线性关系,要求更强。
随机向量 x ∈ R n \boldsymbol x\in\mathbb R^n x∈Rn的协方差矩阵是一个 n n n阶方阵,并满足:
C o v ( x ) i , j = C o v ( x i , x j ) \mathrm{Cov}(\boldsymbol{\mathrm x})_{i,j}=\mathrm{Cov}(\mathrm x_i,\mathrm x_j) Cov(x)i,j=Cov(xi,xj)
协方差矩阵的对角元素是方差:
C o v ( x i , x i ) = V a r ( x i ) \mathrm{Cov}(\mathrm x_i,\mathrm x_i)=\mathrm{Var}(\mathrm x_i) Cov(xi,xi)=Var(xi)
常用概率分布
Bernoulli分布
Bernoulli分布是单个二值随机变量的分布,具有如下性质:
P ( x = 1 ) = ϕ P(\mathrm x=1)=\phi P(x=1)=ϕ
P ( x = 0 ) = 1 − ϕ P(\mathrm x=0)=1-\phi P(x=0)=1−ϕ
P ( x = x ) = ϕ x ( 1 − ϕ ) ( 1 − x ) P(\mathrm x=x)=\phi^x(1-\phi)^{(1-x)} P(x=x)=ϕx(1−ϕ)(1−x)
E x [ x ] = ϕ \mathbb E_\mathrm x[\mathrm x]=\phi Ex[x]=ϕ
V a r x ( x ) = ϕ ( 1 − ϕ ) \mathrm{Var}_\mathrm x(\mathrm x)=\phi(1-\phi) Varx(x)=ϕ(1−ϕ)
Multinoulli分布
Multinoulli分布或者范畴分布是指在具有 k k k个不同状态的单个离散型随机变量上的分布,其中 k k k是一个有限值。Moutinoulli分布由向量 p ∈ [ 0 , 1 ] k − 1 \boldsymbol p\in[0,1]^{k-1} p∈[0,1]k−1参数化,其中每个分量 p i p_i pi表示第 i i i个状态的概率。最后的第 k k k个概率由 1 − 1 ⊤ p 1-\boldsymbol 1^\top\boldsymbol p 1−1⊤p给出。
Multinoulli分布常用于表示对象分类的分布,通常不需要计算期望和方差。
高斯分布
实数最常用的分布是正态分布,也称为高斯分布:
N ( x ; μ , σ 2 ) = 1 2 π σ 2 exp ( − 1 2 σ 2 ( x − μ ) 2 ) \mathcal N(x;\mu,\sigma^2)=\displaystyle\sqrt\frac1{2\pi\sigma^2}\exp\left(-\frac1{2\sigma^2}(x-\mu)^2\right) N(x;μ,σ2)=2πσ21exp(−2σ21(x−μ)2)
参数 μ \mu μ为期望, σ 2 \sigma^2 σ2为方差。
当我们需要经常对不同参数下的概率密度求值时,一种更高效的参数化分布的方式是使用方差的倒数 β ∈ ( 0 , ∞ ) \beta\in(0,\infty) β∈(0,∞)来控制分布的精度:
N ( x ; μ , β ) = β 2 π exp ( − 1 2 β ( x − μ ) 2 ) \mathcal N(x;\mu,\beta)=\displaystyle\sqrt\frac{\beta}{2\pi}\exp\left(-\frac12\beta(x-\mu)^2\right) N(x;μ,β)=2πβexp(−21β(x−μ)2)
当我们缺乏关于某个实数上分布的先验知识时,正态分布是默认的比较好的选择:第一,中心极限定理说明很多独立随机变量的和近似服从正态分布;第二,在具有相同方差的所有可能的概率分布中,正态分布在事实上具有最大的不确定性。
推广到 R n \mathbb R^n Rn空间的正态分布被称为多维正态分布:
N ( x ; μ , Σ ) = 1 ( 2 π ) n d e t ( Σ ) exp ( − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) \mathcal N(\boldsymbol x;\boldsymbol\mu,\boldsymbol\Sigma)=\displaystyle\sqrt\frac1{(2\pi)^n\mathrm{det}(\boldsymbol\Sigma)}\exp\left(-\frac12(\boldsymbol x-\boldsymbol\mu)^\top\boldsymbol\Sigma^{-1}(\boldsymbol x-\boldsymbol\mu)\right) N(x;μ,Σ)=(2π)ndet(Σ)1exp(−21(x−μ)⊤Σ−1(x−μ))
向量值 μ \boldsymbol\mu μ表示分布的均值, Σ \boldsymbol\Sigma Σ给出了分布的协方差矩阵。一种更高效的参数化分布方式是使用 Σ \boldsymbol\Sigma Σ的逆矩阵精度矩阵 β \boldsymbol\beta β进行替代:
N ( x ; μ , β − 1 ) = d e t ( β ) ( 2 π ) n exp ( − 1 2 ( x − μ ) ⊤ β ( x − μ ) ) \mathcal N(\boldsymbol x;\boldsymbol\mu,\boldsymbol\beta^{-1})=\displaystyle\sqrt\frac{\mathrm{det}(\boldsymbol\beta)}{(2\pi)^n}\exp\left(-\frac12(\boldsymbol x-\boldsymbol\mu)^\top\boldsymbol\beta(\boldsymbol x-\boldsymbol\mu)\right) N(x;μ,β−1)=(2π)ndet(β)exp(−21(x−μ)⊤β(x−μ))
我们常常把协方差矩阵限制为一个对角阵。一个更简单的版本是各向同性高斯分布,它的协方差矩阵是一个标量乘以单位阵。
指数分布和Laplace分布
在深度学习中,为了实现一个在 x = 0 x=0 x=0点处取得边界点的分布,我们可以使用指数分布:
p ( x ; λ ) = λ 1 x ⩾ 0 exp ( − λ x ) p(x;\lambda)=\lambda\boldsymbol1_{x\geqslant0}\exp(-\lambda x) p(x;λ)=λ1x⩾0exp(−λx)
Laplace分布允许我们在任意一点 μ \mu μ处设置概率质量的峰值:
L a p l a c e ( x ; μ , γ ) = 1 2 γ exp ( − ∣ x − μ ∣ γ ) \mathrm{Laplace}(x;\mu,\gamma)=\displaystyle\frac1{2\gamma}\exp\left(-\frac{|x-\mu|}\gamma\right) Laplace(x;μ,γ)=2γ1exp(−γ∣x−μ∣)
Dirac分布和经验分布
在一些情况下,我们希望概率分布中的所有质量都集中在一个点上,这可以通过Dirac delta 函数 δ ( x ) \delta(x) δ(x)定义概率密度函数来实现:
p ( x ) = δ ( x − μ ) p(x)=\delta(x-\mu) p(x)=δ(x−μ)
Dirac delta函数是依据积分性质定义的广义函数,其在除了 0 0 0以外的所有点的值都为 0 0 0,但是积分为 1 1 1。
Dirac分布经常作为经验分布的一个组成部分出现:
p ^ ( x ) = 1 m ∑ i = 1 m δ ( x − x ( i ) ) \hat p(\boldsymbol x)=\displaystyle\frac1m\sum^m_{i=1}\delta(\boldsymbol x-\boldsymbol x^{(i)}) p^(x)=m1i=1∑mδ(x−x(i))
经验分布将概率密度 1 m \displaystyle\frac1m m1赋给 m m m个点 x ( 1 ) , ⋯ , x ( m ) \boldsymbol x^{(1)},\cdots,\boldsymbol x^{(m)} x(1),⋯,x(m)中的每一个,这些点是给定的数据集或者采样的集合。
分布的混合
通过一些简单的概率分布来定义新的概率分布的通用的组合方法是构造混合分布。混合分布由一些组件分布构成,每次实验样本是由哪个组件分布产生的取决于从一个Multinoulli分布中采样的结果:
P ( x ) = ∑ i P ( c = i ) P ( x ∣ c = i ) P(\mathrm x)=\displaystyle\sum_iP(c=i)P(\mathrm x|c=i) P(x)=i∑P(c=i)P(x∣c=i)
其中 P ( c ) P(c) P(c)是对各组件的一个Multinoulli分布,组件标识变量 c c c是一个我们不能直接观测到的潜变量。
一个非常强大且常见的混合模型是高斯混合模型,它的组件 p ( x ∣ c = i ) p(\mathrm x|c=i) p(x∣c=i)是高斯分布,每个组件都有各自的参数,也可以有更多限制,例如参数共享。
除了均值和协方差,高斯混合模型的参数指明了给每个组件 i i i的先验概率:
α i = P ( c = i ) \alpha_i=P(c=i) αi=P(c=i)
“先验”一词表明了在观测到 x \mathrm x x之前传递给模型关于 c c c的信念。相应地, P ( c ∣ x ) P(c|\boldsymbol x) P(c∣x)是后验概率。
高斯混合模型时概率密度的万能近似器,任何平滑的概率密度都可以用具有足够多组件的高斯混合模型以任意精度来逼近。
贝叶斯规则
贝叶斯规则给出了两个事件条件概率间的关系,其实际内涵为支持某项属性的事件发生得愈多,则该属性成立的可能性就愈大:
P ( x ∣ y ) = P ( x ) P ( y ∣ x ) P ( y ) P(\mathrm x|\mathrm y)=\displaystyle\frac{P(\mathrm x)P(\mathrm y|\mathrm x)}{P(\mathrm y)} P(x∣y)=P(y)P(x)P(y∣x)
P ( y ) P(\mathrm y) P(y)通常计算如下:
P ( y ) = ∑ x P ( y ∣ x ) P ( x ) P(\mathrm y)=\displaystyle\sum_xP(\mathrm y|x)P(x) P(y)=x∑P(y∣x)P(x)
信息论
推荐学习:
“交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”_哔哩哔哩_bilibili
信息论告诉我们如何对消息设计最优编码和计算消息的期望长度,其中的一些关键思想可用来描述概率分布或者量化概率分布之间的相似性。
量化信息的一些基本想法如下:
- 非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。
- 较不可能发生的事件具有更高的信息量。
- 独立事件应具有增量的信息,例如投掷的硬币两次正面朝上传递的信息量应该是投掷一次硬币正面朝上的信息量的两倍。
为了满足上述性质,我们定义一个事件 x = x \mathrm x=x x=x的自信息为:
I ( x ) = − log P ( x ) I(x)=-\log P(x) I(x)=−logP(x)
I ( x ) I(x) I(x)的单位在以 e e e为底数时是奈特,以 2 2 2为底数时是比特或香农。
香农熵对整个概率分布中的不确定性总量进行量化:
H ( x ) = E x ∼ P [ I ( x ) ] = − E x ∼ P [ log P ( x ) ] H(\mathrm x)=\mathbb E_{\mathrm x\sim P}[I(x)]=-\mathbb E_{\mathrm x\sim P}[\log P(x)] H(x)=Ex∼P[I(x)]=−Ex∼P[logP(x)]
当 x \mathrm x x是连续的,香农熵被称为微分熵。
如果一个随机变量 x \mathrm x x有两个单独的概率分布 P ( x ) P(\mathrm x) P(x)和 Q ( x ) Q(\mathrm x) Q(x),可以使用KL散度来衡量这两个分布的差异:
D K L ( P ∣ ∣ Q ) = E x ∼ P [ log P ( x ) Q ( x ) ] = E x ∼ P [ log P ( x ) − log Q ( x ) ] D_{\mathrm{KL}}(P||Q)=\mathbb E_{\mathrm x\sim P}\left[\displaystyle\log\frac{P(x)}{Q(x)}\right]=\mathbb E_{\mathrm x\sim P}[\log P(x)-\log Q(x)] DKL(P∣∣Q)=Ex∼P[logQ(x)P(x)]=Ex∼P[logP(x)−logQ(x)]
KL散度是非负的,因此经常被用作分布之间的某种距离,但它不是对称的,以不同的分布为基准,求得的值不一定一样。
通过KL散度和香农熵,我们定义了交叉熵:
H ( P , Q ) = H ( P ) + D K L ( P ∣ ∣ Q ) = − E x ∼ P log Q ( x ) H(P,Q)=H(P)+D_{\mathrm{KL}}(P||Q)=-\mathbb E_{\mathrm x\sim P}\log Q(x) H(P,Q)=H(P)+DKL(P∣∣Q)=−Ex∼PlogQ(x)
交叉熵越小,KL散度越小,因此交叉熵成为了机器学习常用的损失函数之一。
结构化概率模型
机器学习经常涉及到在非常多的随机变量上的概率分布,使用单个函数来描述整个联合概率分布是非常低效的。
将概率分布分解成许多因子的乘积形式可以极大地减少用来描述一个分布的参数数量。假设有三个随机变量 a \mathrm a a、 b \mathrm b b和 c \mathrm c c,并且 a \mathrm a a影响 b \mathrm b b, b \mathrm b b影响 c \mathrm c c, a \mathrm a a和 c \mathrm c c在给定 b \mathrm b b时条件独立,由此:
p ( a , b , c ) = p ( a ) p ( b ∣ a ) p ( c ∣ b ) p(\mathrm a,\mathrm b,\mathrm c)=p(\mathrm a)p(\mathrm b|\mathrm a)p(\mathrm c|\mathrm b) p(a,b,c)=p(a)p(b∣a)p(c∣b)
每个因子使用的参数数目是其变量数目的指数倍,如果我们能够找到一种使每个因子分布具有更少变量的分解方法就能极大地降低表示联合分布的成本。可以用图论中的图 G \mathcal G G来描述这种分解,称为结构化概率模型或图模型。
有向模型使用带有有向边的图,它们用条件概率分布来表示分解。有向模型对于分布中的每一个随机变量 x i \mathrm x_i xi都包含着一个影响因子,这个组成 x i \mathrm x_i xi条件概率的影响因子被称为 x i \mathrm x_i xi的父节点,记为 P a G ( x i ) Pa_\mathcal G(x_i) PaG(xi):
p ( x ) = ∏ i p ( x i ∣ P a G ( x i ) ) p(\boldsymbol{\mathrm x})=\displaystyle\prod_ip(\mathrm x_i|Pa_\mathcal G(\mathrm x_i)) p(x)=i∏p(xi∣PaG(xi))
无向模型使用带有无向边的图,它们将分解表示成并非概率分布的一组函数。 G \mathcal G G中任何满足两两之间有边连接的顶点的集合被称为团,每个团 C ( i ) \mathcal C^{(i)} C(i)都伴随着一个因子 ϕ ( i ) ( C ( i ) ) \phi^{(i)}(\mathcal C^{(i)}) ϕ(i)(C(i)),每个因子的输出都必须是非负的。随机变量的联合概率与所有这些因子的乘积成比例,归一化常数 Z Z Z被定义为 ϕ \phi ϕ函数乘积的所有状态的求和或积分:
p ( x ) = 1 Z ∏ i ϕ ( i ) ( C ( i ) ) p(\boldsymbol{\mathrm x})=\displaystyle\frac1Z\prod_i\phi^{(i)}(\mathcal C^{(i)}) p(x)=Z1i∏ϕ(i)(C(i))