深度学习笔记 概率论与信息论基础

概率论与信息论基础

1 随机变量

随机变量是可以随机取不同值的变量。通常用无格式的小写字母来表示随机变量本身,而用手写体的小写字母来表示随机变量能取到的值。例如x1和x2x_1和x_2x1x2都是随机变量x\rm{x}x可能的取值。对于向量变量,我们将随机变量写成x\mathbf{x}x,它的一个可能取值写成x\mathcal{x}x

随机变量可以是离散的也可以是连续的。离散随机变量拥有有限或可数无限多的状态,这些状态可能只是被命名而没有数值。连续随机变量则绑定了实数值。

2 概率分布

概率分布(probability distribution)用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。

2.1 离散型变量和概率质量函数

离散型变量的概率分布可以用**概率质量函数(PMF)**来描述。我们通常用大写字母PPP来表示概率质量函数。

概率质量函数将随机变量能够取得的每个状态映射到随机变量取得该状态的概率。x=x{\rm x}=xx=x的概率用P(x)P(x)P(x)来表示,概率为1表示x=x{\rm x}=xx=x是确定的,概率为0表示x=x{\rm x}=xx=x是不可能发生的。为了使PMF的使用不相互混淆,有时需要明确写出随机变量的名称:P(x=x)P({\rm x}=x)P(x=x)。有时我们会先定义一个随机变量,然后用符号∼\sim来说明该随机变量遵循的分布:x∼P(x){\rm x}\sim P({\rm x})xP(x)

概率质量函数可以同时作用于多个随机变量,这种多个变量的概率分布被称为联合概率分布P(x=x,y=y)P({\rm x}=x,{\rm y}=y)P(x=x,y=y)表示x=x{\rm x}=xx=xy=y{\rm y}=yy=y同时发生的概率。P(x=x,y=y)P({\rm x}=x,{\rm y}=y)P(x=x,y=y)也可以简写为P(x,y)P(x,y)P(x,y)

PMF必须满足:

  • 定义域是x{\rm x}x的所有可能状态的集合。
  • ∀x∈x,0≤P(x)≤1.\forall x\in{\rm x},0\leq P(x)\leq 1.xx,0P(x)1.
  • ∑x∈xP(x)=1.\sum_{x\in{\rm x}}P(x)=1.xxP(x)=1.

2.2 连续型变量和概率密度函数

当我们研究的对象时连续型随机变量时,我们用**概率密度函数(PDF)**来描述其概率分布。

若函数ppp是PDF,则必须满足:

  • ppp的定义域是x{\rm x}x的所有可能状态的集合。
  • ∀x∈x,P(x)≥0.\forall x\in{\rm x},P(x)\geq 0.xx,P(x)0.注意,概率密度函数不要求某处概率p(x)≤1p(x)\leq 1p(x)1
  • ∫p(x)dx=1.\int p(x)dx=1.p(x)dx=1.

概率密度函数p(x)p(x)p(x)并没有直接对特定的状态给出概率,相对的,它给出了落在面积为δx\delta xδx的无限小的区域内的概率为p(x)δxp(x)\delta xp(x)δx

3 边缘概率和条件概率

3.1 边缘概率

对于一个多维随机变量的联合概率分布,我们用边缘概率分布来定义其中一个子集的概率分布。

例如,假设有离散型随机变量x{\rm x}xy{\rm y}y,并且我们知道其联合概率分布P(x,y)P({\rm x,y})P(x,y)。则可以用求和法则来计算P(x)P(x)P(x)
∀x∈x,P(x=x)=∑yP(x=x,y=y). \begin{gather} \forall x\in{\rm x},P({\rm x}=x)=\sum_y P({\rm x}=x,{\rm y}=y). \end{gather} xx,P(x=x)=yP(x=x,y=y).
而对连续性随机变量,我们用积分替代求和:
p(x)=∫p(x,y)dy. \begin{gather} p(x)=\int p(x,y)dy. \end{gather} p(x)=p(x,y)dy.

3.2 条件概率

在很多情况下,我们感兴趣的是某个事件在给定其他事件发生时出现的概率,称之为条件概率。

条件x=x{\rm x}=xx=x发生的情况下,y=y{\rm y=y}y=y发生的概率为:
P(y=y∣x=x)=P(y=y,x=x)P(x=x). \begin{gather} P({\rm y}=y\mid {\rm x}=x)=\frac{P({\rm y}=y,{\rm x}=x)}{P({\rm x}=x)}. \end{gather} P(y=yx=x)=P(x=x)P(y=y,x=x).
条件概率只在P(x=x)>0P({\rm x}=x)>0P(x=x)>0时有定义。我们不能计算给定在永远不会发生的事件上的条件概率。

3.3 条件概率的链式法则

任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式:
P(x(1),...,x(n))=P(x(1)∏i=2nP(x(1))∣x(1),...,x(i−1)). \begin{gather} P({\rm x}^{(1)},...,{\rm x}^{(n)})=P({\rm x}^{(1)}\prod^{n}_{i=2}P({\rm x}^{(1)})\mid {\rm x}^{(1)},...,{\rm x}^{(i-1)}). \end{gather} P(x(1),...,x(n))=P(x(1)i=2nP(x(1))x(1),...,x(i1)).
该规则被称为概率的链式法则乘法法则

3.4 贝叶斯定理

