奎克的藏经阁 · MinerU 解析内容

人工智能时代:破解人机共存密码(套装共10册)

3314 个 PDF 物理页 · 本页显示文件第 3231–3240 页

PDF 物理页索引 3230

文件中的第 3231 页 · 印刷页码:未识别

然而,不幸的是,我们不能只数数据中都患流感的熟人的对数,然后把这些数变成概率。因为一个人可以有许多熟人,而所有成对的概率不会总计为相关模式。举个例子,该模式会让我们计算在给定他们熟人的情况下,计算某人得流感的概率。当例子都分开时,我们就不会有这样的问题了,我们也不会关注这个例子,比如丁克家庭中,每个人都住在自己的“荒岛”上。这并不是真实世界,而且无论如何,这里绝对不会有什么流行病。

解决办法就是找到一组特征,并掌握它们的权值,就像在马尔科夫网络中那样。对于每个人(X),我们可以有“X患有流感”的特征,对于每对熟人X和Y,特征就是“X和Y患有流感”,等等。正如在马尔科夫网络中那样,最大似然权值使每个特征以在数据中观察到的频率出现。如果有很多人患有流感,那么“X患有流感”的权值就会比较高。如果当X患有流感时,熟人Y也患有流感的概率会比随机抽选的网络成员患有流感的概率大,因此“X和Y都患有流感”的权值会较高。如果40%的人有流感,那么16%的所有熟人两人组也会患有流感,那么“X和Y都患有流感”的权值将等于零,因为我们不需要该特征来准确复制数据的统计(0.4×0.4=0.16)。如果特征的权值为正,流感更有可能发生在人群当中,而不会十分容易随机感染某个人。也就是说,如果你熟悉的人患有流感,那么你感染流感的概率会更大。

请注意,网络会为每对熟人赋予分离的特征,比如爱丽丝和鲍勃都患有流感,爱丽丝和克里斯都患有流感,等等。但我们无法为每个两人组确定一个分离权值,因为他们只有一个数据点(无论是否受感染了)。对于尚未确诊的网络成员,我们不能将他们一概而论(伊薇特和扎克都患有流感吗)。我们只能在自己见过的所有实例的基础上,为相同形式的所有特征确定一个权值。实际上,“X和Y患有流感”是特征模板,可以利用每对熟人进行实例化(爱丽丝和鲍勃,爱丽丝和克里斯,等等)。模板的所有实例的权值被“捆绑在一起”,从这个意义上讲,它们有同样的价值。也就是说,即便只有一个实例(整个网络),我们也可以进行推理。在非关联学习中,一个模型的参数仅以一种方式捆绑——越过所有独立例子(比如所有被诊断过的病人)。在关联学习中,每个我们创造的特征模板将捆绑所有实例的参数。

PDF 物理页索引 3231

文件中的第 3232 页 · 印刷页码:未识别

我们不仅限于成对的或者单独的特征。脸书想预测哪些人是你的朋友,这样才能为你推荐朋友,为此它可以利用“朋友的朋友可能成为朋友”这个规则,因为每个实例都涉及三个人。比如,如果爱丽丝和鲍勃是朋友,而鲍勃和克里斯也是朋友,那么爱丽丝和克里斯有可能成为朋友。H·L·门肯说过一句妙语:如果一个人挣的钱比他的妻子的妹妹的丈夫要多,那么他就是富有的。这句话涉及四个人。这些规则中的每一条都可以变成关联模型中的特征模板,而在特征出现在数据中的频率的基础上,可以确定它的一个权值。正如在马尔科夫网络中那样,特征也可以通过数据确定。

关联学习算法可以从一个网络推广到另一个网络(比如确定流感如何在亚特兰大传播的模型,然后在波士顿运用),它们也可以在多个网络上学习(比如亚特兰大和波士顿,假设亚特兰大没有人和波士顿人有联系)。不像“常规”学习,这里所有的例子必须有同等数量的属性。在关联学习中,网络可以在大小方面有所不同。同样的模板,较大的网络会比较小的网络有更多的实例。当然,从较小的网络到较大的网络的推广可能准确,也可能不准确,需要指出的是,没有什么会阻止它。从局部上看,大型网络往往和小型网络的表现没有差异。

