🏷sec0203_Mathematics_Probability
自然界和人类社会的变化无常使得各种现象总是呈现出不可预估的状态。有一类现象,在特定的条件下必然会发生,例如太阳每天从东方升起西方落下,同性电荷必然互相排斥等等。这类现象被称为 确定性现象。在自然界和人类社会中还存在另一类现象,它们发生的结果并不一定总是相同的。例如,在相同条件下向上抛起同一枚硬币,其结果可能是正面朝上,也可能是反面朝上;用同一门火炮对同一目标进行射击,每次的着弹点不尽相同。经过长期的研究和实践,我们发现这类现象在大量的重复试验下,结果总会呈现某种规律性。例如,多次反复抛硬币其正面和反面朝上的几率大致各占一半,同一门炮射击同一目标的着弹点通常会有一个确定的范围。这类虽然在一定条件下会出现无法预知的不同结果,但在足够多的试验下总能呈现统计规律性的现象,我们称之为 不确定性现象 或 随机现象。
概率论与数理统计 是研究不确定性事件的数学框架,它为我们提供了量化不确定性的方法。在机器学习的视野下,概率论与数理统计主要有两种功能,一是告诉我们一个人工智能系统是如何进行推理和判断的,二是从理论上为我们分析人工智能系统的基本原理。例如,在计算机视觉中,我们可能想要知道摄像头所拍摄到行人是指定人群的概率有多大。在辅助医疗系统中,我们想要根据病人的临床病史和检查结果,预测一下他们心脏病发作的概率。在自动驾驶中,我们希望汽车能够在一个环境中自主地行驶,这意味着我们需要考虑它在每种可行的行为下获得较高奖励的概率。在电子商务推荐系统中,我们也期望能够根据用户的历史访问记录,推断出它们感兴趣的商品,并自动进行排名推荐。
概率统计的理论和方法应用非常广泛,几乎遍及所有科学技术、工业农业生产和国民经济的各个领域。例如,使用概率统计方法进行气象、水文和地震预报;在工业生成中,使用随机抽样方法对产品进行检查、验收;在可靠性工程中,使用概率统计可以获得元器件的可靠性,并做寿命估计;在通信工程中,可以提高信号的抗干扰性和分辨率来保证通信质量;在进行新产品研发时,可以寻求最优方案来完成产品的设计和迭代。
如果你已经对概率论的知识非常熟悉,那么你可以跳过本小节的内容,否则本小节的介绍将让你具备深度学习研究项目的基础概率论和信息论知识。尽管如此,我们还是建议读者能够参考其他一些有关概率论和数理统计的资料,例如(盛骤, 2020;Jaynes, 2003)。
计算机科学和工程的大多数分支领域所处理的实体都是完全确定且必然的,例如一个网站的登录系统,一个音乐播放器或者一个聊天软件。系统通常可以安全地假定CPU将完美地执行每条预先编写好的指令,虽然硬件错误有可能会发生,但极为罕见,并且即使出现了硬件故障,一些预先定义好的错误处理机制也能够顺利地处理这些问题。然而,同样属于计算机科学的机器学习所处理的问题通常都是不确定量或者随机量。不确定性和随机性可能来源于多个方面,直到20世纪80年代,研究人员才发现概率论是量化不确定性问题最有效的工具 (Pearl, 1991)。
简单地说,机器学习的目的就是推理和预测。事实上,几乎所有的人类活动都需要在一些不确定的情况下进行推理。除了那些被定义为永真的数学声明,我们很难确定一个命题是绝对正确或者一定发生。随机事件的不确定性可能有以下三种来源。
(1)被建模系统内在的随机性。例如,在麻将游戏中,由于麻将牌是经过混洗的,因此每个玩家在每次摸牌时所获得的新牌都是不确定的;在掷骰子游戏中,每次抛掷骰子所获得的点数也都不是不确定的。
(2)不完全观测。即使在确定性系统中,如果不能完全观测到驱动系统行为的变量,系统也会呈现不确定性。例如,在一个猜歌手的游戏中,游戏参与者被要求分别倾听四扇门后的歌唱者的歌声,然后需要从中选择一个事先指定的歌手。参与者的每个选择所导致的结果是确定不变的,但站在参与者的角度,由于无法完全观测到每扇门后究竟是谁,所以参与者所选择的结果是不确定的。
(3)不完全建模。当我们在进行建模时,因为某种原因不得不忽略样本或场景的部分观测信息时,那些被舍弃的信息也会导致模型的预测出现不确定性。例如,在机器人导航系统中,由于坐标位置通常都是离散点,因此机器人的视觉采集系统必须依赖于离散化的栅格地图空间。此时,无论它所观测到的对象处于何处,最终都将被量化为离散点,而无法获取到对象真正的精确位置,这导致对目标对象的预测存在偏差。
研究随机事件不确定性问题的主要目的是找到一种可以对事件的不确定性进行表示和推理的方法。概率论与数理统计是研究和揭示随机现象统计规律性的一门学科,它最初的发展是为了分析和描述事件发生的频繁程度(频率),并进而表征事件发生的可能性(概率)。我们可以很容易地看出,概率论和数理统计在类似掷骰子的游戏中,掷出特定点数这种事件的几率是多少,因为这类事件通常都是可重复的。当我们说掷出点数为 这个事件发生的概率为 时,这就意味着如果我们反复掷骰子无限次,有 的比例可能会导致这样的结果。然而,对于那些不可重复的命题,这种推理似乎并不适用。例如,我们说新冠密接人群成为新冠肺炎患者的概率为 。此时,我们既没有任何理由去相信病人的不同副本在具有不同的潜在条件下表现出相同的症状,更无法确定病人究竟与样本空间中哪70%的新冠肺炎患者密接会感染新冠病毒,而与另外30%的患者密接不会感染。在这个例子中,我们将概率理解为一种对 信任度 的描述。其中 表示密接者肯定会感染病毒,而 表示密接者肯定不会感染病毒。类似掷骰子那种与事件发生的频率相关联的概率称为 频率派概率(frequentist probability);而涉及评价确定性水平的概率则称为 贝叶斯概率(Bayesian probability)。
概率可以被看作是处理不确定性的逻辑拓展,它提供了一套形式化的规则,让我们在给定某些命题是真或者是假的前提下,判断另外一些命题是真还是假。例如,我们常说“早上起雾中午很可能会出太阳”。在这个命题中,如果我们定义 表示早上起雾(事件A)的概率, 表示中午出太阳(事件B)的概率,那么整个命题可用概率论的规则形式化地表示为 ,此处概率值大于0.5意味着在事件 满足的条件下,事件 发生的几率很高。换句话说,概率为我们提供了一种正式的方法来描述某个事件发生的确定性水平。如果中午出太阳是一个确定性事件,则概率可以表示为 ;如果我们没有明确的证据表明中午一定出会太阳,那么出太阳和不出太阳这两种事件发生的可能性是相等的,即 ;如果我们有较大的把握中午可能会出太阳,那么我们可以将概率赋值为 。
对于一个不确定性命题,我们总是希望知道它发生某个事件的可能性究竟有多大。例如,在为一个新建的教学楼安装电表前,应该知道入住这幢教学楼的各个单位在日常使用过程中达到某一个峰值用电功率这一事件发生的可能性。我们希望找到一个合适的数来表示事件在一次试验中发生的可能性大小。在本小节中,我们首先简要介绍有关随机试验、样本空间和随机事件的概念,然后引入频率,它描述了事件发生的频繁程度,进而再引入表征事件在一次试验中发生的可能性的大小,这个值称为概率。
在生活中我们遇到过很多种试验,作为一个含义广泛的术语,它包括各种科学实验,也包括对某个事件特征的观察。下面有一些试验的例子:
:在相同条件下向上抛起同一枚硬币,并观察其正面朝上和反面朝上出现的情况。
:用同一门火炮对同一目标进行射击,观察每次着弹点距离目标的距离。
:在猜歌手游戏中,如果游戏进行三轮,观察游戏者猜中指定歌手和猜错的情况。
:在工业生产中,观察一批产品出现次品的频率。
:在一批电灯泡中,任意抽取一只,并测试它的寿命。
:观察红绿灯数量对两地行驶的汽车通行时间的影响。
:在掷骰子游戏中,观察出现的点数。
上面的七个例子有一些共同点,例如,试验 有六种可能的结果,分别是点数1~6,但在抛掷之前无法确定出现的点数到底是多少,但这个试验在相同的条件下是可以重复进行的。再比如试验,我们可以知道每次着弹点都会在目标点附近,甚至于落在目标点上,但某次发射究竟落在哪里是不确定的,这一试验也可以在相同的条件下重复进行。概括地说,这些试验具有以下特点。
在概率论中,我们将满足以上三个特点的试验称为 随机试验。
对于随机试验中,尽管在每次试验前我们无法预估试验的结果,但试验可能出现的结果范围是能够明确并且已知的。我们将随机试验 所有可能出现的结果的集合称为 的 样本空间,并记作 ,样本空间中的元素称为 样本点,它代表了试验 中的某一个结果。下面列出的是上一小节中试验 的样本空间 :
:
:,此处 表示着地点的坐标,其位置以目标为圆心,以不超过可能偏离目标的最大位置为半径。
:{YYY, YYN, YNY, YNN, NYY, NYN, NNY, NNN},其中Y表示猜中,N表示猜错。
:。在频率集合中,出现次品的频率最大为1,表示全部都是次品;最小为0,表示没有次品。
:, 表示该类灯泡的最大寿命
:,此处 表示没有红绿灯时需要行驶的时间, 表示红绿灯的数量, 表示在每个红绿灯处,等待红灯所需要的最大时间。
:
值得注意的是,样本空间中的元素是由试验的目的决定,并非固定值。例如,在试验 中,如果记录的是每个点数出现的次数,那么其样本空间将不再是 。
在实际应用中,人们常常关心的并不是随机试验的每一个结果,而是关心满足某种条件的那些样本点所组成的集合。例如,在掷骰子游戏中,若规定掷出点数 6 为赢家,则在试验 中我们所关心的结果只有 。满足这一条件的样本点组成 的一个子集:。我们称 为试验 的一个随机事件。
一般,我们称试验 的样本空间 的子集为 的 随机事件,简称 事件。在每次试验中,当且仅当该子集中的样本出现时,称 事件发生。特别地,样本空间 包含所有的样本点,它是 自身的子集,在每次试验中它总是发生的,我们称其为 必然事件。而空集 不包含任何样本点,但它也是样本空间 的子集,由于它在每次试验中都不会发生,所以称为 不可能事件。
下面再举几个例子。在 中的事件 :“该批产品的次品率为2%”,即 。在 中的事件 :“灯泡寿命小于50000小时”,即 。在 中的事件 :“第一次猜中的情况”,即 。
由上面的描述可以知道,事件是一个集合的概念,因此事件间的关系自然可以按照集合论中集合之间的关系进行描述。下面给出一些常见的事件关系描述。
假设试验 的样本空间为 ,并且 是 的子集。
对于一个随机事件来说,它在一次试验中发生的可能性通常是不确定的。因此,我们常常希望知道事件在一次试验中发生的可能性究竟有多大。在相同条件下所进行的 次试验中,事件 发生的次数 称为事件 发生的 频数,它与实验的总次数的比值 称为事件 发生的 频率(frequency),并记作 。频率具有以下基本性质:
根据频率的定义,事件 发生得越频繁,其在一次试验中发生的可能性就越大。因而,一种直观的想法是用频率来表示 在一次试验中发生的可能性的大小。下面我们来看一个例子。
考虑“抛硬币”游戏,我们将一枚硬币抛掷5次、50次、500次,并且各做10遍,将得到一个如 表2.3.1 所示的数据表。其中 表示 发生的频数, 表示 发生的频率。
表2.3.1 抛硬币游戏数据表(盛骤, 2020)
试验轮次 |
||||||
---|---|---|---|---|---|---|
1 | 2 | 0.4 | 22 | 0.44 | 251 | 0.502 |
2 | 3 | 0.6 | 25 | 0.50 | 249 | 0.498 |
3 | 1 | 0.2 | 21 | 0.42 | 256 | 0.512 |
4 | 5 | 0.1 | 25 | 0.50 | 253 | 0.506 |
5 | 1 | 0.2 | 24 | 0.48 | 251 | 0.502 |
6 | 2 | 0.4 | 21 | 0.42 | 246 | 0.492 |
7 | 4 | 0.8 | 18 | 0.36 | 244 | 0.488 |
8 | 2 | 0.4 | 24 | 0.48 | 258 | 0.516 |
9 | 3 | 0.6 | 27 | 0.54 | 262 | 0.524 |
10 | 3 | 0.6 | 31 | 0.62 | 247 | 0.494 |
这种游戏,在历史上有很多人做过,例如 表2.3.2 中的数据.
表2.3.2 历史人物完成的抛硬币游戏数据表
试验者 |
|||
---|---|---|---|
德·摩根 | 2048 | 1061 | 0.5181 |
蒲丰 | 4040 | 2048 | 0.5069 |
K·皮尔逊 | 12000 | 6019 | 0.5016 |
K·皮尔逊 | 24000 | 12013 | 0.5005 |
从上述两个表的数据中可以看出,一是频率具有随机波动性,即使对于同样的试验次数 ,所得的频率 也不尽相同;二是当抛硬币次数 较小时,频率 随机波动的幅度较大;反之,当 较大时,频率 趋于稳定;当 足够大时, 总在常数0.5附近摆动,并逐渐稳定于该常数。
这两个结论体现了频率的稳定性特性。也就是说,对于每个事件,如果存在一个客观存在的常数与之相对应,则该事件将具有 统计规律性。统计规律性揭示了隐藏在随机现象中的规律性,即使随机现象的结果总是不确定的。使用频率稳定值来描述事件发生可能性的大小是合理的,但在实际应用中,不可能对每一个事件都做大量的试验来获得频率的稳定值。此时,我们需要一个能够度量事件发生可能性大小的量,这就是概率。
在进行掷骰子游戏时,如果我们想要知道掷出“6”的几率有多大,那么我们可以使用概率值来进行表示。如果掷骰子的过程是公平的,那么对于所有六个结果事件 {1, 2, 3, 4, 5, 6},其发生的可能性都是相同的。这个结论我们称之为 等可能概型 或 古典概型,表示为:
根据这个表述,我们可以说,在公平环境中,骰子掷出“6”的概率为 。概率不仅可以让我们了解一个事件发生的可能性,更重要的是它作为描述事件发生的确定性水平,可以用来帮助我们评价任意命题是否合理。
考虑这样一个问题。在现实生活中,我们想要评价刚刚从工厂流水线上生产出来的骰子是否存在瑕疵。一个比较有效的策略是多次投掷并记录结果,如果掷出每个面的结果大体满足:,我们可以判断它不存在瑕疵或者说不影响使用。根据 大数定理,对于每个骰子,我们所观察到的每个输出值 {1, 2, ..., 6},其出现的频率会随着投掷次数的增加逐渐趋近于真实的潜在概率。下面我们使用代码来描述这个过程。
首先,我们导入必要的软件库,并配置绘图时显示中文字符。
# codes02031_DicingProbability # 0. 导入必要库,并设置中文图例 import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
在统计学中,我们把从样本空间中抽取样本的过程称为 抽样(sampling)。受限于硬件的内存空间限制及执行速度,抽样在数据分析中是应用非常普遍的方法。一般来说,样本空间中的样本是满足某种分布的。如果抽样是随机进行的,那么抽样出来的数据子集通常也满足于样本空间的分布。我们可以使用 多项分布(multinomial distribution) 来完成掷骰子的概率分配,这种分布模式是一种专门针对离散数据的分布。
为了抽取一个样本,我们使用 np.random.multinomial()
函数来实现随机分配。该函数的第一个参数用于设置抽样的次数;第二个参数给出一个长度为 p 的浮点数序列,它表示包含 p 个互斥结果的概率,并且这些概率的值和为1;第三个参数给出抽样的组数。函数的输出是一个长度同样为 p 的向量,它在索引为 处的值是采样结果中第 个结果出现的次数。注意,此处我们之所以使用 numpy
函数来实现掷骰子,主要原因是如果使用基于Python的for循环,执行速度会慢得惊人,特别是当抽样次数较多时。
# 1. 输出单次投掷的中标结果 pvals = [1.0 / 6] * 6 np.random.multinomial(1, pvals)
array([0, 1, 0, 0, 0, 0])
类似地,我们可以在一轮试验中一次性抽取多个样本,并且进行多轮试验。下面的代码实现了三组掷骰子的试验,并且每组试验都抽样10个样本。
# 2. 输出10次投掷的中标结果,并且进行3组投掷 np.random.multinomial(10, pvals, size=3)
array([[0, 1, 2, 2, 2, 3], [2, 1, 0, 2, 4, 1], [3, 1, 1, 1, 4, 0]])
从结果可以看到,三组试验的10个样本都被随机地分配到了序列的6个索引位置。现在我们已经知道了如何对骰子进行采样,接下来我们可以模拟10000次投掷,并计算每个结果被投中的频率,作为真实概率的估计。
# 3. 输出10000次投掷的概率值 n = 10000 counts = np.random.multinomial(n, pvals) counts / n
array([0.1737, 0.1662, 0.1719, 0.1598, 0.1627, 0.1657])
我们假设骰子是没有缺陷的,那么掷骰子游戏可以被认为是公平的。根据等可能概型 公式2.3.1 可以知道每个结果的真实概率都是 ,大约0.167。所以,以上的估值看起来还是不错的。如果我们继续加大投掷次数,结果将会更为理想,读者可以自行测试一下。
为了更直观地了解这些概率随着测试次数的增加逐渐收敛到真实概率的情况。我们可以进行500组试验,并观察它们的累积概率值。
# 4. 绘制每个投掷出每个点数的实际概率值 counts = np.random.multinomial(10, pvals, size=500) cum_counts = counts.astype(np.float32).cumsum(axis=0) probs = cum_counts / cum_counts.sum(axis=1, keepdims=True) for i in range(6): plt.plot(probs[:, i], label=("P(Point = " + str(i + 1) + ")")) plt.axhline(y = 0.167, color='black', linestyle='dashed') plt.gca().set_xlabel('投掷组数(每组10个样本)') plt.gca().set_ylabel('累积概率值') plt.legend() plt.show()
在上图中,黑色虚线表示真实概率0.167,每条实线都对应于6个点数中的一个,它的每个值都代表了每组试验完成后的累计概率。很容易从图中看出,随着试验轮次的增加,每条实线都向真实概率收敛。这个试验的结论很好地印证了我们前面提到的随机事件的统计规律性。
在处理掷骰子游戏的概率问题时,我们可以将骰子的结果点数表示为样本空间集合 ,样本空间中的每个元素都是游戏的输出结果。事件(event) 是用来描述一组给定样本空间的随机结果,例如,“掷出点数都是“6””({6})或者“掷出的点数都为大”({4,5,6})都是掷骰子游戏的有效事件。如果一个随机事件的结果存在于事件集合 中,则事件 是已经发生的事件。例如,如果掷出的点数为“4”,说明事件“掷出的点数都为大”已经发生了。概率 可以被认为是将事件映射到真实值的函数。以下是更规范的定义。
概率(probability) 设 是一个随机试验, 是它的样本空间。对 的某个事件 赋予一个实数,并记为 ,称为事件 的概率。集合函数 满足以下属性:
以上定理也称为 概率论公理,由柯尔莫戈罗夫于1933年提出。有了这个公理系统,我们就可以使用数学语言更严格地进行推理演绎。
为了全面、系统地研究随机试验的结果,揭示客观存在的统计规律性,我们可以将随机试验的结果与实数对应起来并进行数量化,这个量就是随机变量。
随机变量(random variable) 是概率论研究的主体,它可以是随机地取不同值的变量,也可以是从随机试验的一组样本空间中去取的一个值。我们通常使用 大写拉丁字母 或 小写无格式字母 表示随机变量,并用 手写字体的小写字母 表示随机变量能够取到的值。例如,使用标量随机变量 表示温度,则某天上午8点的温度可以表示为 。确切地说,随机变量只是对事件可能发生的情况的描述,它必须伴随着一个概率分布才能指定事件某个具体状态发生的可能性。例如,在掷骰子的随机试验中,考虑一个随机变量 ,其值可以在骰子的点数空间 中随机地进行选取。我们可以将事件 “投中3” 表示为 。此时,该事件的概率可以表示为:。为了更好地表示随机变量及概率,一方面,我们可以使用 表示随机变量 上的分布,分布给出了随机变量 获得某一值的概率;另一方面,我们可以使用 表示随机变量 取值为 的概率。由于概率论中的事件是来自于样本空间的一组确定的结果,因此,我们可以显示地为随机变量指定取值范围。假设 表示某二选一事件 的概率,则 可以表示为随机变量 从元素 和 中任取其一的概率。
随机变量可以是 连续的(continuous) 数据(如某天气温),也可以是 离散的(discrete) 数据(如掷骰子)。连续型随机变量通常都是实数值;离散型随机变量可以是具有有限种或无限多种数值型的状态,也可以是一些被命名的非数值型状态。在现实生活中,基于连续型随机变量来比较两个值通常没有太大意义,比如对比某两天是否具有相同的气温。如果我们能够足够精确地测量气温,最终会发现地球上是完全不具备相同气温的两天,毕竟温度是可以无限微分下去的。在这种情况下,探讨气温是否落入给定的区间,比如是否在18~20度之间将更有意义。此时,我们看到的某个数值的可能性可以被量化为 概率密度(probability density),而不再是一个精确的实数值。换句话说,在任何两个不同温度区间内,我们都可以找到一个具有非零概率的统计值。不过需要知道的是,在机器学习中,大多数应用都是基于离散数据的。
概率分布(probability distribution) 是一种用来描述随机变量可能取到的每一个状态的可能性大小的方法。在进行随机变量的概率分布描述时,针对随机变量是连续型还是离散型会有所不同。下面我们对这两种类型的随机变量的概率分布进行简要说明。
刚刚我们提到,离散型随机变量是指变量所能够取到的值是有限个或可列无限个的随机变量。例如,预测下一位走入教室的人的性别时所定义的随机变量只能取男,女两个值,它是一个离散型随机变量。又如;记录某个路口每分钟通过的汽车的数量也是离散型变量。而在预测一个电灯泡的使用寿命时,虽然寿命值是一个确定的值,但这个值的定义域会充满整个区间,且可以无限微分下去,因此这些取值是无法一一列举的,所以灯泡的寿命值是一个非离散型的随机变量。
不难想到,要掌握一个离散型随机变量 的统计规律,必须且只需要知道 的所有可能取值以及取每个值的概率。我们可以使用 概率质量函数(probability mass function, PMF) 来描述离散型随机变量的概率分布,它将随机变量能够取到的每个状态都映射到随机变量取得该状态的概率。概率质量函数通常使用大写字母 表示,对于每个随机变量 都存在一个不同的概率质量函数与之相对应,表示为 。 也被称为离散型随机变量 的 概率分布 或 概率分布律。当事件 的概率为 1 时,表示该事件是必然事件,即一定会发生的事件;当概率为 0 时,表示该事件是不可能事件,即一定不会发生的事件。为了避免混淆,有时我们会明确写出随机变量的名称,表示为:。我们也可以使用符号 表示随机变量 遵循于分布 ,表示为:。
如果一个函数 是随机变量 的概率质量函数,那么它必然满足以下条件:
(1)函数 的定义域必须是随机变量 所有状态的集合,即:
(2)对于随机变量 的每个状态 ,都存在 。其中,事件概率为 0 表示不可能事件,并且不存在比这个概率更低的状态;事件概率为 1 表示必然事件,并且不存在比这个概率更高的状态。
(3)归一化(normalized)性质,即随机变量所有状态的概率的和为 1,表示为:
与离散型变量相对应的另一类随机变量是连续型随机变量。当研究对象是连续型随机变量时,假设随机变量 的分布函数为 ,此时,若存在非负函数 ,使得对于任意实数 都有:
则称 为连续型随机变量,其中函数 称为 的概率密度函数(probability density function),简称概率密度。与概率质量函数不同的是,概率密度函数并不直接给出特定状态的概率,考虑连续函数某一点的概率是没有意义的,它们的概率都无限趋近于0。相对地,概率密度函数给出了 落在一个面积无限小的区域内的概率。在这个区域中,我们可以使用积分来获得区间内的真实概率质量。与离散型随机变量相似,连续型随机变量的概率密度函数也具有一些性质。假设 是连续型随机变量 的概率密度函数,则有:
(1)概率密度函数 的定义域必须是随机变量 所有状态的集合。
(2)对于随机变量 的每个状态 ,都存在 。注意,连续型变量不要求 。
(3)归一化性质:。
(4)。
(5)若 在点 处连续,则有 。
根据性质(3)可知,介于曲线 和 轴之间的面积等于 1(图2.3.1(左))。由性质(4)可知随机变量 落在区间 的概率 等于区间 上的曲线 之下的曲边梯形的面积(图2.3.1(右))。
图2.3.1 连续型随机变量的性质
根据性质(5)和 2.2.1小节 中导数的定义可知,在 的连续点 处有:
从这里我们看到概率密度的定义与物理学中的线密度的定义相类似,这也是为什么我们将函数 称为概率密度。由 公式2.3.5 可知,若不计算高阶无穷小,有:
这表示 落在小区间 上的概率近似地等于 。也就是说,落在曲线和坐标轴之间的面积为 的无限小的区域内的概率为 。
以上我们讨论的都是一个随机变量的情况,但在实际问题中,我们往往需要同时使用到两个或两个以上的随机变量。例如,在使用导航系统估计两地之间汽车行驶时间的时候,给定了两地之间的实际距离及交通工具的行驶速度,如果中途存在8个红绿灯,那么路途中所遇到的每个红灯的等待时间都将作为一个随机变量影响整体的行驶时间。再比如,我们想从一个监控视频中寻找指定的人,那么视频摄像头的安装角度、光圈大小、焦距、ISO、色彩饱和度、快门速度等因素都会成为影响识别的要素。无论是多个红绿灯的运行情况,还是监控摄像头的各种参数在其事件中都是联合发生的。此时,我们预测事件发生的概率就必须同时考虑多个随机变量。
同时涉及多个随机变量的概率分布称为 联合概率分布( joint probability distribution)。在实际应用中,给定任意随机变量 和 ,事件 和 同时发生的概率,称为这两个事件的联合概率,表示为 ,也可以简写为 或 。需要注意的是,对于任何 和 的取值,都有 和 。这个推论是确定的,因为当事件 和 发生时,事件 和 也必然发生了。因此,联合事件 和 同时发生的可能性不可能大于事件 或 单独发生的可能性。
联合概率将所有随机变量作为一个整体进行描述,但有时我们还希望了解多个随机变量中的某个随机变量的概率分布。这种定义在联合概率分布的某个子集上的概率分布称为 边缘概率分布(marginal probability distribution)。
假设存在二维随机变量 及其分布函数 ,我们称 为二维随机变量 关于 和 的边缘概率分布。事实上,边缘概率分布可以理解为只存在随机变量 或 的单变量的概率分布,因此我们可以对其中一个随机变量进行穷举求和来获得另一个随机变量的边缘分布,形式如下:
相似地,我们也可以获得关于 的边缘概率分布:
对于连续型二维随机变量,我们只需要使用积分代替求和即可求出它关于 和 的两个边缘概率分布:
在现实中,更多的时候我们对于某个事件在给定其他事件发生时出现的概率会更感兴趣一些,这种概率称为 条件概率(conditional probability)。给定事件 ,我们将随机事件 发生的条件概率记为 ,或简化为 。设 是二维离散型随机变量,对于任意固定的 ,若 ,则称:
为 条件下,随机变量 的 条件概率分布(conditional probability distribution)。
需要注意的是,条件概率 只在 时才有意义。此时,条件事件 是确定性事件,而不再是随机事件。事件 发生的前提是事件 已经发生。也就是说,我们不能基于永远不会发生的条件事件上计算与它相关的条件概率。
从条件概率公式 2.3.10 不难得到条件概率分布的两个性质:
(1)
(2)
类似地,对于任意固定的 ,若 ,则称:
为 条件下,随机变量 的条件概率分布(conditional probability distribution)。
在上面的性质中,我们使用了事件的求和法则。即给定 时, 的概率等于确保 保持不变时, 的所有可能的和,即:。求和法则也称为 边际化(marginalization)。边际化结果的概率或分布称为 边际概率(marginal probability) 或 边际分布(marginal distribution)。
注意,不要把条件概率中条件的确定性和必然事件相混淆。假定某人拿到了大学毕业证书,那么他是大学生的 "概率" 就是必然的;但是对于随机选择的一个大学生,虽然他拿到大学毕业证书的概率会很高,但并不代表他一定能拿到大学毕业证书。对于前者,我们一般不使用条件概率来进行描述;对于后者,若 表示某人是大学生的概率,那么,我们可以用 表示大学生拿到毕业证的概率为0.99, 表示大学生拿不到毕业证的概率为0.01,例如大学肄业。
利用条件概率公式,我们可以将多维随机变量的联合概率分布分解成只有一个变量的概率分布与条件概率相乘的形式:
这个规则称为概率的 链式法则(chain rule) 或 乘法法则(multiplication rule)。以两个和三个随机变量的联合概率分布为例,根据链式法则可以分别得到:
有时候,我们需要在已知 时计算 。幸运的是,如果已经知道了 ,那么就可以使用统计学中最有用的 贝叶斯定理(Bayes’ theorem) 来实现这一目的。根据条件概率的乘法法则可知 ,又根据联合概率的对称性可知 。假设 ,则随机事件 关于条件事件 的条件概率分布可以表示为:
注意到概率 出现在上面的公式中,它通常可以使用 来计算,因此,我们并不一定需要事先知道 的信息。类似地,如果 ,则随机事件 关于条件事件 的条件概率分布可以表示为:
需要注意的是,这里我们使用的是紧凑表示法:其中 是一个联合分布(joint distribution), 是一个条件分布(conditional distribution)。它们可以在给定值 上进行求值。
下面给出一个例子。已知 表示天气预报今日降水的概率, 表示晚高峰堵车的概率, 表示如果下雨,晚高峰堵车的概率。此时,如果想要知道堵车时下雨的概率是多少,只需要计算:。
贝叶斯定理是应用观测现象对有关概率分布的主观判断(即先验概率)进行修正的标准方法,它可以通过条件概率的定义直接推导得出。但我们最好记住这个公式的名字和定义,因为很多文献都通过这个名字来引用这个公式。贝叶斯定理是根据英国数学家托马斯·贝叶斯(Thomas Bayes,1702-1761)的名字来命名的,他是第一个发现这个公式特例的人。更一般的形式由法国数学家皮埃尔-西蒙·拉普拉斯(Pierre-Simon Laplace,1749-1827)独立地再次发现,并总结为 公式2.3.14。严格地讲,贝叶斯公式应该被称为“贝叶斯-拉普拉斯定理”。
另一个有用的属性是依赖与独立。如果存在两个随机变量 和 ,它们的概率分布可以表示成这两个因子的乘积形式,并且这两个因子只包含其本身,而与另一个因子无关。此时,我们称这两个随机变量是 相互独立的(independent),表示为 。如果两个事件 和 是相互独立的事件,则:
以上公式意味着事件 的发生跟事件 的发生完全无关,或者说一个随机事件的发生与否不会影响到另外一个随机事件发生与否的概率。除此之外,在所有其他情况下,我们称事件 和 相互依赖(denpendent)。例如,在掷骰子游戏中,前后两次都掷出点数 “3”的两个事件是相互独立的;而第一次掷出点数“3”和两次都掷出点数“3”并不是相互独立的事件。
两个事件相互独立也可以扩展到多个事件,设 是 个事件,如果对于任意 ,任意 ,具有等式:
则称 为 相互独立的事件。注意,对于多个事件的命题,"相互独立"和"两两独立"非等价概念。
相似地,给定另一个随机变量 ,如果关于 和 的条件概率分布对于 的每一个值都可以写成乘积的形式。那么,称这两个随机变量 和 在给定随机变量 时是 条件独立的(conditionally independent):
与独立性相同,我们将给定 时, 和 的条件独立性简化表示为:。
在上一小节中,我们简要讨论了随机变量及其概率分布,这些分布能够帮助我们完整地描述随机变量的统计特性(在下一小节中我们会讨论一些机器学习中常用的分布函数)。但在实际应用中,我们可能并不需要全面了解随机变量的变化情况,只需要知道随机变量的某些数字特征。例如,在对比两个班的英语成绩好坏时,只需要了解两个班各自的平均成绩;又如在评定某一地区粮食产量水平时,通常只需要知道该地区的平均亩产量;再如在评估某品牌新能源汽车电池续航能力时,只需要知道电池的平均续航时间,以及某辆汽车续航时间与平均续航时间的偏离程度,但并不需要对每辆汽车的续航时间进行分布建模。从这些例子来看,与随机变量有关的某些数值,虽然不能完整描述随机变量,但依然能描述随机变量某些方面的重要特征。这些数字特征在理论和实践中都具有重要意义,下面我们将简要介绍几个常用的数字特征:数学期望、方差和协方差。
设离散型随机变量 的分布律为 ,则称求和级数:
为随机变量 的 数学期望,简称 期望(expectation) 或 平均值(average)。对于连续随机变量 ,若其概率密度为 ,并且积分 绝对收敛,则称积分值为该连续型随机变量 的数学期望,记作:
当随机变量及其概率分布在上下文中指明时,我们可以省略脚标,将期望表示为 或 。默认时,我们假设 表示对方括号内的所有随机变量的期望值。类似地,当没有歧义时,方括号也可以省略,表示为 。
数学期望有如下几个重要性质,这些性质同时适用于离散随机变量和连续随机变量:
(1)设 是常数,则有 。
(2)设 是一个随机变量, 是常数,则有 。
(3)设 是两个随机变量,则有 。
(4)设 是两个独立的随机变量,则有 。
以上性质(3)和(4),可以被推广到任意有限个相互独立的随机变量的和与积的情况。根据以上性质,我们认为在处理概率模型的确定性问题时,数学期望总是线性的。也就是说,当 和 不依赖于 时,总是存在:
在很多时候,我们希望衡量随机变量 与其期望值 的偏差,此时可以使用方差来进行量化。让我们来看一个例子。随着低碳革命的兴起,新能源汽车越来越受到市场的关注,各种新能源汽车品牌如雨后春笋般诞生。在这个领域,电池续航能力成为一个重要指标。例如,有一批新能源汽车,标称其平均续航时间是 (公里)。但事实上,有可能其中绝大部分汽车的续航时间在 550~650公里;也有可能其中有一部分汽车在软硬件支持下能够提供达700公里的高质量续航能力,而大部分汽车却因各种因素,实际续航时间只有500公里。为了更好地评定这些汽车的续航能力,还需进一步考查汽车续航时间变量 与均值 的偏离程度。若偏离程度比较小,说明标称质量比较稳定,从这个意义上说,我们认为这个品牌的汽车续航能力是比较好的。由此可见, 研究随机变量与均值的偏离程度是非常必要的。
不难想到,我们可以使用实际值和均值的差的绝对值来度量这个偏离程度,并表示为:
不过,由于上式带有绝对值,运算不方便,我们可以使用如下量
来度量随机变量 与其均值 的偏离程度。
设 是一个随机变量,若 存在,则称其为 的 方差,并记作: 或 ,即:
在各种应用中,我们将一个与随机变量 具有相同量纲的量 称为 标准差(standard deviation) 或 均方差(mean square error,MSE)。
按照以上定义,随机变量的方差表达了随机变量的取值与其数学期望的偏离程度。若随机变量比较集中,则方差 也比较小,数值相对稳定;反之,若取值比较分散,则方差 会比较大。因此,方差可以理解为刻画随机变量取值分散程度的一个尺度。
与期望类似,方差也有一些常用的性质:
(1)设 是常数,则有 。
(2)设 是一个随机变量, 是常数,则有 。
(3)设 是两个相互独立的随机变量,则有 。
(4) 的充要条件是 以概率 1 取常数 ,即 。
(5)设随机变量 的数学期望 ,方差 ,则对于任意正数 ,不等式 成立。这一不等式称为 切比雪夫(Chebyshev)不等式。
对于二维随机变量 ,除了随机变量 和 各自的数学期望和方差以外,还有一个用来描述 和 之间相互关系的数字特征也非常重要,这就是 协方差(covariance)。
协方差给出了两个随机变量 和 相关性的强度和各自的尺度。协方差的绝对值越大,随机变量的变化越大,并且它们同时距离各自的均值也越远。当协方差为正值时,那么两个随机变量都倾向于取相对较大的值;而当协方差为负值时,其中一个随机变量倾向于取相对较大的值,另一个随机变量则倾向于取相对较小的值。与数学期望类似,在处理概率模型的确定性问题时协方差也是线性的,因此有如下两个性质:
为了便于研究两个随机变量的相关性,使得随机变量的尺度不对相关性强度产生影响,另外一个有用的量被定义,它就是 相关系数(correlation),表示为:
相关系数 将每个变量的贡献进行了归一化,使得它在衡量随机变量相关性时,每个随机变量都具有相同的量纲,因此不需要再考虑随机变量自身的尺度差异。相关系数有如下几条重要性质:
协方差和相关性是两个不同性质的量,既存在联系但又是完全不同的概念。如果两个随机变量是相互独立的,那么它们的协方差一定为零;如果两个随机变量的协方差不为零,那么它们一定是相关的。但反过来说,如果两个随机变量的协方差为零,并不能推出它们是相互独立,此时只能确保它们没有线性关系。因此,独立性是比零协方差更强的约束。
若随机变量是一个 维向量,即 ,那么对于向量中的每一个元素,两两之间可以构成一个 的矩阵 ,并且满足:
我们称矩阵 为 维随机变量 的 协方差矩阵(covariance matrix)。由于 ,因而矩阵 是一个对称矩阵,并且它的对角元素就是随机变量的方差:
一般而言, 维随机变量分布的数学求解方法过于复杂或难以获得,因此在实际应用中协方差矩阵就显得尤为重要,它可以有效衡量高维随机变量各个元素之间的相关性。
在机器学习的众多应用中,有一些简单的概率分布是非常有用的,下面我们做简要介绍。
设试验 只有两种可能的结果事件: 或 。并且这两种结果发生的可能是恒定不变的。那么,我们称试验 为贝努利试验,该试验的结果满足 贝努利分布(bernoulli distribution)。贝努利分布是单个二值随机变量的分布,若事件发生的概率为 。则它有如下性质:
假设试验 独立地重复 次,其中事件 发生了 次,并且在试验中事件 发生的概率 。显然, 是一个随机变量,它的取值为 。由于各次试验是相互独立的,因此事件 在指定的 次试验中发生,在其他的 次实验中不发生(例如前 次试验中发生)的概率为:
这种指定事件 发生 次的方式总共有 种,并且它们是两两不相容的。故在 次试验中事件 发生 次的概率可以表示为:
以上公式称为随机变量 服从参数 的 二项分布(binomial distgribution),记作:。特别的,当 时二项分布简化为贝努利分布 ,也称为(0-1)分布,记作 。 与贝努利分布类似,二项分布满足如下性质:
泊松分布是实际应用中很常见的一种分布率,它是二项分布在极值下的一种逼近。我们先来看一个例子。假设某人进行射击游戏,若每次射击的命中率为0.01,那么,如果射击800次,至少击中两次的概率是多少?假设将每次射击都看成是一次独立的试验,设击中的次数为 满足二项分布,即 ,其分布率 等于 。于是至少击中两次的概率可以表示为:
直接对上式进行计算是非常麻烦的。下面我们给出一个 很大、 很小时二项分布概率的近似计算方法,这就是著名的泊松逼近。
泊松定理(poisson theorem) 设 是任意正整数,表示试验独立进行的次数; 是一个常数,设 ,则对于任意固定的非负整数 ,都有:
根据泊松定理公式,前面例子中的至少击中两次的概率可以近似为:
可以看到两种计算方法的结果几乎是等价的。在实际计算中,当 时, 作为 的近似值效果是颇佳的;而当 时效果更好。
以上例子的概率非常接近于1,我们可以从两个方面来对这个结果的实际意义进行讨论。
(1)虽然每次射击的命中率都很低(仅0.01),但经过多次射击(800次)后,命中目标几乎是可以肯定的(概率接近于1)。这一事实说明:一个事件尽管在一次试验中的发生率很低,但只要试验进行的次数足够多,并且试验是独立进行的,那么这一事件的发生几乎是肯定的。这说明 决不能轻视小概率事件。
(2)如果射手在800次射击后,击中目标的次数都达不到两次。根据实际推断原理,我们可以怀疑命题的假设是不成立的,即“每次射击的命中率为0.01”是不成立的。可见,概率不仅仅是对数据的统计结果,同时也可以作为假设的反向验证方法。
根据以上的分析,假设随机变量 所有可能的取值为 0,1,2,...,并且取各值的概率都可以表示为:
其中, 是常数。则称 服从参数为 的 泊松分布(poisson distribution),记作 。
简单地说,泊松分布是描述某段时间内,事件发生某次数的概率。泊松定理指明了以 为参数的二项分布,当 时,二项分布趋于以 为参数的泊松分布。这一事实说明了泊松分布在理论上的重要性。具有泊松分布的随机变量在实际应用中非常常见,例如一个年级中一个班级数学考试不及格的人数、某医院在一天内接收住院患者的人数、暑假期间某条高速公路发生交通事故的次数等。
范畴分布(multinoulli distribution) 又称为 分类分布(categorical distribution),是用来描述具有 个不同状态的单个离散型随机变量的分布。"multinoulli" 这个术语由 Gustavo Lacerdo 发明,并在2012年由Murpty推广。在范畴分布中,随机变量可以从 个相互独立的状态中取其中的一个状态,因此 是一个有限值。在机器学习中,范畴分布通常以一个长度为 的 One-hot 向量进行编码,记作 。不难理解,该向量各个元素的值满足 。
范畴分布经常被用于表示对象分类的分布。常见的分类函数Softmax就是范畴分布的一种应用实现。与分类任务相似,使用范畴分布进行描述的随机变量很少去假设每个状态的数值统计结果,期望和方差在范畴分布中并不常用。
一种与范畴分布相关的分布是 多项分布(multinomial distribution),它描述的是范畴分布采样 次时, 个类别中的每个状态被访问的次数。换句话说,范畴分布是多项分布进行1次试验时的特殊情况。与范畴分布类似,多项分布也是一种向量分布,它是 Onehot向量的扩展,可以表示为 。从另外一个角度来看,将二元分布向多元分布进行拓展后,也可以得到多项分布。当 且 时,多项分布简化为伯努利(bernoulli)分布;当 且 时,简化为二项(binomial)分布;当 且 时,简化为范畴(multinoulli)分布。在很多文献中所描述的多项分布实际上都是范畴分布,但并没有指明其是 的情况。一般来说,贝努利分布和范畴分布已经足够用来描述在它们领域内的任意分布,它们能够实现对那些将所有状态进行枚举的离散型随机变量进行建模。最后,为了便于理解,我们对前面介绍的五种分布进行简要对比。
分布 | 试验 次数 |
结果数 | 分布律 | 期望 | 方差 | 例子 |
---|---|---|---|---|---|---|
伯努利分布 | 1 | 2 | 扔一次硬币,正面向上的概率 | |||
二项分布 | 多次 | 2 | 扔多次硬币,正面向上的次数 | |||
泊松分布 | 多次 | 多个 | 扔很多次硬币,正面向上的次数 | |||
范畴分布 | 1 | 多个 | - | - | 扔一次骰子,5点向上的概率 | |
多项分布 | 多次 | 多个 | - | - | 扔次骰子,6个点数向上的次数 |
在实数领域,由于缺乏先验知识而不知道如何选择数据分布时,正态分布是默认情况下最明智的选择。这主要基于两个原因:(1)在机器学习的各种应用中,最常用就是对自然场景进行建模,而自然场景的大多数真实分布都非常接近于正态分布。这就意味着,应用于大多数真实场景的复杂系统都可以使用服从正态分布的噪声来进行初始化。(2)在定义在实数范围内且具有相同方差的所有可能的概率分布中,正态分布是具有最大不确定性的一种分布。为了避免人为经验对系统的影响,可以认为加入最少先验知识的正态分布是最有利于模型初始化的。
正态分布(normal distribution) 又称为 高斯分布(gaussian distribution),它是定义在连续型随机变量 上的一种概率密度,表示为:
其中,参数 为常数。参数 称为均值,它给出了高斯分布的中心峰值坐标;参数 是分布的标准差,它描述了随机变量相对于均值的密集程度。为了便于计算,另一个与标准差相关的量方差经常被使用,记作 。服从于参数 的高斯分布,可以记作:。
图2.3.2 高斯分布(正态分布)
图2.3.2 展示了一组高斯正态分布的概率密度函数图。正态分布是一种形态呈现经典“钟形曲线”的分布,并且关于 对称。曲线的中心峰的位置由 决定,曲线峰的宽度由 控制。在上图中,橙色曲线为 标准正态分布(standard normal distribution) 的概率密度函数,其均值 ,标准差 。当 时,曲线取到最大值 。这意味着,当 距离 较近时,函数 的值较大;而当 距离 较远时,函数 的值较小。这也是为什么期望 称之为均值的原因。
在机器学习中,有些数据的分布并不是整个实数域,而是位于特定的区间,例如区间 。此时,我们就需要在 处取得关于边界点的分布。这类分布通常在接近于 时,事件发生的概率会比较大;而当逐渐远离 时,事件发生的概率会逐渐降低。这种类型的分布经常被用来建模可靠性问题和排队问题。此时,我们需要一种方法来建模两个独立随机事件之间时间间隔的概率。简单地说,我们需要建模的是从当前时刻开始,下一次事件独立发生时的等待时间的分布情况。例如,某云服务器出现故障时不间断运行的时间;又如在课堂上你被老师点中起来回答问题的等待时间。图2.3.3 给出了服从指数分布事件的概率密度函数。如图所示,随着时间的推移 (),云服务器能够不间断运行的概率逐渐降低,你被老师点中起来回答问题的等待时间也在减少。
图2.3.3 指数分布的概率密度函数图
对于类似描述时间间隔的问题,我们可以使用 指数分布(exponential distribution) 来表示。若连续性随机变量 的概率密度为:
其中 是一个常数,称随机变量 是服从于参数 的指数分布,记作:。此时,随机变量 的分布函数为:
根据分布函数(公式2.3.34)容易得到随机变量 的期望和方差:
对比 公式2.3.32 所描述的泊松分布,我们会发现指数分布与泊松分布具有较强的相关性。一般来说,指数分布是描述泊松过程中两个独立随机事件之间时间间隔的概率。假设每单位时间内事件发生的次数服从泊松分布,则从 开始,事件发生的时间量遵循指数分布。也就是说,泊松分布描述的是单位时间内事件发生的次数;而指数分布描述的是事件首次发生时需要等待的时间。比如,百货商店一天的顾客人数,高速公路一周内的车祸数量,某地区10年内发生洪涝灾害的次数等都是单位时间内发生事件的事件率,因此可以说这些事件服从泊松分布。当我们对事件发生的时间进行建模时,更倾向于用时间间隔而不是事件率。例如,计算服务器平均无故障运行的时间,百货商店前后两个顾客访问的时间间隔,课堂上你被老师点中起来回答问题的等待时间等,都是事件发生时的等待时间,即时间间隔,因此可以说这些事件服从指数分布。
与其他分布不同,指数分布是唯一一种 无记忆性 的连续分布。对于任意 ,都有:
例如,随机变量 描述了某高速公路一天内发生事故的次数,那么根据 公式2.3.37,5月1日发生10起事故的概率与一个月后6月1日发生10起事故的概率是相等的。这就意味着高速公路对于时间过了一个月()是没有记忆的。无记忆性特性使得指数分布成为一种广泛应用的特殊概率分布。
在很多文献中指数分布都被用来描述“寿命”类随机变量的分布。但在实际使用中,需要特别注意的是,在对机械设备的寿命或者家电的使用寿命进行建模时,指数分布是否符合常理?例如,某计算机设备已经使用了10年,无记忆性意味着该设备再使用5年(总共15年)发生故障的概率与使用新机器在接下来的5年中发生故障的概率是完全相同的。然而,根据实际情况,设备越旧,发生故障的可能性就会越大。因此,对于类似设备使用寿命问题,在使用指数分布进行建模的时候需要认真分析其是否符合实际。关于可靠性分析问题,我们建议使用 韦伯分布(weibull distribution)(Rosin, 1933)进行建模。
一个与指数分布紧密相关的概率分布是 拉普拉斯分布(Laplace distribution),它允许我们在任意一点 ()设置概率质量的峰值:
图2.3.4 Laplace分布与正态分布对比图
在概率论和统计学中,拉普拉斯分布又称为 双指数分布(double exponential distribution),它可以被看作是两个不同指数分布背靠背拼在一起的分布(如 图2.3.4 所示)。此外,拉普拉斯分布与正态分布在形态上非常相似,不同是拉普拉斯分布的是相对于均值的差的绝对值,而正态分布是相对于均值的差的平方。因此,拉普拉斯分布的峰值更高、尾部却更长更平坦,这保证了拉普拉斯分布在反演中的稳定性。
经验分布(empirical distribution) 是与样本经验测度相关的分布函数,它是根据样本的实际分布情况以频率估计方式得到的一种逼近。在进行连续性随机变量的经验分布定义时,我们可以使用 狄拉克 函数(Dirac detla function) 来进行定义:
图2.3.5 给出了狄拉克 函数的示意图。在信号处理中,狄拉克 函数常被称为单位脉冲函数。狄拉克 函数是定义在实数线上的一个广义分布函数,可以被看作是一个在原点处无限高、无限细,但总面积为 1 的一个尖峰。它在除0以外的任何点上都等于零,且在整个定义域上的积分等于1。
图2.3.5 狄拉克Delta函数示意图
通过把 定义成 函数左移 个单位,我们可以得到了一个在 处具有无限窄也无限高的峰值的概率质量。基于狄拉克 函数所构建的经验分布将概率密度 赋给 个点 中的每一个,这些点是给定数据集或采样的集合。换句话说,每个点都代表了一个狄拉克 分布函数。针对连续型随机变量进行经验分布定义时,可以表示为:
另一方面,针对离散型随机变量的经验分布定义时,我们可以将经验分布定义成一个范畴分布。对于每一个可能的输入,其概率等于该输入在训练集上的 经验频率(empirical frequency)。经验分布非常有用,它可以被认为是样本在训练集上得到的真实分布,也就是训练数据似然最大的概率密度函数。
简单的概率分布有时无法很好地描述事件,此时就需要将这些简单的概率分布组合起来以获得更复杂的表达模型。这种通过组合简单分布构造而得的复杂概率分布就称为 混合分布(mixture distribution)。混合模型是组合简单概率分布来生成更丰富分布的一种简单策略。
混合分布由若干组件(component)分布构成,这些组件分布可以是任何类型的概率分布。在进行组合时,可以使用相同类型的分布,也可以使用不同类型的分布。例如上一小节中的离散型经验分布就可以视作狄拉克 分布和范畴分布混合而成的分布:
此处, 是内层各个狄拉克 分布组件的概率密度,而 是外层范畴分布的概率密度。也就是说,实值变量的经验分布对于每一个训练实例来说,就是以狄拉克 分布为组件的混合分布。
另一个非常著名且强大混合分布模型是 高斯混合模型(Gaussian Mixture Model),它是由多个单高斯模型组合而成的模型。由于组合高斯混合模型的高斯分布本身就具有很好的数学性质以及良好的计算性能且非常近似于自然场景的各种分布,因此更为强大的高斯混合模型常常被作为概率密度的万能近似器。在这个意义下,几乎所有平滑的概率密度都可以使用具有足够多组件的高斯混合模型以任意精度来逼近。
在本小节中,我们简要介绍了与深度学习最为相关的一些概率论和数理统计的知识和概念,这些知识与概念有助于我们更好地理解各种类型的机器学习模型。到目前为止,几乎所有的现代机器学习模型都和概率有关,概率为我们处理不确定性问题找到了一种最合理的推理方式。无论是原始训练数据规律的掌握,还是对预测数据的分析和推理,都可以通过一种或若干种概率分布的组合来获得。在模型的设计中,我们可以使用联合概率分布、条件概率分布、贝叶斯定义、独立性和条件性假设来分析多个随机变量。期望和方差为概率分布的关键特征的概括提供了实用的度量形式,虽然它们不能完整地描述随机变量,但能够为我们指出随机变量在某些方面的重要特征,这些数值特征在理论和实践上都具有重要意义。可以说,基于概率的分析方法就是神经网络的灵魂。