我们经常需要在已知P(y∣x)P({\rm y}\mid{\rm x})P(yx)时计算P(x∣y)P({\rm x}\mid{\rm y})P(xy)。如果还已知P(x)P({\rm x})P(x),可以用贝叶斯定理来实现这一目的:
P(x∣y)=P(x)P(y∣x)P(y). \begin{gather} P({\rm x}\mid{\rm y})=\frac{P({\rm x})P({\rm y\mid x})}{P({\rm y})}. \end{gather} P(xy)=P(y)P(x)P(yx).
注意到上面的公式中还出现了P(y)P({\rm y})P(y),我们可以通过P(y)=∑xP(y∣x)P(x)P({\rm y})=\sum_xP({\rm y\mid x})P(x)P(y)=xP(yx)P(x)来计算它,所以并不需要事先知道P(y)P({\rm y})P(y)

4 独立性和条件独立性

两个随机变量x{\rm x}xy{\rm y}y,如果它们的概率分布可以表示成两个因子的乘积形式,并且一个因子只包含x{\rm x}x,另一个因子只包含y{\rm y}y,我们就称这两个随机变量是相互独立的
∀x∈x,y∈y,p(x=x,y=y)=p(x=x)p(y=y). \begin{gather} \forall x\in{\rm x},y\in{\rm y},p({\rm x}=x,{\rm y}=y)=p({\rm x}=x)p({\rm y}=y). \end{gather} xx,yy,p(x=x,y=y)=p(x=x)p(y=y).
如果关于x{\rm x}xy{\rm y}y的条件概率分布对于z{\rm z}z的每一个值都可以写成乘积的形式,那么这两个随机变量x{\rm x}xy{\rm y}y在给定随机变量z{\rm 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). \begin{gather} \forall x\in{\rm x},y\in{\rm y},z\in{\rm z},p({\rm x}=x,{\rm y}=y \mid {\rm z}=z)=p({\rm x}=x \mid {\rm z}=z)p({\rm y}=y \mid {\rm z}=z). \end{gather} xx,yy,zz,p(x=x,y=yz=z)=p(x=xz=z)p(y=yz=z).
我们可以采用一种简化形式来表示独立性和条件独立性:x⊥y{\rm x}\bot {\rm y}xy表示x{\rm x}xy{\rm y}y相互独立,x⊥y∣z{\rm x}\bot {\rm y} \mid {\rm z}xyz表示x{\rm x}xy{\rm y}y在给定z{\rm z}z时条件独立。

5 数字特征

5.1 期望(expectation)

xxx由分布PPP产生,函数fff作用于xxx时,f(x)f(x)f(x)的平均值称为f(x)f(x)f(x)关于分布P(x)P({\rm x})P(x)的期望。对于离散型随机变量,期望可以通过求和得到:
Ex∼P[f(x)]=∑xP(x)f(x). \begin{gather} \mathbb{E}_{{\rm x}\sim P}[f(x)]=\sum_xP(x)f(x). \end{gather} ExP[f(x)]=xP(x)f(x).
连续型随机变量的期望可以通过求积分得到:
Ex∼P[f(x)]=∫p(x)f(x)dx. \begin{gather} \mathbb{E}_{{\rm x}\sim P}[f(x)]=\int p(x)f(x)dx. \end{gather} ExP[f(x)]=p(x)f(x)dx.
当概率分布在上下文中指明时,我们可以只写出期望作用的随机变量的名称来进行简化,例如Ex[f(x)]\mathbb{E}_{{\rm x}}[f(x)]Ex[f(x)]。如果期望作用的随机变量也很明确,我们可以完全不写脚标,就像E[f(x)]\mathbb{E}[f(x)]E[f(x)]。我们默认E[⋅]\mathbb{E}[\cdot]E[] 表示对方括号内的所有随机变量的值求平均。

5.2 方差(variance)

方差衡量的是当我们对xxx依据它的概率分布进行采样时,随机变量x{\rm x}x的函数值会呈现多大的差异:
Var(f(x))=E[(f(x)−E[f(x)])2]. \begin{gather} {\rm Var}(f(x))=\mathbb{E}[(f(x)-\mathbb{E}[f(x)])^2]. \end{gather} Var(f(x))=E[(f(x)E[f(x)])2].
方差的平方根被称为标准差

5.3 协方差(covariance)

协方差在某种意义上给出了两个变量线性相关性的强度以及这些变量的尺度:
Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])]. \begin{gather} {\rm Cov}(f(x),g(y))=\mathbb{E}[(f(x)-\mathbb{E}[f(x)])(g(y)-\mathbb{E}[g(y)])]. \end{gather} Cov(f(x),g(y))=E[(f(x)E[f(x)])(g(y)E[g(y)])].
协方差的绝对值如果很大则意味着变量值变化很大并且它们同时距离各自的均值很远。如果协方差是正的,那么两个变量都倾向于同时取得相对较大的值。如果协方差是负的,那么其中一个变量倾向于取得相对较大的值的同时,另一个变量倾向于取得相对较小的值,反之亦然。

协方差和相关性是有联系的,但实际上是不同的概念。它们是有联系的,因为两个变量如果相互独立那么它们的协方差为零,如果两个变量的协方差不为零那么它们一定是相关的。然而,独立性又是和协方差完全不同的性质。两个变量如果协方差为零,它们之间一定没有线性关系。独立性比零协方差的要求更强,因为独立性还排除了非线性的关系。两个变量相互依赖但具有零协方差是可能的。