关联学习算法能达到的最佳效果就是让懒散的老师变得勤奋。对于普通分类器来说,没有归类的例子毫无用处。如果我只知道病人的症状,却不知道诊断结果,那么这对我学习看病毫无帮助。如果我知道患者的一些朋友感染了流感,那么可能间接证明他也感染了流感。在一个网络中确诊几个人,然后将这些诊断结果推测到他们的朋友,以及他们朋友的朋友身上,这就是接下来诊断所有人的最佳做法。推测出来的诊断结果可能有干扰因素,但关于症状如何与流感相关联的整体统计,与只有几个诊断结果可利用相比,前者要准确和完整得多。孩子很擅长充分利用他们受到的分散式监督(只要不选择忽略它),关联学习算法也有部分这样的能力。

PDF 物理页索引 3232

文件中的第 3233 页 · 印刷页码:未识别

然而,这种力量也是要付出代价的。在普通分类器中,比如决策树或者感知器,从实体的属性推断出其类别,这就涉及几次查找工作和一些计算。在一个网络中,每个节点的类别间接取决于所有其他节点,而我们不可以孤立地对其进行推断。我们可以求助于同样用于贝叶斯网络的推理技术,比如环路信念传播或者MCMC,但数值范围是不一样的。典型的贝叶斯网络可能会有几千个变量,但典型的社交网络却有数百万个节点甚至更多。幸运的是,因为网络模型由许多有相同权值的相同特征不断重复形成,我们往往可以将网络压缩变成“超节点”,每个超节点由许多节点组成。我们知道这些节点有相同的概率,而且会解决许多更细小的问题,结果也完全相同。

关联学习有悠久的历史,其历史可以至少追溯到20世纪70年代,以及符号学派技巧(如逆向演绎)。但随着互联网的出现,它需要新的动力。突然之间,网络变得无处不在,而对网络进行模仿变得刻不容缓。我发现有一个特别有趣的现象——口碑传播。信息如何在社交网络中传播?我们可否测量每个成员的影响力,然后将目标确定在数量够多、影响力最大的成员身上,以开启一轮口头传播?我和学生里特·理查森一起设计了一种算法就能够做到这一点。我们将其运用到Epinions网页(一个产品评论网站)上,可以允许成员说出他们信任谁的评论。研究发现之一是,向单个最有影响力的成员营销产品(该成员被许多拥护者的信任,而这些拥护者也被自身的拥护者信任等)和对1/3的所有成员进行推销相比,效果是一样的。随之而来的是一大批关于此问题的研究。此后,我就已经开始将关联学习应用到其他许多领域,包括预测谁会在社交网络中形成链接、整合数据库、使机器人能够绘制周围环境的地图。

PDF 物理页索引 3233

文件中的第 3234 页 · 印刷页码:未识别

如果你想了解世界如何运转,那么关联学习就是很好的工具。在艾萨克·阿西莫夫的《基地》一书中,科学家哈里·谢顿可以从数学角度预测人类的未来,从而将其从衰落中拯救出来。此外,保罗·克鲁格曼也承认,就是这个诱人的梦想,让他成为一名经济学家。依据谢顿的观点,人类就像气体中的分子,大数法则保证,即使个人无法预测,整个社会却可以。关联学习表明事实并非如此,如果人类是独立的,每个人孤立地做决定,社会的确就会变得可预测,因为所有那些随意的决定会合计为一个相当恒定的均值。但当人们互动时,较大的集合体会比较小的集合体更不那么可预测。如果信心和恐惧可以传染,每种情绪都会主导一段时间,但常常整个社会会从这种情绪转化到另一种情绪。虽然如此,并不是所有消息都是坏的。如果我们可以估计人们之间相互影响的强度,也就可以估计这种转换在多久之后会发生,即使这是第一次转换。换个说法,黑天鹅并不一定不可预测。

