Essential Math for AI(机翻)-第二章(3/3)

34 阅读19分钟

数据分布:均匀分布

要直观地理解均匀分布,我们可以给出一个非均匀分布的例子,我们在本章前面已经看到过这个例子。在我们的真实身高-体重数据集中,我们不能用均匀分布来模拟身高数据。我们也不能用它来模拟体重数据。原因是人类的身高和体重并不是均匀分布的。在一般人群中,遇到一个身高约7英尺的人和遇到一个身高约5英尺6英寸的人的可能性并不相等。

均匀分布只能模拟均匀分布的数据。如果我们有一个包含所有数据值的区间(xmin,xmax),这个区间包含了xmin和xmax之间的连续数据,而我们的数据在这个区间内均匀分布,那么观察到任何特定值附近的数据点的概率对于这个区间内的所有值都是相同的。也就是说,如果我们的区间是(0,1),那么选择一个接近0.2的点和选择一个接近0.75的点的可能性是相等的。

因此,均匀分布的概率密度函数是常数。对于一个区间(xmin,xmax)上的随机变量x,连续均匀分布的概率密度函数公式如下:

其他情况下为零。

让我们绘制在区间(xmin,xmax)上的均匀分布的概率密度函数。图2-8中的图形是一条直线段,因为无论是实际数据还是模拟数据,均匀分布的数据在整个考虑区间内都均匀分布。在这个区间内,没有数据值比其他数据值更容易出现。

图2-8. 区间[0,1]上的均匀分布概率密度函数图

均匀分布在计算机模拟中非常有用,可以用于从任何其他概率分布生成随机数。如果您查看Python使用的随机数生成器,您会在底层算法中看到均匀分布的应用。

数据分布:钟形正态(高斯)分布

一个更适合用于建模人类身高数据(当限制在一个性别范围内)的连续概率分布是钟形的正态分布,也称为高斯分布。来自正态分布的样本倾向于聚集在分布峰值处的平均值附近,即均值μ,然后在远离均值的地方对称地减少。分布在远离均值时的扩散程度由正态分布的第二个参数来控制,称为标准差σ。大约68%的数据落在均值的一个标准差范围内,95%的数据落在均值的两个标准差范围内,约99.7%的数据落在均值的三个标准差范围内(图2-9)。**
**

图2-9. 参数μ = 0和σ = 1的钟形正态分布概率密度函数图

当我们从正态分布中抽样数据时,接近均值的数值更有可能被选中(或发生,或被观察到),而非常小的值(→ -∞)或非常大的值(→ ∞)则不太可能被选中。这种在均值附近达到峰值,在分布的外围逐渐衰减的特点使得这种分布具有著名的钟形特征。请注意,还有其他钟形的连续分布,但正态分布是最常见的。它有一个基于概率论中的一个重要定理——中心极限定理(CLT)的整洁的数学理由来证明这个当之无愧的声誉。

中心极限定理表明,许多相互独立的随机变量的平均值(这些随机变量具有相同的分布,但不一定是正态分布)是呈正态分布的。这解释了为什么正态分布在社会和自然界中无处不在。它可以用来模拟婴儿出生体重、学生成绩分布、国家收入分布、血压测量分布等。有一些特殊的统计检验方法可以帮助我们判断一个真实的数据集是否可以用正态分布进行建模。我们将在第11章中进一步阐述这些观点。

如果你碰巧遇到一个情况,你不确定并且没有先验知识关于应该为你的应用使用哪种分布,正态分布通常是一个合理的选择。实际上,在所有具有相同方差的分布选择中,正态分布是具有最大不确定性的选择,因此它实际上将最少量的先验知识编码到你的模型中。 正态分布的概率密度函数公式对于一个随机变量x(单变量)具有均值μ和标准差σ为:

对于 μ = 0 和 σ = 1,其图像如图2-9所示。

双变量正态分布的概率密度函数公式(两个随机变量x和y)为:

并且其图形在图2-10中绘制。

我们可以使用线性代数的语言将上述双变量公式写成更简洁的表示形式:

在图2-11中,我们从双变量正态分布中抽取了6,000个点。靠近中心的点更有可能被选中,而远离中心的点被选中的可能性较小。这些线大致描绘了正态分布的轮廓线,如果我们只观察到样本点而不知道它们来自哪个分布,就会得出这个结果。

