深度学习架构与实践
上QQ阅读APP看书,第一时间看更新

2.2 概率论与信息论

概率论是基于结果不确定性进行统计分析的一门数学科学。典型的随机试验如抛硬币、掷骰子、抽扑克牌等都是概率问题。

2.2.1 随机试验、频率与概率、随机变量

在概率论中经常提到随机(Random)和随机试验(Random Experiment),这里所指的随机和随机试验即我们通常所说的非人为刻意造成的某些结果的情况或试验。满足以下三个条件:

1)试验可以在相同的条件下重复进行。

2)试验结果不止一个,并且可以明确指出或说明试验的全部可能结果是什么。

3)每次试验会出现哪一个结果,事先不能确定。

同时满足以上三个特点的试验称为随机试验。

概率论中经常听到频率(Frequency)或概率(Probability),它们有时都用来描述事件发生的多少。生活中经常有人混淆,但它们的定义有着严格的区别。频率,是单位时间内某事件重复发生的次数。例如,投掷骰子试验,进行n次投掷试验,出现“6点”的次数为n6,称比值n6/n为事件A发生的频率。概率,它反映随机事件出现的可能性大小的量度,是事物的固有属性。随机事件是指在相同的条件下,可能出现也可能不出现的事件。例如,从一批有正品和次品的商品中随意抽取一件,“抽得的是正品”就是一个随机事件。假设对某一随机现象进行了n次试验与观察,其中A事件出现了m次,即其出现的频率为m/n。经过大量反复试验,常有m/n越来越接近于某个确定的常数。该常数即为事件A出现的概率,常用P(A)表示。严格的定义上,概率具有非负性(对于每个事件A,有P(A)≥0)、规范性(对于必然事件S,有P(S)=1)、可加性(设A1,A2,…,An是两两互不相容的事件,即对AiAjφ,ij i,j=1,2,…,n,有P(A1A2∪…∪An)=P(A1)+P(A2)+…+P(An))。当某一事件的频率试验次数增加到无穷次时,频率接近于概率。

为了使随机试验的结果更容易描述和表达,需要进行数值化,而随机变量(Random Variable)就是随机事件的数值表现,它可以随机地取不同值的变量,随机事件数量化的好处是可以用数学分析的方法来研究随机现象。例如,生育男孩和女孩,我们可以规定男孩为1,女孩为0,这里1和0为随机变量,从而实现了随机事件的数量表现。这里所指的性别问题是离散的,但自然界不全是离散的,也存在连续的,例如人类的身高、体重。

2.2.2 随机变量的分布情况

前面了解了随机变量的定义,那么我们该如何描述随机变量的分布情况?随机变量可以分为离散型随机变量和连续型随机变量。

对于离散型随机变量,随机变量可能取的值是有限个或可列有限个。随机变量采用分布律(Distribution Discipline)描述其分布情况。

离散型随机变量X所有可能的取值为xk(k=1,2,…),X取各个可能值的概率,即事件{X=xk}的概率为

式(2.60)称为随机变量X的分布律。一维随机变量分布律也可用表格的形式来表示,见表2-1。

表2-1 一维随机变量分布律

由此定义可知离散型随机变量的分布函数为

式中,P{X=xk}=pkk=1,2,3…为离散型随机变量X的分布律。

对于连续型随机变量其不能像离散型随机变量一一列举出来。事实上,为了更好地观察随机变量的分布情况,引入了概率密度函数(Probability Density Function),则连续型随机变量的分布函数(Distribution Function)为

式中,f(x)是非负可积函数,则称X为连续型随机变量,称f(x)为X的概率密度函数,简称概率密度,记为Xf(x)。

f(x)为某一随机变量X的概率密度的充要条件是:f(x)≥0,且

2.2.3 二维随机变量

一般地,设E是一个随机试验,它的样本空间是S={e},设X=X(e)和Y=Y(e)是定义在S上的随机变量,由它们构成的一个向量(X,Y),叫作二维随机向量或二维随机变量(Two-dimensional Random Variable)。

