入门书籍:《终极算法》的简介与深思

机器之心报道


The Master Algorithm 介绍

入门书籍:《终极算法》的简介与深思

The Master Algorithm 是一本介绍机器学习的科普性质读物,未涉及公式与代码,不要求读者具备相关的专业知识,一定的理科基础便足以通过阅读概念化的核心算法形成基础的框架式理解。作者 Pedro Domingos 是机器学习领域的资深专家,现任华盛顿大学计算机科学教授,著有多篇机器学习论文且荣获多项顶级科研奖项。全书条理清晰,内容丰富,深入浅出地介绍了机器学习中五大流派的衍生、发展和应用:推崇逆向演绎的符号学派、主张逆行分析的联结学派、模拟自然选择的进化学派、奉行概率推理的贝叶斯学派、以及根据相似性判断作出推理的类推学派。即使目前各种典型算法可以解决具有针对性的特定问题,书中有大量篇幅介绍通用算法的设想,试图将不同学派融为一体,博采众长,以一举解决所有的综合应用问题。作者对通用算法的存在和其即将出现的必然性所怀有的信心渗透在行文的字里行间。

The Master Algorithm Program 是研学社现下推出的一个入门级项目,基于 Pedro Domingos 所著的 The Master Algorithm 的阅读和讨论,旨在聚集起以此书入门机器学习的初学者,鼓励自由提问和开放式讨论,定期汇总问题并整理出相应的诠释,以创建一个有良好氛围的学习社区。项目推出至结束将持续十周,阅读进度为每周一章,每章讨论周期为一周,每周会引入一批新学员,通过相应章节测试题的申请者将被视为合格并会被邀请加入特定微信群。详情如下:


The Master Algorithm 第一、二章预览

章节概要

第一章主要大体介绍了算法以及算法如何工作的。在此章节中,你也可以概览不同的算法(包括如何创造新算法)。算法的学习方式是不同的,而这种不同会产生影响。关于学习算法,作者给出了生动的暗喻。「学习算法就是种子,数据是土壤,学到的程序就是长出的植物。机器学习专家就像是农民,播种、感概、施肥,照看植物的健康,但在其他方面置身事外。」

在第二章中,主要讨论了一个问题:一个算法怎么能学习如此多不同的、困难的事情?所有的主要学习器(learner),包括最近邻、决策树、贝叶斯网络、朴素贝叶斯的泛化,只要你给这些学习器足够多的合适数据,它们就能随意的逼近一个函数。

重点

第一章细节

  • 第一章 | 了解学习器:我们所知的学习器,也就是做出其他算法的算法。有了机器学习,计算机能够写自己的程序,所以我们就没必要写了。

  • 第一章 | 为什么商业开始接受机器学习:机器学习是很酷的一项新技术,但这并非商业接受它的原因,而是因为他们别无选择。

  • 第一章 | 为该科学方法增压:生成、测试、放弃或维持假设。

  • 第一章 | 10 亿个比尔·克林顿:学习案例

  • 第一章 | 一个时走陆路,两个时就走网路(Internet):机器学习的另一应用。

  • 第一章 | 我们要到哪?:总结

第二章细节

在详细列出所有算法之前,作者从不同角度给出了以下论点:

神经科学:大脑中所有的信息表达方式都一样,通过神经元的电刺激(electrical firing)模式。学习机制也是如此:通过强化形成记忆;神经元之间的联结同时激发,使用了一种名为长时程增强(long-term potentiation)的生物化学过程。

大脑就是主算法。有大脑无法学习的东西吗?我们还未见过。

进化:进化是一种算法。它的输入是所有生物的经验和命运。

物理:在物理学中,所有用于不同工程量的同一等式经常描述完全不同领域的现象,例如量子力学、电磁学、流体力学。所有的这些等式相当简单,都涉及到同样少的时间、空间工程量的变体。

这里,主算法就是等式。

统计:一种简单的公式成为所有学习的基础。贝叶斯定理是一个机器能够将数据转化为知识。根据贝叶斯统计理论,这是将数据转化为知识的唯一正确方式。

计算机科学:如果你能有效的解决 NP 类问题中的一个,你就能解决所有的 NP 问题,包括彼此。一个问题是在 P 中,我们是否能有效的解决它,在 NP 中,我们是否能有效的检查它们的解决方案。

主算法像是一台图灵机。

主算法对于算法就像是手对于笔、剑、螺丝刀和叉子。然后,下面是机器学习的 5 个阵营:

  • 符号主义

  • 建构主义(Constructionists)

  • 进化主义

  • 贝叶斯

  • Analogizers