随机向量x∈Rn\mathcal{x}\in\mathbb{R}^nxRn的协方差矩阵是一个n×nn\times nn×n的矩阵,并且满足:
Cov(x)i,j=Cov(xi,xj). \begin{gather} {\rm Cov}({\rm x})_{i,j}={\rm Cov({\rm x}_i,{\rm x}_j)}. \end{gather} Cov(x)i,j=Cov(xi,xj).
协方差矩阵的对角元素是方差:
Cov(xi,xi)=Var(xi). \begin{gather} {\rm Cov({\rm x}_i,{\rm x}_i)}={\rm Var}({\rm x}_i). \end{gather} Cov(xi,xi)=Var(xi).

6 常用概率分布

6.1 伯努利(Bernoulli)分布

伯努利分布也称两点分布或0-1分布,是最简单的离散型概率分布。它由单个参数ϕ∈[0,1]\phi\in[0,1]ϕ[0,1]控制,其中ϕ\phiϕ是随机变量等于1的概率。伯努利分布具有:
P(x=1)=ϕP(x=0)=1−ϕP(x=x)=ϕx(1−ϕ)1−xEx[x]=ϕVarx(x)=ϕ(1−ϕ) \begin{gather} P({\rm x}=1)=\phi\\ P({\rm x}=0)=1-\phi\\ P({\rm x}=x)=\phi^x(1-\phi)^{1-x}\\ \mathbb{E}{\rm _x[x]}=\phi\\ {\rm Var_x(x)}=\phi(1-\phi) \end{gather} P(x=1)=ϕP(x=0)=1ϕP(x=x)=ϕx(1ϕ)1xEx[x]=ϕVarx(x)=ϕ(1ϕ)

6.2 Multinoulli分布

Multinoulli分布也称作范畴分布或分类分布,是指在具有kkk个不同状态的单个离散型随机变量上的分布,其中kkk是一个有限值。Multinoulli分布由向量p∈[0,1]k−1p\in [0,1]^{k-1}p[0,1]k1参数化,其中每一个分量pip_ipi表示第iii个状态的概率。最后的第kkk个状态的概率可以通过1−1⊤p1-\mathbf{1}^\top p11p给出。Multinoulli分布经常用来表示对象分类的分布,所以我们很少假设状态111具有数值111之类的。因此,我们通常不需要去计算Multinoulli分布的随机变量的期望和方程。

Bernoulli 分布和Multinoulli 分布足够用来描述在它们领域内的任意分布。它们可以对能够将所有的状态进行枚举的离散型随机变量进行建模。当处理的是连续型随机变量时,会有不可数无限多的状态,所以任何通过少量参数描述的概率分布都必须在分布上加以严格的限制。

6.3 高斯分布

实数上最常用的分布是正态分布,也称为高斯分布:
N(x;μ,σ2)=12πσ2exp⁡(−12σ2(x−μ)2). \begin{gather} \mathcal{N}(x;\mu,\sigma^2)=\sqrt{\frac{1}{2\pi\sigma^2}}\exp{(-\frac{1}{2\sigma^2}(x-\mu)^2)}. \end{gather} N(x;μ,σ2)=2πσ21exp(2σ21(xμ)2).
若其中μ=0,σ=1\mu=0,\sigma =1μ=0,σ=1,则是标准正态分布。

正态分布由两个参数控制,μ∈R\mu \in\mathbb{R}μRσ∈(0,∞)\sigma\in(0,\infty)σ(0,)。参数μ\muμ给出了中心峰值的坐标,也是分布的均值:E[x]=μ\mathbb{E}[{\rm x}]=\muE[x]=μ。分布的标准差用σ\sigmaσ表示,方差用σ2\sigma^2σ2表示。

当需要对不同参数下的概率密度函数求值时,一种更高效的参数化分布的方式是使用参数β∈(0,∞)\beta\in(0,\infty)β(0,),来控制分布的精度:
N(x;μ,β−1)=β2πexp⁡(−12β(x−μ)2). \begin{gather} \mathcal{N}(x;\mu,\beta^{-1})=\sqrt{\frac{\beta}{2\pi}}\exp{(-\frac{1}{2}\beta (x-\mu)^2)}. \end{gather} N(x;μ,β1)=2πβexp(21β(xμ)2).
当我们缺乏关于某个实数上分布的先验知识而不知道该选择怎样的形式时,正态分布时默认的比较好的选择,因为:

第一,我们想要建模的很多分布的真实情况是比较接近正态分布的。中心极限定理(central limit theorem)说明很多独立随机变量的和近似服从正态分布。这意味着在实际中,很多复杂系统都可以被成功地建模成正态分布的噪声,即使系统可以被分解成一些更结构化的部分。

第二,在具有相同方差的所有可能的概率分布中,正态分布在实数上具有最大的不确定性。因此,我们可以认为正态分布是对模型加入的先验知识量最少的分布。