设(X,Y)是二维随机变量,对于任意实数xy,二元函数:

称为二维随机变量(X,Y)的分布函数,或称为随机变量XY的联合分布函数(Joint Distribution Function)。

(1)二维随机变量同样可以分为离散型和连续型

如果二维随机变量(X,Y)只能取有限对值或可列对值(x1,y1),(x2,y2),…,(xn,yn),则称(X,Y)为二维离散型随机变量。

为(X,Y)的概率分布或联合分布,记为(X,Y)~pij,联合分布常用矩阵形式(见表2-2)或表格形式(见表2-3)表示。

表2-2 矩阵形式的联合分布

表2-3 表格形式的联合分布

连续型的分布情况可用联合分布函数和联合概率密度表示,如下:

与一维随机变量相似,对于二维随机变量(X,Y)的分布函数F(X,Y),如果存在非负可积函数f(x,y)使对于任意xy

则称(X,Y)是连续型的二维随机变量,函数f(x,y)称为二维随机变量(x,y)的概率密度,或称为随机变量XY的联合概率密度。

(2)边缘分布

我们已知二维随机变量的联合分布概率,但是我们想要了解其中一个子集的概率时,就需要用到边缘概率分布(Marginal Probability Distribution)。

对于二维随机变量,我们称

为关于X的边缘分布函数。

对于离散型随机变量

边缘概率的名称来源于人们计算时习惯于将其写于表格边缘,观察表2-3的二维随机变量的联合分布律,将每一行求和写于右边的纸边缘,将每一列求和写于最下边的纸边缘。

对于连续型随机变量我们要用积分代替求和:

(3)条件分布

通常,我们考虑在事件{Y=yj}已发生的条件下事件{X=xi}发生的概率,也就是来求事件:

的概率,由条件概率公式可得

这里设P{Y=yj}>0,我们将其称为Y=yj条件下随机变量X的条件分布律。同理,对于固定的i,若P{X=xi}>0,则称

为在X=xi条件下Y的条件分布律。

(4)古典概率计算中与条件概率有关的三个重要的公式

乘法公式(Multiplication):

全概率公式(Formula of Holohedral Probability):

贝叶斯公式(Bayes Formula):

(5)独立性

F(x,y)及FX(x)、FY(y)分别是二维随机变量(X,Y)的分布函数及边缘分布函数,若对于所有x,y有:

则称随机变量XY是相互独立的。

2.2.4 期望、方差、协方差、相关系数

期望(Expectation)就是我们通常所说的均值,对于离散型随机变量X,设其分布律为

绝对收敛,则称的和为随机变量X的数学期望,记为E(X)。

对于连续型随机变量X,设其概率密度函数为f(x),若积分

绝对收敛,则称积分的值为随机变量X的数学期望,记为E(X)。

除了期望,有时我们也需要研究随机变量与其均值的偏离程度,所以我们需要用方差(Variance)度量其偏离程度。

X是一个随机变量,若E{[X-E(X)]2}存在,则称

X的方差,记为D(X)或Var(x)。在应用上还引入,记为σ(X),称为标准差(Standard Deviation)。

由方差的性质可证明:若XY相互独立,则E{[X-E(X)][Y-E(Y)]}=0,当E{[X-E(X)][Y-E(Y)]}≠0时,XY不相互独立,即它们之间存在一定的关系。

我们称E{[X-E(X)][Y-E(Y)]}为随机变量XY的协方差(Covariance),即

称为随机变量的相关系数(Correlation)。

2.2.5 常用的概率分布

(1)伯努利分布

伯努利(Bernoulli)分布是一个离散型概率分布,是只有两种可能结果的单次随机试验,又名两点分布或0-1分布。伯努利分布中随机变量的X只取0和1两个值,并且P(x=1)=φ,其性质如下:

(2)多项式分布