主要概念

  • 算法:算法是告诉计算机做什么的指令。每个算法都可简化到三种运算:AND、OR、NOT。

  • 学习算法:也被称为学习器,是能做出其他算法的算法。有了机器学习,计算机能写自己的程序,我们就不需要写了。

  • 朴素贝叶斯:朴素贝叶斯是构建分类器的一种简单技术:模型为问题分配类型标签,表达为特征值的向量,其中分类标签来自于有限的数据集。它并非训练这种分类器的唯一算法,但这类算法基于同样的理论:所有的朴素贝叶斯分类器假设特定特征的值独立于其他特征的值,给定类别的变量。例如,如果一种水果是红色、圆的、直径大约为 10 厘米,它可能是苹果。一个朴素贝叶斯分类器将这些特征当成「此水果是苹果」概率的独立贡献,忽视颜色、形状、直径特征之间关联所带来的可能。

  • 最近邻算法:最近邻算法是首个被用来决定旅行推销员问题解决方案的算法之一。其中,推销员随机从一个城市开始,然后反复到最近的城市,直到所有的城市都到过。它能快速的产生最短行程,但通常布施最优规划。

  • 主算法:从过去、现在到未来的所有知识,都可由一种通用学习算法从数据中获得。我们要做的只是提供足够多正确类型的数据。


关于终极算法的思考

探讨人类和计算机之间「思考」和学习的差别,算法已经在多大程度上影响了我们的生活,以及当机器最终学会如何学习时将会发生什么。您说我们生活在一个算法时代。可是,为什么我们却感觉不到每天有如此多的算法在为我们工作,或是给我们捣乱呢?机器学习是如何在幕后悄悄工作,而不被我们注意到呢?计算机所做的每一件事都使用到了算法。你的手机、电脑、汽车、房子和家用电器都是基于算法。但是它们却是隐蔽的:你看见一个闪光的小装置,但是却不知道里面的运行机制。Siri用算法来理解你说的话,Yelp用算法来帮你选择餐馆,车子内的GPS系统用算法来帮你选择最佳路线,刷卡机用算法来帮你支付。公司用算法来选择职位申请者,共同基金使用它们来交易股票,国家安全局用它们来标记可疑电话。

「常规」算法和学习算法的不同是前者必须由软件工程师来人为编程,一步一步地解释计算机需要做的事情。而后者则是由计算机自己通过观察数据来决定它们需要怎么做:这是输入数据,那是想要的输出,我该怎么实现中间的转化?引人注目的是,同样的学习算法能学习做无数不同的事情——从下国际象棋到医学诊断——只需要给它们合适的数据即可。书名中的「主算法(master algorithm)」是什么?它与Ray Kurzweil的奇点有何不同?它有哪些潜在的优势呢?主算法是一种能够从数据中学习任何东西的算法。如果给它关于星球运动、斜面和钟摆的数据,它能发现牛顿定律。如果给它关于DNA的晶体图像数据,它能发现双螺旋结构。从你手机里所有的数据,它能学习预知你接下来会做什么并想办法帮助你。也许从大量的癌症病人的病历数据中它甚至能找到一个治疗癌症的办法。

它能带来的其他好处还有:家庭机器人、一个能回答你问题的万维脑(World Wide Web)而不仅是一个只能呈现网页的万维网;一个了解你和你最好的朋友的360度推荐系统,不仅仅推荐书籍和电影,还有约会、工作、住房和假期——你生活中的任何事情。

Kurzweil的奇点是人工智能超越地球人的一个点,因此变得无法理解。或者更确切的说是奇点的「视界」,就像任何光都无法逃脱的黑洞视界一样。如果没有主算法,我们就无法很快到达奇点。如果有了主算法,人工智能的发展必然会加速,但我认为我们依然能够理解这个世界,因为人工智能将会设计来为人类服务。我们也许不会理解它们是如何生产出它们给予我们的东西,但是我们能够理解这些产品能为我们做些什么,否则我们也不会想要它们。除此之外,这个世界总有一些部分已经超出我们的理解范畴。不同的是,现在它的一部分是由我们设计的,这无疑是一个改善。您在形容这个领域时,将其划分为多个「部落」,每一个都有一个不同的机器学习方法,它们在某些特定问题上的表现比其他方法更好,但是没有一个部落拥有可以包罗万象的算法——也就是一个可以回答所有可回答问题的机器学习程序。您将主算法与粒子物理学标准模型或分子生物学中心法则相比较:「它是一个统一的理论,能理解我们迄今为止所知的一切,并为今后几十年甚至几十年的发展奠定了基础。」这听起来口气很大。为什么主算法看起来可行?又是什么在阻止着分离的部落们来创造它呢?就算是一些最简单的学习算法也有数学上的证据,证明它们能从足够多的数据中学习。因此从这个层面上说,主算法无疑是存在的。实际上,每个部落中都有一些研究者们相信他们已经找到它了。但问题是算法要能够利用实际的数据和计算来学习你想要它做的事情。这里让我们转向经验证据:自然为我们提供了至少两个能学习(几乎)任何事物的算法例子,即进化和大脑。因此我们知道主算法是存在的。问题在于我们是否能够准确完整地把它弄清楚并写下来,就像物理学家将物理定律用公式写出来一样(公式本身也是一种算法)。

相关推荐