图2-10. 双变量正态分布概率密度函数的钟形图形

图2-11. 从双变量正态分布中抽取6,000个点

让我们暂停一下,将双变量正态分布的概率密度函数公式与单变量正态分布的概率密度函数公式进行比较。

相同的双变量正态分布的概率密度函数公式可以推广到任意维度,即有很多随机变量而不仅仅是两个随机变量。例如,如果我们有100个随机变量,表示数据集中的100个特征,那么公式中的均值向量将包含100个条目,协方差矩阵的大小将为100 × 100,对角线上是每个随机变量的方差,非对角线上是4950对随机变量之间的协方差。

数据分布:其他重要且常用的分布

几乎所有你在本章中不理解的内容都将在整本书中多次出现,而第11章将专门讨论概率。这些概念将在各种有趣的背景下不断出现并得到强化。我们在这一章的目标是熟悉概率和统计的词汇,并为经常出现在AI应用中的重要概念制定指导地图。我们还希望在不进行深入研究和不必要地拖延进度的情况下,为接下来的章节培养良好的概率直觉。**
**

有许多概率分布。每种分布都模拟了不同类型的现实世界场景。均匀分布和正态分布非常常见,但我们还有其他在人工智能领域经常出现的重要分布。回顾一下,我们的目标是为了做出好的设计、预测和/或决策而对周围的世界进行建模。当我们的模型涉及随机性或者我们对结果不确定时,概率分布可以帮助我们进行预测。

当我们研究分布时,一个令人沮丧的部分是大多数分布都有奇怪的名字,这些名字对我们理解某个分布可能有用的现象毫无帮助。这使我们不得不花费额外的精力去记住这些名字,或者随身带着一个分布小抄。我更喜欢带着小抄。另一个令人沮丧的部分是,大多数教科书示例涉及翻转硬币、掷骰子或从瓮中抽取彩球。这使我们没有现实生活中的例子或动力去理解这个主题,因为我从未遇到过四处翻转硬币并计算正反面的人,除了在《黑暗骑士》(一部2008年非常好的电影)中的双面人(又名哈维·登特)。在这部电影中,小丑(由希斯·莱杰饰演)说了一些关于随机性和机会的深刻且令人难忘的话,比如这句:“世界是残酷的。在一个残酷的世界里,唯一的道德就是机会。公正无私,不带偏见。公平。” 在这本书中,我将尽我所能进行修正,尽可能举出现实世界中的例子,以符合我的篇幅限制。

以下几种分布在数学上彼此相关,或者自然地从其他分布中推导出来。我们将在第10章中探讨这些关系。现在,让我们列举一种流行的分布,说明它是离散的(预测我们关心的某种事物的数量)还是连续的(预测一个连续存在的量,如某事发生前需要经过的时间;小心,这里不是小时数,因为小时数是离散的,而是时间段的长度),说明控制它的参数,并说明对我们的AI应用有用的定义属性:

二项分布

这是离散的。它表示在独立地重复多次实验时,获得某个成功次数的概率。其控制参数是n,即我们执行的实验次数,以及p,即预先定义的成功概率。现实世界中的例子包括预测在临床试验中,多少患者会对疫苗或新药产生副作用,多少广告点击会导致购买,以及多少客户会违约每月的信用卡还款。当我们使用概率分布模型来模拟现实世界中需要独立实验的例子时,这意味着我们假设它们是独立的,即使现实世界中的实验并非真正独立。指出我们模型的假设是一个良好的习惯。**
**

泊松分布

这是离散的。它预测在给定的时间段内会发生多少次罕见事件。这些事件是独立的或弱相关的,意味着事件一旦发生,不会影响到它在同一时期下一次发生的概率。它们以已知且恒定的平均速率λ发生。因此,我们知道平均速率,我们想要预测在某个时间段内会发生多少次这样的事件。泊松分布的控制参数是预定义的罕见事件率λ。现实世界的例子包括预测在一个小时内出生的婴儿数量,人口中年过98岁的人数,放射性系统在一定时间内释放出的α粒子数量,国税局发送的重复帐单数量,某一天出售的不太受欢迎产品的数量,这本书的一页包含的错字数量,某台机器在某一天生产的次品数量,某个小时进入商店的人数,保险公司在一定时间内需要承保的汽车事故数量,以及在特定时间段内发生的地震数量。