对于大数据,抱怨较普遍的就是拥有的数据越多,就越容易在大数据中发现伪模式。如果数据仅仅是一大组分离的实体,那么这一点可能正确;但如果它们相互关联,情况就不一样了。例如,那些利用数据挖掘来逮捕恐怖分子的批评者认为,除了伦理问题,这绝不会起作用,因为无辜的人太多,而恐怖分子却极少,因此它要么会引发过多的错误警报,要么不会逮捕任何人。当某个游客或者恐怖分子在划定爆炸地点的范围时,有人对纽约市政厅进行录像了吗?购买大量硝酸铵的人是农民还是爆炸制造者?所有这些人单独看都很无辜,但如果“游客”和“农民”一直保持密切的电话联系,而后者只是开着他的拉登皮卡进入曼哈顿,可能是时候需要一个人来盯紧他了。美国国家安全局喜欢搜寻谁给谁打过电话的记录,这不仅仅因为可以说这是合法的,而且因为对于预测算法来说,它们往往比通话内容的信息量更大,而通话内容需要人进行分析才能被理解。

除了社交网络,关联学习的杀手级应用正在了解活细胞如何运作。一个细胞是一个复杂的代谢网络,在这个过程中,基因为蛋白质编码,蛋白质又调节其他基因,还有一长串的化学反应,而产物会从这个细胞器运输到另一个细胞器。独立的实体,孤立地进行工作,找不到任何踪影。治癌药物必须在不干扰正常细胞的情况下,打破癌细胞的运转。如果我们有两者准确的关联模型,就可以在计算机中尝试许多不同的药物,让模型推断它们好的以及不好的效果,然后只将最好的留下,先从体外,最后再从体内进行测试。

PDF 物理页索引 3234

文件中的第 3235 页 · 印刷页码:未识别

就像人类的记忆,关联学习编织了一个丰富的关联网。它连接认知,诸如罗比之类的机器人可以通过聚类和维数简约来获取认知并习得技能。它可以通过强化和聚类来学习,利用由阅读得来的更高水平的知识去学校与人类进行互动。关联学习是最后一块拼图,也是我们需要为自己的炼金术提供的最后的原料。现在是时候重建实验室,使所有这些元素变成终极算法了。

PDF 物理页索引 3235

文件中的第 3236 页 · 印刷页码:未识别

第九章解开迷惑

机器学习既是科学,也是技术,两者的特点提示我们如何将其统一起来。在科学方面,理论的统一往往从看似简单的观察开始。两个看似不相关的现象原来只是同一枚硬币的两面,就像第一张倒下的多米诺骨牌,会引起其他许多牌倒下。苹果落到地上,月亮悬挂在夜空,这两者都是由重力引起的,而且(无论是否杜撰)一旦牛顿弄明白这些现象的原因,重力最后也可以用来解释潮汐、分点岁差、彗星轨道等其他很多现象。在日常体验中,电和磁绝不会同时出现:这边有闪电的火花,那边有吸住铁制品的岩石,两种现象都很少见。可是一旦麦克斯韦弄清楚电场的改变会产生磁性,反之亦然,显然闪电是两者亲密的媒介。现在我们知道,电磁并不罕见,遍及所有物质。门捷列夫的元素周期表不仅将所有已知物质仅分成两个维度,也预示哪里会有新元素。达尔文在贝格尔号上的观察突然得到理解,因为马尔萨斯的《人口论》表明了自然选择这一组织原理。

当克里克和沃森偶然发现双螺旋结构可用于解释DNA令人迷惑的属性时,他们马上就看到DNA可能会如何复制自身,而生物学由“集邮”

PDF 物理页索引 3236