正态分布可以推广到Rn\mathbb{R}^nRn空间,这种情况下被称为多维正态分布(multivariatenormal distribution)。它的参数是一个正定对称矩阵Σ\boldsymbol \SigmaΣ
N(x,μ,Σ)=1(2π)ndet⁡(Σ)exp⁡(−12(x−μ)⊤)Σ−1(x−μ). \begin{gather} \mathcal{N}(\boldsymbol{x,\mu,\Sigma})=\sqrt{\frac{1}{(2\pi)^n\det{(\boldsymbol{\Sigma})}}}\exp{(-\frac{1}{2}(\boldsymbol{x-\mu})^\top)\boldsymbol{\Sigma}^{-1}(\boldsymbol{x-\mu})}. \end{gather} N(x,μ,Σ)=(2π)ndet(Σ)1exp(21(xμ))Σ1(xμ).
参数μ\boldsymbol \muμ仍然表示分布的均值,只是现在是向量值。参数Σ\boldsymbol \SigmaΣ给出了分布的协方差矩阵。类似地,当我们希望对很多不同参数下的概率密度函数多次求值时,可以使用一个精度矩阵β\boldsymbol{\beta}β来进行替换:
N(x,μ,β−1)=det⁡(β)(2π)nexp⁡(−12(x−μ)⊤)β(x−μ). \begin{gather} \mathcal{N}(\boldsymbol{x,\mu,\beta^{-1}})=\sqrt{\frac{\det{(\boldsymbol{\beta})}}{(2\pi)^n}}\exp{(-\frac{1}{2}(\boldsymbol{x-\mu})^\top)}\boldsymbol{\beta (\boldsymbol{x-\mu})}. \end{gather} N(x,μ,β1)=(2π)ndet(β)exp(21(xμ))β(xμ).
我们常常把协方差矩阵固定成一个对角阵。一个更简单的版本是各向同性(isotropic)高斯分布,它的协方差矩阵是一个标量乘以单位阵。

6.4 指数分布和Laplace分布

在深度学习中,我们经常会需要一个在x=0x=0x=0点处取得边界点(sharp point) 的分布。为了实现这一目的,我们可以使用指数分布(exponential distribution):
p(x;λ)=λ1x≥0exp⁡(−λx). \begin{gather} p(x;\lambda)=\lambda 1_{x\geq0}\exp{(-\lambda x)}. \end{gather} p(x;λ)=λ1x0exp(λx).
指数分布使用指示函数(indicator function)1x≥01_{x\geq0}1x0来使得当xxx取负值时的概率为零。

一个联系紧密的概率分布是Laplace 分布(Laplace distribution),它允许我们在任意一点μ\muμ处设置概率质量的峰值:
Laplace(x;μ,γ)=12γexp⁡(−∣x−μ∣γ). \begin{gather} {\rm Laplace}(x;\mu,\gamma)=\frac{1}{2\gamma}\exp{(-\frac{|x-\mu|}{\gamma})}. \end{gather} Laplace(x;μ,γ)=2γ1exp(γxμ).

6.5 Dirac分布和经验分布

在一些情况下,我们希望概率分布中的所有质量都集中在一个点上。这可以通过Dirac delta函数(Dirac delta function)δ(x)\delta(x)δ(x) 定义概率密度函数来实现:
p(x)=δ(x−μ). \begin{gather} p(x)=\delta(x-\mu). \end{gather} p(x)=δ(xμ).
Dirac delta 函数被定义成在除了0 以外的所有点的值都为0,但是积分为1。Dirac delta 函数不像普通函数一样对xxx的每一个值都有一个实数值的输出,它是一种不同类型的数学对象,被称为广义函数(generalized function),广义函数是依据积分性质定义的数学对象。我们可以把Dirac delta 函数想成一系列函数的极限点,这一系列函数把除0 以外的所有点的概率密度越变越小。

其数学定义为:

  • δ(x)\delta(x)δ(x)x≠0x\neq0x=0时为零,即δ(x)=0(x≠0)\delta(x)=0(x\neq0)δ(x)=0(x=0)
  • 满足归一化条件:∫−∞∞δ(x)dx=1\int_{-\infty}^{\infty}\delta(x)dx=1δ(x)dx=1
  • 对任意连续函数f(x)f(x)f(x),有∫−∞∞f(x)δ(x−a)dx=f(a)∫_{-∞}^{∞} f(x)δ(x - a) dx = f(a)f(x)δ(xa)dx=f(a)

通过把p(x)p(x)p(x)定义成δ\deltaδ函数左移−μ-\muμ个单位,我们得到了一个在x=μx=\mux=μ处具有无限窄也无限高的峰值的概率质量。

Dirac 分布经常作为经验分布(empirical distribution)的一个组成部分出现:
p^(x)=1m∑i=1mδ(x−x(i)). \begin{gather} \hat{p}(\boldsymbol{x})=\frac{1}{m}\sum^m_{i=1}\delta(\boldsymbol{x}-\boldsymbol{x}^{(i)}). \end{gather} p^(x)=m1i=1mδ(xx(i)).
经验分布将概率密度1m\frac{1}{m}m1赋给mmm个点x(1),...,x(i)\boldsymbol{x}^{(1)},...,\boldsymbol{x}^{(i)}x(1),...,x(i)中的每一个,这些点是给定的数据集或者采样的集合。只有在定义连续型随机变量的经验分布时,Dirac delta 函数才是必要的。Dirac delta函数允许将离散样本以连续形式表达,精确捕捉每个样本点的贡献,为后续分析(如密度估计、蒙特卡洛积分)提供数学便利,同时保持经验分布的离散本质。

对于离散型随机变量,情况更加简单:经验分布可以被定义成一个Multinoulli 分布,对于每一个可能的输入,其概率可以简单地设为在训练集上那个输入值的经验频率(empirical frequency)。

当我们在训练集上训练模型时,我们可以认为从这个训练集上得到的经验分布指明了我们采样来源的分布。关于经验分布另外一种重要的观点是,它是训练数据的似然最大的那个概率密度函数。

6.6 混合分布

通过组合一些简单的概率分布来定义新的概率分布也是很常见的。一种通用的组合方法是构造混合分布(mixture distribution)。混合分布由一些组件(component)分布构成。每次实验,样本是由哪个组件分布产生的取决于从一个Multinoulli 分布中采样的结果:
P(x)=∑iP(c=i)P)(x∣c=i). \begin{gather} P(\mathrm{x})=\sum_iP({\rm c}=i)P)(\mathrm{x\mid c}=i). \end{gather} P(x)=iP(c=i)P)(xc=i).
这里P(c)P({\rm c})P(c)是对各组件的一个Multinoulli 分布。