几何分布

这是离散的。它预测在执行独立试验时,在获得成功之前需要进行多少次尝试,每次尝试成功的概率为p。这里的控制参数显然是成功的概率p。现实世界的例子包括估计一个公司在不遇到网络故障的情况下可以运行多少周,一台机器在生产出次品之前可以运行多少小时,或者在遇到反对我们想要通过的某项政治法案的人之前,我们需要面试多少人。同样,对于这些现实世界的例子,如果使用几何分布进行建模,我们可能会假设试验是独立的,而实际上试验可能并不独立。

指数分布

这是连续的。如果我们恰好知道某个事件以恒定速率λ发生,那么指数分布就可以预测到该事件发生前的等待时间。它是无记忆的,因为属于这个指数分布的物品的剩余寿命也是指数的。控制参数是恒定速率λ。现实世界的例子包括我们等待地震发生的时间、某人拖欠贷款的时间、机器零件失效的时间或恐怖袭击发生的时间。这对可靠性领域非常有用,因为会计算某个机器零件的可靠性,从而得出诸如10年保修期等声明。

韦布尔分布

这是一个连续分布。它在工程领域中被广泛用于预测产品寿命(10年保修声明在这里也适用)。在这里,一个产品由许多部件组成,如果其中任何一个部件出现故障,产品就无法正常工作。例如,如果汽车电池出现故障,或者变速器中的保险丝烧断,汽车就无法工作。在考虑到汽车的许多部件及其最薄弱环节(假设我们没有对汽车进行维护并重置时钟)后,Weibull分布可以很好地近似汽车在停止工作前的寿命。它由三个参数控制:形状、比例和位置。指数分布是这个分布的一个特例,因为指数分布具有恒定的事件发生率,但Weibull分布可以模拟随时间增加或减少的事件发生率。**
**

对数正态分布

这是连续的。如果我们取这个分布中每个值的对数,我们就得到正态分布的数据。这意味着在一开始,你的数据可能看起来不是正态分布的,但如果你尝试用对数函数转换它,你会看到正态分布的数据。当遇到倾斜的数据,低均值,大方差,并且只假设正值时,这是一个很好的分布。就像当你对许多独立样本的随机变量求平均值时出现正态分布(使用中心极限定理),当你取许多正样本值的乘积时,对数正态分布就出现了。从数学上讲,这是对数函数的一个很棒的性质:乘积的对数是对数之和。这个分布由三个参数控制:形状,尺度和位置。现实世界的例子包括石油储备中的天然气体积,以及一天结束时证券价格与前一天结束时价格的比率。

卡方分布

这是连续的。它是正态分布独立随机变量的平方和的分布。您可能会想知道为什么我们要关心正态分布随机变量的平方,然后将它们相加。答案是这是我们通常计算随机变量或数据样本方差的方式,而我们的主要目标之一是控制方差以降低我们的不确定性。与这个分布相关的有两种显著性检验:拟合优度检验,用于衡量我们的期望与观察结果的偏差程度;以及数据特征的独立性和同质性检验。

帕累托分布

这是连续的。它对许多现实世界的应用非常有用,例如分配给超级计算机(比如机器学习计算)的任务完成时间,特定人口的家庭收入水平,社交网络中的朋友数量以及互联网流量的文件大小。这种分布仅由一个参数α控制,并且它是尾部较重的(其尾部比指数分布更重)。**
**

在继续之前,让我们再介绍一些其他的分布,而不必担心其中的任何细节。这些分布或多或少都与前面提到的分布有关。

学生t分布

连续分布,类似于正态分布,但在样本量较小且总体方差未知的情况下使用。

贝塔分布

连续分布,生成给定区间内的随机值。

柯西分布

连续的、病态的分布,因为它既没有定义的均值也没有定义的方差,可以通过使用随机选择的角度的正切值来获得。

伽马分布

连续的,与等待时间直到 n 个独立事件发生有关。

负二项分布

离散的,与获得一定数量成功所需的独立试验次数有关。

超几何分布

离散的,类似于二项分布,但是试验之间不是独立的。

负超几何分布

离散的,表示在获得一定数量的成功之前所需的依赖试验次数。

“Distribution”一词的各种用法

