终极算法【2】——终极算法

机器学习的应用非常广泛,更为惊人的是,相同的算法可以完成不同的事。在机器学习领域之外,如果你要解决不同的问题,就得编写两个不同的程序。

相同的机器学习算法不仅可以完成无穷无尽且不同的事,而且和被它们替代的传统算法相比,它们要简单得多。多数学习算法可能只有数百行或者数千行。相比之下,传统程序则需几十万甚至上百万行代码。

如果那么少的学习算法就可以做那么多事,那么有一个逻辑上的疑问:单个学习算法可以把所有的事情做完吗?实际上,对所有主要的学习算法——包括最近邻算法、决策树学习算法以及贝叶斯网络——来说,如果你为学习算法提供足够、适当的数据,该算法可以实现任一功能(对学习任何东西来说,都与数学相关)。需要注意的是,“足够数据”也有可能无限。

本书的中心假设就是:

所有知识,无论是过去的、现在的还是未来的,都有可能通过单个通用学习算法来从数据中获得。

作者将该算法称为“终极算法”。

一种算法怎么可能学习那么多不同的事情?实际上,种种证据表明终极算法是存在的,下面来看看它们是什么样的:

来自神经科学的论证

2000年4月,麻省理工学院的神经系统科学家团队在《自然》杂志上发布了一项非同寻常的实验结果。他们对雪貂的大脑进行重新布线,改变了雪貂从眼睛到听觉皮层以及耳朵到视觉皮层之间的连接。你可能觉得实验结果就是雪貂会严重致残,但并没有:听觉皮层学会看,视觉皮层学会听,而且雪貂没事。

大脑中的所有信息都以同样方式(通过神经元的放电模式)来表示。学习机制也相同:记忆通过加强集群放电神经元之间的连接得以形成,涉及一个叫作长时程增强的生物化学过程。

关于大脑是终极算法这个观点的最重要论据,就是大脑负责我们能感知以及想象的一切如果某物存在,但大脑无法对其进行学习,那么我们就不知道它的存在。

来自进化论的证据

生物多样性源于单一机制:自然选择。计算机科学家对该机制非常熟悉:我们通过反复研究尝试许多备选方法来解决问题,选择并改进最优方案,并尽可能多地尝试这些步骤。进化论是一种算法。

来自物理学的证据

在1959年的一篇著名文章中,物理学家、诺贝尔物理学奖得主尤金.维格纳惊叹“数学在自然科学中不可思议的有效性”。由少量的观察推导出规律,是什么神奇的力量让这些规律可以运用到超出其预测范围的领域?这些规律都是基于数据得来的,而为什么这些规律比数据还要准确好几个数量级?最重要的是,为什么简洁、抽象的数学语言能够如此精确地解释我们无限复杂的世界?数学就是如此,而且终极算法就是其逻辑的延伸。

来自统计学的论证

根据统计学流派的观点,所有形式的学习都是基于一个简单的公式——贝叶斯定理。贝叶斯定理会告诉你,每当你看到新的证据后,如何更新你的想法。

贝叶斯定理就是将数据变成知识的机器。据贝叶斯统计学派的观点,贝叶斯定理就是将数据变成知识的唯一正确方法。如果该学派的观点正确,贝叶斯定理要么就是终极算法,要么就是推动终极算法发展的动力。

来自计算机科学的论证

1936年,艾伦.图灵想象出一个奇怪的装置,它有一条纸带和机器头,头可以在纸带上进行阅读和书写,就是现在人们知道的图灵机。每一个可以想得到的、可以用逻辑推理解决的难题,都可以通过图灵机解决。此外,一台所谓的万能图灵机可以通过阅读纸带上的具体要求来模仿所有东西,换句话说,我们能够对图灵机进行编程,用它来做所有的事情。

机器学习算法与知识工程师

当然,有很多人支持终极算法,也有很多人怀疑终极算法。当某方法可以简单解决复杂问题时,存在怀疑符合情理。对终极算法最坚定的反抗来自机器学习永恒的敌人:知识工程。根据知识工程支持者的观点,知识无法自动被学习,必须通过人类专家编入计算机,才能对它进行学习。

另一个对机器学习持怀疑态度的人是语言学家诺姆.乔姆斯基。乔姆斯基认为,语言必须是与身俱来的,因为孩子听到的合乎语法的句子仅仅是一些例子,不足以学习语法。然而,这种说法仅仅将学习语言的任务交给了进化,它并没有反对终极算法,只是反对“终极算法是大脑”这个观点。

另外一个可能会反对终极算法的观点来自心理学家杰瑞.福多,他认为心理是由一系列模块组成的,这些模块之间只有有限的联系。即使我们相信心理模块理论,这个理论也并没有暗指不同的模块会使用不同的学习算法。


“无论你的算法有多聪明,总有它无法掌握的东西。”除了人工智能和认知科学,反对机器学习的常见观点几乎都可以用这句话概括。

有些事可预料,而有些事却不能预料,这个说法是正确的,而机器学习算法的首要任务就是区别可预测的事与不可预测的事。但终极算法的目标是要学习一切能认知的东西。

在机器学习中,复杂性存在于数据中。终极算法需要做的就是消化复杂性,因此,如果终极算法变得非常简单,那么我们也不用感到惊讶。虽然人类的手很简单,但是它却可以制作并使用无数种工具。终极算法与算法的关系,就如同手指与钢笔、剑、螺丝刀、叉子的关系。


我们不必从零开始寻找终极算法,而有几十年的机器学习研究可以利用。我们寻找终极算法的过程是复杂且活跃的,因为在机器学习领域存在不同思想的学派,主要学派包括符号学派、联结学派、进化学派、贝叶斯学派、类推学派。每个学派都有其核心理念以及其关注的特定问题。

对于符合学派来说,所有的信息都可以简化为操作符号,就像数学家那样,为了解方程,会用其他表达式来代替本来的表达式。他们的主算法是逆向演绎。

对于联结学派来说,学习就是大脑所做的事情,因此我们要做的就是对大脑进行逆向演绎。他们的主算法是反向传播学习算法。

进化学派认为,所有形式的学习都源于自然选择。如果自然选择造就我们,那么它就可以造就一切,我们要做的,就是在计算机上对它进行模仿。他们的主算法是基因编程。

贝叶斯学派最关注的问题是不确定性。所有掌握的知识都有不确定性,而且学习知识的过程也是一种不确定的推理形式。他们的主算法就是贝叶斯定理及其衍生定理。

对于类推学派来说,学习的关键就是要在不同场景中认识到相似性,然后由此推导出其他相似性。他们的主算法就是支持向量机。

每个学派对其中心问题的解决方法都是一个辉煌、来之不易的进步,但真正的终极算法应该把5个学派的5个问题都解决,而不是只解决一个。

本书将综合出一个拥有所有这些功能的终极算法:我们对终极算法的追求之旅让我们了解这5个学派。学派与学派相遇、谈判、冲突的地方,也是这个旅程最艰难的部分。每个学派都有自己不同的观点,我们必须将这些观点集中起来。将所有信息集中起来变成解决方案的方法,并不是很容易找到的,有些人甚至说不可能找到,但这就是我们要做的事情。


参考文献:

    终极算法. [美] Pedro Domingos 著. 黄芳萍 译

终极算法【2】——终极算法_第1张图片

你可能感兴趣的:(机器学习)