二项分布的典型例子是扔硬币,硬币正面朝上概率为p,重复扔n次硬币,k次为正面的概率即为一个二项分布概率。把二项分布公式推广至多种状态,就得到了多项式分布。

多项式分布(Multinoulli Distribution)是指kk小于无穷大)个不同状态的单个离散型随机变量结果可取不同的概率,其中k是一个有限值。第k个结果对应的概率为pi,这里0≤pi≤1,且

(3)高斯分布

高斯分布(Gaussian Distribution)也叫正态分布(Normal Distribution),其概率密度函数为

若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。其中,期望值μ决定了其分布位置,标准差σ决定了分布的幅度。当μ=0,σ=1时的正态分布是标准正态分布,标准正态分布的函数图像如图2-2所示。

图2-2 标准正态分布的函数图像

在自然现象和社会现象中,大量随机变量都服从或近似服从正态分布,例如,一个城市的成年女性的身高、某零件长度的测量误差、海洋波浪的高度、半导体器件中的热噪声电流或电压等都服从正态分布。正态随机变量在概率论与数理统计的理论研究和实际应用中起着至关重要的作用。

多维正态分布的参数是一个正定对称矩阵Σ

式中,参数μ表示分布的均值;参数Σ为分布的协方差矩阵。

协方差矩阵(Covariance Matrix),设X=(X1,X2,…,XN)Tn维随机变量,称矩阵

n维随机变量X的协方差矩阵,也记为D(X),其中:

X的分量XiXj的协方差。

(4)指数分布和拉普拉斯分布

在深度学习中,我们经常会需要一个在x=0点处取得边界点(Sharp Point)的分布。为了实现这一目的,我们可以使用指数分布(Exponential Distribution),这是描述泊松过程中的事件之间的时间的概率分布,即事件以恒定平均速率连续且独立地发生的过程。若连续型随机变量X的概率密度为

式中,θ>0为常数,称X服从参数为θ的指数分布。

一个联系紧密的概率分布是拉普拉斯分布(Laplace Distribution),它允许我们在任意一点μ处设置概率质量的峰值,随机变量X的概率密度为

式中,λμ为常数,且λ>0,则称ε服从参数为λμ的拉普拉斯分布。

(5)狄拉克分布和经验分布

在一些情况下,我们希望概率分布中的所有质量都集中在一个点上。这可以通过狄拉克函数(Dirac Delta Function)δ(x)定义概率密度函数来实现:

狄拉克分布的概率密度:

狄拉克分布经常作为经验分布(Empirical Distribution)的一个组成部分出现:

经验分布将概率密度赋给m个点x(1),x(2),…,x(m)中的每一个,这些点是给定的数据集或者采样的集合。只有在定义连续型随机变量的经验分布时,狄拉克函数才是必要的。对于离散型随机变量,情况更加简单:经验分布可以被定义成一个Multinoulli分布,对于每一个可能的输入,其概率可以简单地设为在训练集上那个输入值的经验频率(Empirical Frequency)。

(6)分布的混合

在实际应用中经常会遇到混合概率模型,它是将几种不同模型组合而成的一种模型。一种通用的组合方法是构造混合分布(Mixture Distribution):

这里P(c)是对各组件的一个Multinoulli分布。简单地说就是将多个概率密度按P(c)加权求和后的新的概率密度函数构成混合分布。

一个非常强大且常见的混合模型是高斯混合模型(Gaussian Mixture Model),它的组件p(x|c=i)是高斯分布。为什么是高斯混合模型,而不是其他模型,因为从中心极限定理可知,只要K足够大,模型足够复杂,样本量足够多,每一块小区域就可以用高斯分布来描述。而且高斯函数具有良好的计算性能,其高斯混合模型被广泛地应用。每个组件都有各自的参数,如均值μ(i)和协方差矩阵Σ(i)。有些混合可以有更多的限制。例如,协方差矩阵可以通过Σ(i)=Σ,∀i的形式在组件之间共享参数。和单个高斯分布一样,高斯混合模型有时会限制每个组件的协方差矩阵为对角的或者各向同性的(标量乘以单位矩阵)。