我们已经看过一个混合分布的例子了:实值变量的经验分布对于每一个训练实例来说,就是以Dirac 分布为组件的混合分布。

混合模型使我们能够一瞥以后会用到的一个非常重要的概念—— 潜变量(latent variable)。潜变量是我们不能直接观测到的随机变量。混合模型的组件标识变量c\mathrm{c}c就是其中一个例子。潜变量在联合分布中可能和x 有关,在这种情况下,P(x,c)=P(x∣c)P(c)P(\mathrm{x}, \mathrm{c})=P(\mathrm{x} \mid \mathrm{c}) P(\mathrm{c})P(x,c)=P(xc)P(c)

潜变量的分布P© 以及关联潜变量和观测变量的条件分布P(c)P(\mathrm{c})P(c),共同决定了分布P(x)P(\mathrm{x})P(x)的形状,尽管描述P(x)P(\mathrm{x})P(x)时可能并不需要潜变量。

一个非常强大且常见的混合模型是高斯混合模型(Gaussian Mixture Model),它的组件p(x∣c=i)p(\mathbf{x} \mid \mathrm{c}=i)p(xc=i)是高斯分布。每个组件都有各自的参数,均值μ(i)\boldsymbol{\mu}^{(i)}μ(i)和协方差矩阵Σ(i)\boldsymbol{\Sigma}^{(i)}Σ(i)。有一些混合可以有更多的限制。例如,协方差矩阵可以通过Σ(i)=Σ,∀i\boldsymbol{\Sigma}^{(i)}=\boldsymbol{\Sigma}, \forall iΣ(i)=Σ,i的形式在组件之间共享参数。和单个高斯分布一样,高斯混合模型有时会限制每个组件的协方差矩阵为对角的或者各向同性的(标量乘以单位矩阵)。

除了均值和协方差以外,高斯混合模型的参数指明了给每个组件 iii 的先验概率 ( prior probability)αi=P(c=i)\alpha_i=P(\mathrm{c}=i)αi=P(c=i) 。"先验"一词表明了在观测到x\mathbf{x}x之前传递给模型关于c\mathrm{c}c的信念。作为对比,P(c∣x)P(\mathrm{c} \mid x)P(cx) 是后验概率(posterior probability),因为它是在观测到x\mathrm{x}x之后进行计算的。高斯混合模型是概率密度的万能近似器(universal approximator ),在这种意义下,任何平滑的概率密度都可以用具有足够多组件的高斯混合模型以任意精度来逼近。

7 常用函数的性质

某些函数在处理概率分布时经常会出现,尤其是深度学习的模型中用到的概率分布。
其中一个函数是logistic sigmoid 函数:
σ(x)=11+exp⁡(−x) \begin{gather} \sigma(x)=\frac{1}{1+\exp (-x)} \end{gather} σ(x)=1+exp(x)1
logistic sigmoid函数通常用来产生 Bernoulli 分布中的参数ϕ\phiϕ,因为它的范围是 (0,1)(0,1)(0,1) ,处在ϕ\phiϕ的有效取值范围内。sigmoid函数在变量取绝对值非常大的正值或负值时会出现饱和(saturate)现象,意味着函数会变得很平,并且对输人的微小改变会变得不敏感。

另外一个经常遇到的函数是softplus函数:
ζ(x)=log⁡(1+exp⁡(x)). \begin{gather} \zeta(x)=\log (1+\exp (x)) . \end{gather} ζ(x)=log(1+exp(x)).
softplus函数可以用来产生正态分布的 β\betaβσ\sigmaσ 参数,因为它的范围是 (0,∞)(0, \infty)(0,) 。当处理包含 sigmoid 函数的表达式时它也经常出现。softplus 函数名来源于它是另外一个函数的平滑(或‘‘软化’’)形式,这个函数是:
x+∣=max⁡(0,x) \begin{gather} x^{+}|=\max (0, x) \end{gather} x+=max(0,x)
下面一些性质非常有用,你可能要记下来:
σ(x)=exp⁡(x)exp⁡(x)+exp⁡(0)ddxσ(x)=σ(x)(1−σ(x))1−σ(x)=σ(−x)log⁡σ(x)=−ζ(−x)ddxζ(x)=σ(x)∀x∈(0,1),σ−1(x)=log⁡(x1−x)∀x>0,ζ−1(x)=log⁡(exp⁡(x)−1)ζ(x)=∫−∞xσ(y)dyζ(x)−ζ(−x)=x \begin{gather} \sigma(x)=\frac{\exp (x)}{\exp (x)+\exp (0)}\\ \frac{d}{d x} \sigma(x)=\sigma(x)(1-\sigma(x)) \\ 1-\sigma(x)=\sigma(-x) \\ \log \sigma(x)=-\zeta(-x) \\ \frac{d}{d x} \zeta(x)=\sigma(x) \\ \forall x \in(0,1), \sigma^{-1}(x)=\log \left(\frac{x}{1-x}\right) \\ \forall x>0, \zeta^{-1}(x)=\log (\exp (x)-1) \\ \zeta(x)=\int_{-\infty}^x \sigma(y) d y \\ \zeta(x)-\zeta(-x)=x \end{gather} σ(x)=exp(x)+exp(0)exp(x)dxdσ(x)=σ(x)(1σ(x))1σ(x)=σ(x)logσ(x)=ζ(x)dxdζ(x)=σ(x)x(0,1),σ1(x)=log(1xx)x>0,ζ1(x)=log(exp(x)1)ζ(x)=xσ(y)dyζ(x)ζ(x)=x
函数 σ−1(x)\sigma^{-1}(x)σ1(x) 在统计学中被称为分对数(logit),但这个函数在机器学习中很少用到。
式(39)为函数名"softplus"提供了其他的正当理由。softplus 函数被设计成正部函数(positive part function)的平滑版本,这个正部函数是指 x+=max⁡{0,x}x^{+}=\max \{0, x\}x+=max{0,x} 。与正部函数相对的是负部函数(negative part function)x−=max⁡{0,−x}x^{-}=\max \{0,-x\}x=max{0,x} 。为了获得类似负部函数的一个平滑函数,我们可以使用 ζ(−x)\zeta(-x)ζ(x) 。就像 xxx 可以用它的正部和负部通过等式 x+−x−=xx^{+}-x^{-}=xx+x=x 恢复一样,我们也可以用同样的方式对 ζ(x)\zeta(x)ζ(x)ζ(−x)\zeta(-x)ζ(x)进行操作,就像式(39)中那样。