文件中的第 3237 页 · 印刷页码:未识别

(卢瑟福用的贬义词)到“统一科学”的过渡开始了。在这些例子中,各种各样令人眼花缭乱的观察结果原来都有同一个相同的起因,而一旦科学家们明确了这个起因,就可以反过来利用它来预测许多新的现象。同样的道理,虽然我们在本书中见到的学习算法似乎差别很大——有些以大脑为基础,有些以进化为基础,有些则以抽象的数学原理为基础,但实际上,它们有很多相似之处,而由学习产生的理论会有许多新的观点。

虽然知道这一点的人比较少,但世界上许多最重要的技术都是创造统一物的结果,该统一物是单一机制,能完成之前需要很多机制完成的事情。互联网,正如它的名字一样,是连接相互网络的一种网络。没有它,每种类型的网络就得需要一个不同的协议来与其他每个网络进行对话,这就很像对于世界上每种不一样的语言都需要一本不一样的字典。互联网协议就是一种世界语言,会给每台计算机能与其他所有计算机直接对话的错觉,世界语言还允许电子邮件和网页忽视那些它们无法起到影响作用的基础设施建设的细节。关系数据库也会对企业应用做类似的事情,允许开发商和用户依据抽象关联模型进行思考,并忽略关于回应搜寻计算机所尝试的方式。微处理器是一种数据电子元件装配,可以对所有其他装配进行模仿。虚拟机允许同一台计算机同时在100个人面前伪装成100台不同的计算机,并使云成为可能。图形用户界面让我们编辑文件、数据表、幻灯片以及别的很多东西,利用Windows操作系统、菜单、鼠标单击的通用语言。计算机本身就是统一物:单个设备可解决任何逻辑或者数学问题,只要我们知道如何对它进行编程。甚至电也是一种统一物:你可以通过许多不同的来源来获取它——煤、天然气、核能、水力、风力、太阳,然后以无限多种的方式来消耗它。一座发电站不会知道或者关心它生产的电会如何被消耗掉,而你的门廊灯、洗碗机或者全新的特斯拉也不会在意电力供应来自哪里。电力就是能源的世界语言。终极算法是机器学习的统一物:它让任意应用利用任意学习算法,方法是将学习算法概括成通用形式——所有应用都需要知道该形式。

PDF 物理页索引 3237

文件中的第 3238 页 · 印刷页码:未识别

我们迈向终极算法的第一步会简单得令人意外。事实证明,要将许多不同的学习算法结合成一个并不难,利用的就是元学习。网飞公司、沃森、Kinect以及其他无数公司都会利用它,而它在机器学习算法的箭袋中也是最有力量的一支。它还是接下来要进入的深层次统一的垫脚石。

万里挑一

这里有一个挑战:你有15分钟用来联合决策树、多层感知器、分类器系统、朴素贝叶斯,以及支持向量机,使其变成拥有每个部分最佳属性的单一算法。快!你能做什么?显然,这不能涉及单个算法的细节。没有时间了,但接下来怎么办?把每种学习算法当成委员会上的一位专家,每个人都仔细观察待分类的实例——这个患者的诊断是什么,然后有把握地做出预测。你不是一位专家,却是委员会主席,你的工作就是把他们的意见结合成一个最终决定。你手上的问题其实就是一个新的分类问题,这种情况下,输入不是患者的症状,而是专家的观点。但你可以将机器学习以同样的方式运用到解决这个问题上,专家也会这样将其运用到最初的问题上。我们可以称其为元学习,因为它就是要了解学习算法。元学习算法本身可以是任意学习算法,从决策树到简单的权值投票。为了掌握权值或者决策树,我们利用学习算法的预测来代替每个最初例子的属性。经常能够准确预测类别的学习算法会取得较高的权值,而不准确的那些则容易被忽略。有了决策树,是否要利用学习算法可能会依照其他学习算法的预测来定。不管怎样,为了给既定训练例子获取学习算法的预测,我们首先必须将其运用到原始训练集“排除该样本”中,然后利用最终的分类器,否则委员会就有被拟合学习算法控制的风险,因为它们可以通过记忆类别来预测准确的类别。网飞奖获得者利用元学习来结合数百个不同的学习算法;沃森利用它来从备选项中选择最终的答案;内特·希尔也以相似的方式将投票与预测选举结果结合起来。

