如何教电脑自主学习

用于教电脑如何学习的新技术正在超越专家

几年前,一家女装公司的董事们请我帮助他们为客户开发更好的时尚推荐。任何头脑正常的人都不会在这样一个我知之甚少的领域寻求我的个人建议——毕竟我是一名男性计算机科学家——但他们不是在寻求我的个人建议。他们是在寻求我的机器学习建议,我答应了。仅仅基于销售数据和客户调查,我就能够向我从未见过面的女性推荐我从未见过的时尚单品。我的推荐超越了专业造型师的表现。请注意,我对女性时尚仍然知之甚少。

机器学习是计算机科学的一个分支,它使计算机能够从经验中学习,并且它无处不在。它使网络搜索更相关,血液测试更准确,相亲服务更有可能为您找到潜在的伴侣。最简单的形式是,机器学习算法获取现有的数据集,梳理其中的模式,然后使用这些模式来生成对未来的预测。然而,过去十年机器学习的进步已经改变了这个领域。事实上,机器学习技术是使计算机在许多我们希望从事的任务中比人类“更聪明”的原因。见证沃森,IBM计算机系统,它使用机器学习击败了世界上最优秀的《危险边缘》选手。

然而,最重要的机器学习竞赛并没有涉及会说话的《危险边缘》游戏机。几年前,在线电影租赁公司Netflix希望帮助其客户找到他们会喜欢的电影——特别是那些不是高需求的“新发行”影片,而是来自他们很大程度上被忽视的旧片目录中的电影。该公司已经拥有一个内部电影推荐系统,但高管们知道它远非完美。因此,该公司发起了一场竞赛,以改进现有的工作。规则很简单:第一个将内部系统的性能提高10%的参赛作品将获得100万美元的奖金。来自世界各地的数万人报名参加。


支持科学新闻报道

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保关于塑造我们当今世界的发现和想法的具有影响力的故事的未来。


对于机器学习研究人员来说,这场竞赛是一个梦想(不仅仅是为了奖金,尽管它很诱人)。任何机器学习系统最关键的组成部分是数据,而Netflix奖提供了1亿个真实的、可供下载的数据点。

训练日

Netflix竞赛持续了将近三年。许多小组通过将单个电影分解为不同属性的长数组来解决这个问题。例如,您可以根据各种特征对任何电影进行评分,例如它有多有趣、有多复杂或演员有多有吸引力。对于每个观众,您回顾并查看他评论过的电影,以了解他对这些属性的重视程度——他有多喜欢喜剧,他喜欢简单还是复杂的情节,以及他有多喜欢看有吸引力的电影明星[参见第81页的方框]。

现在,预测变成了将观众的品味与新电影的属性相匹配的简单问题。如果他喜欢喜剧和复杂的情节,那么他很可能会喜欢像《热情似火》或《一条名叫旺达的鱼》这样的棘手的闹剧。在算法匹配了数十个这些属性之后,最终的推荐应该能很好地预测观众会如何喜欢这部电影。

我们自然而然地会想到诸如“喜剧”或“复杂情节”等容易识别的属性,但算法不需要做这样的区分。事实上,整个过程是自动化的——研究人员从不费心分析电影内容。机器学习算法将从随机的、匿名的属性开始。随着它获得关于观众过去如何评价电影的数据,它会微调属性,直到它们与观众评价电影的方式相对应。

例如,如果喜欢电影A的人也倾向于喜欢电影B、C和D,则算法会提出一个A、B、C和D共有的新属性。这发生在所谓的训练阶段,计算机在其中搜索数百万个观众评分。这个阶段的目标是创建一组基于实际评分而不是主观分析的客观属性。

机器学习算法产生的不同属性可能很难解释;它们可能不像“喜剧内容”那样直截了当。事实上,它们可能非常微妙,甚至难以理解,因为该算法只是试图找到预测观众将如何评价电影的最佳方式,而不一定向我们解释它是如何完成的。如果一个系统表现良好,我们就不坚持要理解它是如何做到的。