8 连续型随机变量的技术细节

8.1 测度论

连续型随机变量和概率密度函数的深入理解需要用到数学分支测度论(measure theory)的相关内容来扩展概率论。

连续型向量值随机变量xxx落在某个集合 S\mathbb{S}S 中的概率是通过 p(x)p(x)p(x) 对集合 S\mathbb{S}S 积分得到的。对于集合 S\mathbb{S}S 的一些选择可能会引起悖论。例如,构造两个集合 S1\mathbb{S}_1S1S2\mathbb{S}_2S2 使得 p(x∈S1)+p(x∈S2)>1p\left(\boldsymbol{x} \in \mathbb{S}_1\right)+p\left(\boldsymbol{x} \in \mathbb{S}_2\right)>1p(xS1)+p(xS2)>1 并且 S1∩S2=∅\mathbb{S}_1 \cap \mathbb{S}_2=\emptysetS1S2= 是可能的。这些集合通常是大量使用了实数的无限精度来构造的,例如通过构造分形形状(fractal-shaped)的集合或者是通过有理数相关集合的变换定义的集合。测度论的一个重要贡献就是提供了一些集合的特征使得我们在计算概率时不会遇到悖论。

对于机器学习来说,测度论更多的是用来描述那些适用于 Rn\mathbb{R}^nRn 上的大多数点,却不适用于一些边界情况的定理。测度论提供了一种严格的方式来描述那些非常微小的点集。这种集合被称为"零测度(measure zero)"的。我们可以认为零测度集在我们的度量空间中不占有任何的体积。例如,在 R2\mathbb{R}^2R2 空间中,一条直线的测度为零,而填充的多边形具有正的测度。类似的,一个单独的点的测度为零。可数多个零测度集的并集仍然是零测度的(所以所有有理数构成的集合测度为零)。

另外一个有用的测度论中的术语是“ 几乎处处(almost everywhere)’’。某个性质如果是几乎处处都成立的,那么它在整个空间中除了一个测度为零的集合以外都是成立的。因为这些例外只在空间中占有极其微小的量,它们在多数应用中都可以被放心地忽略。概率论中的一些重要结果对于离散值成立但对于连续值只能是‘‘几乎处处’’ 成立。

8.2 相关的连续型随机变量

连续型随机变量的另一技术细节,涉及到处理那种相互之间有确定性函数关系的连续型变量。假设我们有两个随机变量 x\mathbf{x}xy\mathbf{y}y 满足 y=g(x)\boldsymbol{y}=g(\boldsymbol{x})y=g(x) ,其中 ggg 是可逆的,连续可微的函数。可能有人会想 py(y)=px(g−1(y))p_y(\boldsymbol{y})=p_x\left(g^{-1}(\boldsymbol{y})\right)py(y)=px(g1(y)) 。但实际上这并不对。

举一个简单的例子,假设我们有两个标量值随机变量x\mathrm{x}xy\mathrm{y}y,并且满足 y=x2\mathrm{y}=\frac{\mathrm{x}}{2}y=2x以及 x∼U(0,1)\mathrm{x} \sim U(0,1)xU(0,1) 。如果我们使用 py(y)=px(2y)p_y(y)=p_x(2 y)py(y)=px(2y) ,那么 pyp_ypy 除了区间 [0,12]\left[0, \frac{1}{2}\right][0,21] 以外都为 0 ,并且在这个区间上的值为 1 。这意味着:
∫py(y)dy=12 \begin{gather} \int p_y(y) d y=\frac{1}{2} \end{gather} py(y)dy=21
而这违背了概率密度的定义(积分为 1 )。这个常见错误之所以错是因为它没有考虑到引入函数 ggg 后造成的空间变形。 x\boldsymbol{x}x 落在无穷小的体积为 δx\delta \boldsymbol{x}δx 的区域内的概率为 p(x)δxp(\boldsymbol{x}) \delta \boldsymbol{x}p(x)δx 。因为 ggg 可能会扩展或者压缩空间,在 x\boldsymbol{x}x 空间内的包围着 x\boldsymbol{x}x 的无穷小体积在 yyy 空间中可能有不同的体积。