PDF 物理页索引 3238

文件中的第 3239 页 · 印刷页码:未识别

这种类型的元学习被称为“堆叠”,是大卫·沃尔珀特的创见,在第三章中我们提到过他,他是“天下没有免费的午餐”定理的创造者。还有一个更简单的元学习算法是“装袋”算法,由统计学家里奥·布雷曼发明。“装袋”算法通过重新取样的方法来产生训练集的随机变量,将同样的学习算法应用到每个训练集中,然后通过投票将结果结合起来。做这件事的原因是它可以减少变量:组合模型和任何单一模型相比,对于变幻莫测的数据的敏感度要低得多,这样提高准确度就变得很容易了。如果模型是决策树,且我们通过保留属性(这些属性因考虑每个节点而得来)的任意子集来进一步改变这些决策树,那么所得结果就是所谓的随机森林。随机森林到处是一些准确的分类器。微软公司的Kinect利用它们来弄清楚你在做什么,而且它们会经常在机器学习比赛中获胜。

最聪明的元学习算法之一就是推进,由两位学习领域的理论家约阿夫·弗罗因德和罗伯·夏皮尔创造。推进算法不是通过结合不同的学习算法,而是将相同的分类器不断应用到数据中,利用每个新的模型来纠正前面模型的错误。它通过将权值分布给训练实例的方式来完成这件事。每个被误分类的权值,在每轮学习过后都会增长,使得后面的几轮会更向它集中。推进算法的名字源于这样的想法:该过程可以推进只比随机猜测好一点的分类器,但如果持续如此,就会接近完美。

元学习非常成功,但它却不是深入组合模型的方法。另外,它也昂贵、苛刻,因为会做很多轮学习,而且组合模型可能会很难懂(“我认为你有前列腺癌,因为决策树、遗传算法、朴素贝叶斯算法都这么判断,虽然多层感知器和支持向量机反对”)。此外,所有的组合模型确实只是一个巨大而凌乱的模型。难道我们不能找到完成同样任务的单一学习算法吗?当然可以。

PDF 物理页索引 3239

文件中的第 3240 页 · 印刷页码:未识别

终极算法之城

我们的统一学习算法也许通过延伸寓言可以得到最好的介绍。如果机器学习是一块大陆,被分成5个区域,那么终极算法就是首都城市,矗立在5个区域会合的特殊地带。如果从远处接近它,你会看到这个城市由3个同心圆组成,每个圆被一堵墙围着。外围的圆,也是最宽的圆是“优化城”。这里的每个房间就是一种算法,而且它们有不同的形状和面积。有些房子在建设中,当地人忙着围着它团团转;有些房子非常崭新;有些房子则看起来老旧荒废。山的更高处是“评价城堡”,命令不断从它的大厦和宫殿向下面的算法发出。最重要的是,在天空的映衬下,“代表法之塔”矗然而立,这里住着城市的统治者。他们的城市有不可改变的法律,不仅规定在城市范围内,而且规定了在整个大陆什么能做、什么不能做。在中央,最高的塔尖飘扬着终极算法的旗帜,颜色是红和黑,上面的五角星围着我们无法理解的文字。

这座城市被分成5个区域,一个区域属于一个学派。每个区域从“代表法之塔”一直延伸至城市的外墙,包围了塔、“评价城堡”里的一群宫殿,以及它们俯瞰的“优化城”的街道和房屋。这5个区域和3个圆圈将城市划分成15个区域、5种形状,以及你需要解决的那15块拼图(见图9–1)。