2.2.6 常用函数的有用性质

某些函数在处理概率分布时经常会出现,尤其是深度学习的模型中用到的概率分布。其中一个函数是logistic函数(或称为Sigmoid函数):

式中,变量x的取值范围是-∞~+∞;σ(x)的范围是(0,1)。

logistic函数通常用来产生伯努利分布中的Φ,因为它的范围是(0,1),处在Φ的有效取值范围内。图2-3给出了logistic函数的图示。

图2-3 logistic函数

在变量取绝对值非常大的正值或负值时,Sigmoid函数会出现饱和(Saturate)现象,函数会变得很平,并且对输入的微小改变变得不敏感。另外一个经常遇到的函数是Softplus函数,即

Softplus函数可以用来产生正态分布σ参数,因为它的范围是(0,+∞)。当处理包含Sigmoid函数的表达式时,它也经常出现。Softplus函数名来源于它是另外一个函数的平滑(或“软化”)形式,这个函数是

图2-4给出了Softplus函数的图示。

图2-4 Softplus函数

下面这些性质非常有用。

Softplus函数被设计成正部函数(Positive Part Function)的平滑版本,这个正部函数是指x+=max(0,x)。与正部函数相对的是负部函数(Negative Part Function),x-=max(0,-x)。为了获得类似负部函数的一个平滑函数,我们可以使用ζ(-x)。就像x可以用它的正部和负部通过等式x+-x-=x恢复一样,我们也可以用同样的方式对ζ(x)和ζ(-x)进行操作,就像式ζ(x)(-x)=x中那样。

2.2.7 连续型变量的技术细节

连续型随机变量和概率密度函数的深入理解需要用到数学分支测度论(Measure Theory)的相关内容来扩展概率论。测度论超出了本书的范畴,但我们可以简要介绍一些测度论用来解决的问题。

对于本书相关的应用,测度论更多的是用来描述那些适用于Rnn维空间)上的多数点,却不适用于一些边界情况的定理,测度论提供了一种严格的方式来描述那些非常微小的点集,这种集合被称为“零测度(Measure Zero)”。我们再给出这个概念的正式定义,然而,直观地理解这个概念是有用的,可以认为零测度集在我们的度量空间中不占有任何的体积(或面积)。例如在R2空间中,一个点或一条直线的测度为零,而填充的多边形具有正的测度。可多个零测度的集仍然是零测度的,所以,所有有理数构成的集合的测度为零。

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

相互之间有确定性函数关系的连续型变量是怎么处理的呢?这是连续性随机变量的另一技术细节所涉及的。假设有两个随机变量xy满足y=g(x),其中g是可逆的、连续可微的函数。那么Py(y)=Px(g-1(y))是否成立呢?

举个简单的例子,假设有两个标量值随机变量xy,并且满足以及xU(0,1)。如果我们使用py(y)=px(2y),那么py除了区间以外都为0,并且在这个区间上为1。这意味着:

而这违背了概率密度积分为1的要求。这是由于它没有考虑到引入函数g后造成的空间变形。回忆一下,x落在无穷小的体积为δx的区域内的概率为p(x)δx。因为g可能会扩展或者压缩空间,在x空间内包围着x的无穷小体积在y空间中可能有不同的体积[15]

为了看出如何改正这个问题,我们回到标量值的情况。需要保持下面这个性质:

求解式(2.109),我们得到

或者等价地,

在高维空间中,微分运算扩展为雅克比矩阵(Jacobian Matrix)的行列式——矩阵的每一个元素为。因此,对于实值向量xy,有

2.2.8 信息论

1948年,美国科学家香农(C. E.Shannon)发表了题为《通信的数学理论》的学术论文,宣告了信息论的诞生。主要研究信息的测度、信道容量、信息率失真函数。它最初被发明是用来研究在一个含有噪声的信道上用离散的字母来发送消息,例如通过无线电传输来通信。这里主要使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。