为了看出如何改正这个问题,我们回到标量值的情况。我们需要保持下面这个性质:
∣py(g(x))dy∣=∣px(x)dx∣. \begin{gather} \left|p_y(g(x)) d y\right|=\left|p_x(x) d x\right|. \end{gather} py(g(x))dy=px(x)dx.
求解上式可得:
py(y)=px(g−1(y))∣∂x∂y∣. \begin{aligned} & p_y(y)=p_x\left(g^{-1}(y)\right)\left|\frac{\partial x}{\partial y}\right|. \end{aligned} py(y)=px(g1(y))yx.

或者等价地:
px(x)=py(g(x))∣∂g(x)∂x∣. \begin{aligned} & p_x(x)=p_y(g(x))\left|\frac{\partial g(x)}{\partial x}\right| . \end{aligned} px(x)=py(g(x))xg(x).
高维空间中,微分运算扩展为 Jacobian 矩阵(Jacobian matrix)的行列式——矩阵的每个元素为 Ji,j=∂xi∂yjJ_{i, j}=\frac{\partial x_i}{\partial y_j}Ji,j=yjxi 。因此,对于实值向量 x\boldsymbol{x}xy\boldsymbol{y}y
px(x)=py(g(x))∣det⁡(∂g(x)∂x)∣. p_x(\boldsymbol{x})=p_y(g(\boldsymbol{x}))\left|\operatorname{det}\left(\frac{\partial g(\boldsymbol{x})}{\partial \boldsymbol{x}}\right)\right| . px(x)=py(g(x))det(xg(x)).

9 信息论

在机器学习中,也可以把信息论应用于连续型变量,此时某些消息长度的解释不再适用。信息论是电子工程和计算机科学中许多领域的基础。在机器学习中主要使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。

信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。消息说:"今天早上太阳升起"信息量是如此之少以至于没有必要发送,但一条消息说:"今天早上有日食"信息量就很丰富。

我们想要通过这种基本想法来量化信息。特别地,

  • 非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。

  • 较不可能发生的事件具有更高的信息量。

  • 独立事件应具有增量的信息。例如,投掷的硬币两次正面朝上传递的信息量,应该是投掷一次硬币正面朝上的信息量的两倍。

为了满足上述三个性质,我们定义一个事件 x=x\mathrm{x}=xx=x 的自信息(self-information)为

I(x)=−log⁡P(x) \begin{gather} I(x)=-\log P(x) \end{gather} I(x)=logP(x)

在机器学习中,我们一般用 log⁡\loglog 来表示自然对数,其底数为 eee 。因此我们定义的 I(x)I(x)I(x) 单位是奈特(nats)。一奈特是以 1e\frac{1}{e}e1 的概率观测到一个事件时获得的信息量。其他的学科中使用底数为2的对数,单位是比特(bit)或者香农(shannons);通过比特度量的信息只是通过奈特度量信息的常数倍。

x\mathrm{x}x是连续的,我们使用类似的关于信息的定义,但有些来源于离散形式的性质就丢失了。例如,一个具有单位密度的事件信息量仍然为 0 ,但是不能保证它一定发生。

自信息只处理单个的输出。我们可以用香农熵(Shannon entropy)来对整个概率分布中的不确定性总量进行量化:

H(x)=Ex∼P[I(x)]=−Ex∼P[log⁡P(x)], \begin{gather} H(\mathrm{x})=\mathbb{E}_{\mathrm{x} \sim P}[I(x)]=-\mathbb{E}_{\mathrm{x} \sim P}[\log P(x)], \end{gather} H(x)=ExP[I(x)]=ExP[logP(x)],

也记作 H(P)H(P)H(P) 。换言之,一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。它给出了对依据概率分布 PPP 生成的符号进行编码所需的比特数在平均意义上的下界(当对数底数不是2时,单位将有所不同)。那些接近确定性的分布(输出几乎可以确定) 具有较低的熵;那些接近均匀分布的概率分布具有较高的熵。当x\mathrm{x}x是连续的,香农熵被称为微分熵(differential entropy)。

如果我们对于同一个随机变量x\mathrm{x}x有两个单独的概率分布 P(x)P(\mathrm{x})P(x)Q(x)Q(\mathrm{x})Q(x) ,我们可以使用KL散度(Kullback-Leibler(KL)divergence)来衡量这两个分布的差异:

DKL(P∥Q)=Ex∼P[log⁡P(x)Q(x)]=Ex∼P[log⁡P(x)−log⁡Q(x)]. \begin{gather} D_{\mathrm{KL}}(P \| Q)=\mathbb{E}_{\mathrm{x} \sim P}\left[\log \frac{P(x)}{Q(x)}\right]=\mathbb{E}_{\mathrm{x} \sim P}[\log P(x)-\log Q(x)]. \end{gather} DKL(PQ)=ExP[logQ(x)P(x)]=ExP[logP(x)logQ(x)].

在离散型变量的情况下,KL散度衡量的是,当我们使用一种被设计成能够使得概率分布 QQQ 产生的消息的长度最小的编码,发送包含由概率分布 PPP 产生的符号的消息时,所需要的额外信息量(如果我们使用底数为 2 的对数时,信息量用比特衡量,但在机器学习中,我们通常用奈特和自然对数。)

KL 散度有很多有用的性质,最重要的是它是非负的。KL 散度为0当且仅当 PPPQQQ 在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是"几乎处处"相同的。因为 KL 散度是非负的并且衡量的是两个分布之间的差异,它经常被用作分布之间的某种距离。然而,它并不是真的距离因为它不是对称的:对于某些 PPPQ,DKL(P∥Q)≠DKL(Q∥P)Q, D_{\mathrm{KL}}(P \| Q) \neq D_{\mathrm{KL}}(Q \| P)Q,DKL(PQ)=DKL(QP) 。这种非对称性意味着选择 DKL(P∥Q)D_{\mathrm{KL}}(P \| Q)DKL(PQ) 还是DKL(Q∥P)D_{\mathrm{KL}}(Q \| P)DKL(QP)影响很大。