您可能已经注意到,根据上下文,“distribution”这个词指的是许多不同(但相关)的概念。这种对同一个词的不一致使用可能会让一些试图进入这个领域的人感到困惑,甚至产生排斥。

让我们列举单词"distribution"所指的不同概念,以便我们在特定的语境中容易识别其预期的含义:

  • 如果您有真实数据,例如本章中的身高-体重数据,并绘制数据集的一个特征的直方图,例如身高,那么您将得到身高数据的经验分布。通常您不知道整个人群的身高的概率密度函数,也称为分布,因为您拥有的真实数据只是该人群的一个样本。因此,您尝试使用概率理论给出的概率分布来估计它,或对其进行建模。对于按性别划分的身高和体重特征,高斯分布是合适的。
  • 如果您有一个离散随机变量,"分布"这个词可以指代其概率质量函数或累积分布函数( 它指定了随机变量小于或等于某个值的概率),f(x) = prob(X ≤ x) ).
  • 如果您有一个连续随机变量,"分布"这个词可以指代其概率密度函数或累积分布函数,其积分给出了随机变量小于或等于某个值的概率。
  • 如果您有多个随机变量(离散的、连续的或两者的混合),那么“分布”一词指的是它们的联合概率分布。

一个常见的目标是在理想化的数学函数(如具有适当分布的随机变量)与实际观测数据或现象(具有观测到的经验分布)之间建立适当的对应关系。在处理实际数据时,数据集的每个特征都可以用随机变量来建模。因此,在某种程度上,具有相应分布的数学随机变量是我们测量或观察到的特征的理想化版本。

最后,分布在AI应用中无处不在。在接下来的章节中,我们将多次遇到它们,例如神经网络每一层的权重分布,以及各种机器学习模型所犯错误和噪声的分布。

A/B测试

在本章结束之前,我们稍作拐弯,深入了解一下A/B测试的世界,也叫作拆分测试或随机单盲或双盲试验。我们之所以绕道讲解这个话题,是因为这对数据科学家来说非常重要:无数公司依赖于A/B测试的数据来提高用户参与度、收入和客户满意度。微软、亚马逊、领英、谷歌等每年都会进行数千次A/B测试。**
**

A/B测试的概念很简单:将人群分为两组。向其中一组推出你想要测试的某个版本(新的网页设计、不同的字体大小、新的药物、新的政治广告),这是测试组,而另一组保持为对照组。比较两组之间的数据。

如果受试者不知道他们属于哪个组(有些人甚至根本不知道他们在参加测试),但实验者知道,那么这个测试就是单盲的。如果实验者和受试者都不知道他们正在与哪个组互动,那么这个测试就是双盲的。

总结与展望

在本章中,我们强调了数据对于人工智能的重要性。我们还澄清了通常容易引起混淆的概念之间的区别:结构化和非结构化数据,线性和非线性模型,真实和模拟数据,确定性函数和随机变量,离散和连续分布,以及后验概率和似然函数。我们还提供了一张关于人工智能所需的概率和统计的地图,但没有深入探讨其中的任何细节,并且我们介绍了最受欢迎的概率分布。

如果您在某个新的概率概念中感到迷茫,您可能需要查阅本章提供的地图,了解该概念如何适应概率论的大背景,以及最重要的是,它与人工智能之间的关系。如果您不知道某个特定的数学概念与人工智能的关系,那么您只能知道如何使用某种工具,但您不知道它的用途。

我们尚未提及随机矩阵和高维概率。在这些领域中,概率论通过不断跟踪分布、期望和任何相关随机量的方差,与线性代数相结合,后者非常关注特征值和各种矩阵分解。对于涉及AI应用的极高维数据,这些领域非常重要。我们将在第11章概率中讨论它们。

在下一章中,我们将学习如何将数据拟合到一个函数中,然后使用这个函数进行预测和/或决策。在数学上,我们找到表征数据特征之间各种相互作用强度的权重(ω)。当我们描述所涉及的相互作用类型(拟合函数的公式,称为学习或训练函数)以及这些相互作用的强度(ω的值)时,我们可以进行预测。在人工智能中,这个用合适的权重值表征拟合函数的概念可以成功应用于计算机视觉、自然语言处理、预测分析(如房价、维护时间等)以及许多其他应用。