这不是世界惯常的运作方式。在我的职业生涯早期,我为一个银行开发了一个信贷审批系统。当我完成时,银行希望我解释每个属性的含义。这个要求与系统的性能无关,系统性能很好。原因是法律上的:银行不能在没有阐明理由的情况下拒绝某人的信贷,他们不能只给某人发一封信,说申请被拒绝是因为X小于0.5。

不同的机器学习系统将开发独特的属性集。在Netflix竞赛的最后几周,一直独立工作的小组开始使用所谓的聚合技术来融合他们的算法。在三年竞赛的最后时刻,两支队伍仍在争夺最高奖项。记分牌显示,The Ensemble(一个包括我在加州理工学院研究小组的博士校友的团队)略微领先于BellKor's Pragmatic Chaos。然而,最终审计的统计结果表明,两支队伍处于统计上的平局——每支队伍都比原始算法提高了10.06%。根据比赛规则,如果出现平局,奖项将颁发给最先提交解决方案的团队。经过三年的竞争,在最后时刻的战斗中,BellKor's Pragmatic Chaos比The Ensemble早20分钟提交了解决方案。在三年的竞争中,20分钟的延迟造成了100万美元的差距。

完美契合

电影评分竞赛中使用的机器学习类型称为监督学习。它也用于诸如医疗诊断之类的任务。例如,我们可以为计算机提供来自患者历史记录的数千张白细胞图像,以及关于每张图像是癌细胞还是非癌细胞的信息。从这些信息中,算法将学习应用某些细胞属性——形状、大小和颜色,或许——来识别恶性细胞。在这里,研究人员“监督”学习过程。对于训练数据中的每张图像,他或她都会给计算机正确的答案。

监督学习是最常见的机器学习类型,但它不是唯一的一种。例如,机器人专家可能不知道让双足机器人行走的最佳方式。在这种情况下,他们可以设计一种算法,该算法尝试多种不同的步态。如果某种步态使机器人摔倒,则该算法会学习不再这样做。

这就是强化学习方法。它基本上是试错法——一种我们都熟悉的学习策略。在一个典型的强化学习场景中——无论是人类还是机器——我们都面临着需要采取行动的情况。不是有人告诉我们该怎么做,而是我们尝试一些事情,看看会发生什么。根据发生的事情,我们加强好的行动,避免未来发生坏的行动。最终,我们和机器都会学习针对不同情况的正确行动。

例如,考虑互联网搜索引擎。谷歌的创始人并没有在1997年左右浏览网络来训练他们的计算机识别关于“多莉羊”的页面。相反,他们的算法爬取网络以生成结果的初稿,然后他们依靠用户点击来加强哪些页面是相关的,哪些是不相关的。当用户点击搜索结果中的页面链接时,机器学习算法会学习到该页面是相关的。如果用户忽略了出现在搜索结果顶部的链接,则该算法会推断该页面是不相关的。该算法结合来自数百万用户的此类反馈,以调整其在未来搜索中评估页面的方式。

过度拟合问题

研究人员经常使用强化学习来处理需要一系列动作的任务,例如玩游戏。考虑一个简单的例子,比如井字棋。计算机可以首先在角落里随机放置一个X。这是一个强有力的举动,计算机将比通过在侧面放置X来开局的游戏更频繁地赢得这些游戏。导致胜利的行动——角落里的X——得到了加强。然后,研究人员扩展此过程,以推断在游戏的任何未来步骤以及从跳棋到围棋的任何游戏中,正确的行动应该是什么。强化学习也用于高级经济学应用,例如寻找纳什均衡。

有时,即使是强化学习也要求过高,因为我们无法获得关于我们行动的反馈。在这种情况下,我们必须转向“无监督学习”。在这里,研究人员拥有一组数据,但没有关于应该采取什么行动的信息——无论是显式地,如在监督学习中那样,还是隐式地,如在强化学习中那样。我们怎么可能从这些数据中学习呢?理解它的第一步是将数据根据相似性分类到组中。这称为聚类。它收集未标记的数据并推断关于其隐藏结构的信息。聚类在我们考虑应该采取什么行动之前,为我们提供了对数据的更好理解。有时聚类就足够了——如果我们想组织一个图书馆,简单地将书籍分组到相似的类别就足够了。在其他时候,我们可能会更进一步,并将监督学习应用于聚类数据。