一个和KL散度密切联系的量是交叉熵(cross-entropy)H(P,Q)=H(P)+DKL(P∥Q)H(P, Q)=H(P)+D_{\mathrm{KL}}(P \| Q)H(P,Q)=H(P)+DKL(PQ) ,它和KL散度很像但是缺少左边一项:

H(P,Q)=−Ex∼Plog⁡Q(x). \begin{gather} H(P, Q)=-\mathbb{E}_{\mathbf{x} \sim P} \log Q(x) . \end{gather} H(P,Q)=ExPlogQ(x).

针对 QQQ 最小化交叉摘等价于最小化 KL 散度,因为 QQQ 并不参与被省略的那一项。
当我们计算这些量时,经常会遇到 0log⁡00 \log 00log0 这个表达式。按照惯例,在信息论中,我们将这个表达式处理为 lim⁡x→0xlog⁡x=0\lim _{x \rightarrow 0} x \log x=0limx0xlogx=0

10 结构化概率模型

机器学习的算法经常会涉及到在非常多的随机变量上的概率分布。通常,这些概率分布涉及到的直接相互作用都是介于非常少的变量之间的。使用单个函数来描述整个联合概率分布是非常低效的(无论是计算上还是统计上)。

我们可以把概率分布分解成许多因子的乘积形式,而不是使用单一的函数来表示概率分布。例如,假设我们有三个随机变量 a,b\mathrm{a}, \mathrm{b}a,bc\mathrm{c}c,并且a\mathrm{a}a影响b\mathrm{b}b的取值,b\mathrm{b}b影响c\mathrm{c}c的取值,但是a\mathrm{a}ac\mathrm{c}c在给定b\mathrm{b}b时是条件独立的。我们可以把全部三个变量的概率分布重新表示为两个变量的概率分布的连乘形式:

p(a,b,c)=p(a)p(b∣a)p(c∣b). \begin{gather} p(\mathrm{a}, \mathrm{b}, \mathrm{c})=p(\mathrm{a}) p(\mathrm{b} \mid \mathrm{a}) p(\mathrm{c} \mid \mathrm{b}) . \end{gather} p(a,b,c)=p(a)p(ba)p(cb).

这种分解可以极大地减少用来描述一个分布的参数数量。每个因子使用的参数数目是它的变量数目的指数倍。这意味着,如果我们能够找到一种使每个因子分布具有更少变量的分解方法,我们就能极大地降低表示联合分布的成本。

我们可以用图来描述这种分解。这里我们使用的是图论中的"图"的概念:由一些可以通过边互相连接的顶点的集合构成。当我们用图来表示这种概率分布的分解,我们把它称为结构化概率模型(structured probabilistic model)或者图模型 (graphical model)。

有两种主要的结构化概率模型:有向的和无向的。两种图模型都使用图 G\mathcal{G}G ,其中图的每个节点对应着一个随机变量,连接两个随机变量的边意味着概率分布可以表示成这两个随机变量之间的直接作用。

有向(directed)模型使用带有有向边的图,它们用条件概率分布来表示分解,就像上面的例子。特别地,有向模型对于分布中的每一个随机变量 xix_ixi 都包含着一个影响因子,这个组成 xi\mathrm{x}_ixi 条件概率的影响因子被称为 xi\mathrm{x}_ixi 的父节点,记为 PaG(xi)P a_{\mathcal{G}}\left(\mathrm{x}_i\right)PaG(xi)

p(x)=∏ip(xi∣PaG(xi)). \begin{gather} p(\mathrm{x})=\prod_i p\left(\mathrm{x}_i \mid P a_{\mathcal{G}}\left(\mathrm{x}_i\right)\right) . \end{gather} p(x)=ip(xiPaG(xi)).

无向(undirected)模型使用带有无向边的图,它们将分解表示成一组函数;不像有向模型那样,这些函数通常不是任何类型的概率分布。 G\mathcal{G}G 中任何满足两两之间有边连接的顶点的集合被称为团。无向模型中的每个团 C(i)\mathcal{C}^{(i)}C(i) 都伴随着一个因子 ϕ(i)(C(i))\phi^{(i)}\left(\mathcal{C}^{(i)}\right)ϕ(i)(C(i)) 。这些因子仅仅是函数,并不是概率分布。每个因子的输出都必须是非负的,但是并没有像概率分布中那样要求因子的和或者积分为1。
随机变量的联合概率与所有这些因子的乘积成比例(proportional)——这意味着因子的值越大则可能性越大。当然,不能保证这种乘积的求和为 1 。所以我们需要除以一个归一化常数 ZZZ 来得到归一化的概率分布,归一化常数 ZZZ 被定义为 ϕ\phiϕ 函数乘积的所有状态的求和或积分。概率分布为:
p(x)=1Z∏iϕ(i)(C(i)). \begin{gather} p(\mathrm{x})=\frac{1}{Z} \prod_i \phi^{(i)}\left(\mathcal{C}^{(i)}\right) . \end{gather} p(x)=Z1iϕ(i)(C(i)).

请记住,这些图模型表示的分解仅仅是描述概率分布的一种语言。它们不是互相排斥的概率分布族。有向或者无向不是概率分布的特性;它是概率分布的一种特殊描述(description)所具有的特性,而任何概率分布都可以用这两种方式进行描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值