信息论的基本想法是消息所表达的事件越不可能发生,越不可预测,就会越使人感到惊讶和意外,信息量就越大。例如“今天下流星雨”这条消息比“今天下雨”这条消息包含更多的信息。前者的发生概率要小于后者,所以更使人感到惊讶和意外。

我们定义一个事件X=x的自信息量为

这里用log来表示自然对数,其底数为e,所以I(x)的单位是奈特(nat)。当然也有其他文献中使用底数为2的对数,单位是比特(bit)。

当信息源作为整体时,我们定义信息源各个消息的自信息量的数学期望(即概率加权的统计平均值)为信息源的平均信息量,称为香农熵(Shannon Entropy):

也就是说当x是离散值时,

x是连续值时,

如果对于同一个随机变量x有两个单独的概率分布P(x)和Q(x),可以使用KL散度[Kullback-Leibler(KL)Divergence]也叫作相对熵(Relative Entropy)来衡量这两个分布的差异:

在离散型变量的情况下,KL散度衡量的是,当我们使用一种被设计成能够使得概率分布Q产生的消息的长度最小的编码,发送包含由概率分布P产生的符合的消息时,所需要的额外信息量。

KL散度的特点是它是非负的,只有当两个随机分布Q(x)和P(x)相同时,其值为0。当两个随机分布略有差异时,其值就会大于0。其证明利用了负对数函数(-lnx)是严格的凸函数。这种特点意味着选择DKLPQ)还是DKLQP)具有很大的影响。

一个和KL散度密切联系的量是交叉熵(Cross-entropy),即H(P,Q)=H(p)+DKL(PQ),它和KL散度很像,但是缺少左边一项:

交叉熵可在神经网络(机器学习)中作为损失函数,P表示真实标记的分布,Q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量PQ的相似性。交叉熵作为损失函数还有一个好处是使用Sigmoid函数在梯度下降时能避免均方误差损失函数学习率降低的问题,因为学习率可以被输出的误差所控制[16]

2.2.9 结构化概率模型

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

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

结构化概率模型为随机变量之间的直接作用提供了一个正式的建模框架。这种方式大大减少了模型的参数个数,以致于模型只需要更少的数据来进行有效的估计。这些更小的模型大大减小了在模型存储、模型推断以及从模型中采样时的计算开销[17]

可以用图来描述这种分解,这种图称为结构化概率模型(Structured Probabilistic Model)或者图模型(Graphical Model)。有两种主要的结构化概率模型:有向的和无向的[15]

有向(Directed)模型使用带有有向边的图,它们用条件概率分布来表示分解,就像上面的例子。特别地,有向模型对于分布中的每一个随机变量xi都包含着一个影响因子,这个组成xi条件概率的影响因子被称为xi的父节点,记为Pag(xi)。

图2-5给出了一个有向图的例子以及它表示的概率分布的分解。

其用公式表示为

无向(Undirected)模型使用带有无向边的图,它们将分解表示成一组函数:不像有向模型那样,这些函数通常不是任何类型的概率分布。图中任何满足两两之间有边界的顶点的集合被称为团。无向模型中的每个团C(i)都伴随着一个因子φ(i)(C(i))。这些因子仅仅是函数,并不是概率分布[17]。每个因子的输出都必须是非负的,但是并没有像概率分布中那样要求因子的和或者积分为1。

图2-5 有向图模型示例图

随机变量的联合概率与所有这些因子的乘积成比例——这意味着因子的值越大,则可能性越大。当然,不能保证这种乘积的求和为1。所以我们需要除以一个归一化常数Z来得到归一化的概率分布,归一化常数Z被定义为φ函数乘积的所有状态的求和或积分。概率分布为

图2-6给出了一个无向图的例子以及它表示的概率分布的分解。

图2-6 无向图示例模型

图2-6对应的概率分布可以分解为

图2-6的模型使我们能够快速看出来此分布的一些性质。例如,ac直接相互影响,但ae只有通过c间接相互影响。

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