具有讽刺意味的是,机器学习从业者陷入的最大陷阱是向问题投入过多的计算能力。认识到这一事实并能够正确处理它是区分专业人士和业余爱好者的关键。

更多的计算能力怎么会反而有害呢?机器学习算法试图检测数据中的模式。如果算法过于激进——可能使用过于复杂的模型来拟合有限的数据样本——它可能会误导自己,因为它检测到样本中偶然发生的虚假模式,但这些模式并不反映真实的关联。关于机器学习数学理论的大部分研究都集中在“过拟合”数据的问题上。我们想要检测符合数据的真实联系,但我们不想做得过火,最终选择无法信任的模式。

为了理解这种情况是如何发生的,想象一下一个在轮盘赌桌上的赌徒(为了简单起见,我们将假设这张桌子只有红色和黑色数字,不包括0或00)。她观察了10次连续旋转,红色和黑色交替出现。“轮盘一定是倾斜的,”她想。“它总是红色、黑色、红色、黑色、红色、黑色。”这位玩家在她脑海中创建了一个模型,有限的数据集已经证实了这一点。然而,在第11次旋转时,就在她将100美元押在红色之后,轮盘的随机性重新确立了自己。轮盘连续第二次停在了黑色,她输光了一切。

我们的赌徒在寻找根本不存在的模式。从统计学上讲,任何轮盘赌桌都有大约五百分之一的机会在红色和黑色之间随机交替10次。然而,在轮盘赌中,过去的旋转对未来没有影响。下一次旋转总是有50%的机会出现红色。在机器学习中,我们有一句老话:如果你对数据严刑拷打足够长的时间,它就会招供。

为了避免这种结果,机器学习算法偏向于使用一种称为正则化的技术来保持模型尽可能简单。模型越复杂,就越容易过拟合;正则化可以控制这种复杂性。

研究人员通常还会验证训练集中没有的数据上的算法。通过这种方式,我们确保我们获得的性能是真实的,而不仅仅是训练数据的人为产物。例如,Netflix奖的评判标准不是针对提供给参赛者的原始数据集。它是在Netflix员工才知道的新数据集上进行测试的。

预测未来

如果你从事机器学习工作,很难感到无聊。你永远不知道你接下来可能会从事什么应用。机器学习使应用领域中的非专家——例如女装领域的计算机科学家——能够仅根据数据进行学习和预测。因此,人们对该领域的兴趣正在爆发式增长。今年春天,来自15个不同专业的学生参加了我在加州理工学院的机器学习课程。我也是第一次在网上发布课程材料并直播讲座视频;来自世界各地的数千人观看了并完成了作业。(您也可以这样做:请参阅下面“更多探索”中的链接。)

然而,机器学习仅适用于拥有足够数据的问题。每当有人向我提出一个可能的机器学习项目时,我的第一个问题很简单:你有什么数据?机器学习不会创造信息;它从数据中获取信息。如果没有包含适当信息的足够训练数据,机器学习将无法工作。

然而,无数领域的数据正变得越来越丰富,随之而来的是机器学习的价值将继续上升。相信我——预测是我的专长。

更多探索

机器从提示中学习。《大众科学》,第272卷,第4期,第64-69页;1995年4月。

推荐一部电影,赢取一百万美元。《工程与科学》,第73卷,第2期,第32-39页;2010年春季。

从数据中学习。亚瑟·S·阿布-穆斯塔法,马利克·马格登-伊斯梅尔和林轩田。AMLbook,2012年。http://amlbook.com

从数据中学习(在线课程):http://work.caltech.edu/telecourse.html

大众科学杂志 第307卷 第1期这篇文章最初以“会思考的机器”为标题发表在大众科学杂志 第307卷 第1期 (), 第 78页
doi:10.1038/scientificamerican0712-78
© . All rights reserved.