欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

终极算法【3】——符号学派

发布时间:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 终极算法【3】——符号学派 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

理性主义者认为,感官会欺骗人,而逻辑推理是通往知识的唯一可靠的道路。经验主义者认为所有的推理都是不可靠的,知识必须来源于观察及实验。

理性主义与经验主义是哲学家最热衷讨论的问题。柏拉图是早期的理性主义者,而亚里士多德是早期的经验主义者。关于这个问题的辩论,真正开始于启蒙运动时期,每方有三位伟大的思想家:笛卡尔、斯宾诺莎、莱布尼茨是理性主义的代表,洛克、贝克莱、休谟则是经验主义的代表。

大卫.休谟是最伟大的经验主义者,以及有史以来最伟大、以英语为母语的哲学家。为了得出符合逻辑的论断,休谟借用了洛克开创的经验主义思想,并提出一个问题:在概括我们见过的东西以及没见过的东西时,怎样才能做到合理?

机器学习本质上是一种炼金术,在魔法石的辅助下把数据变成知识。对于符号学者来说,魔法石就是知识。

在我们生活中,常常需要做出各种选择。有没有什么办法可以从过去的经历中掌握规律,然后信心满满地运用到未来的事情中?如果没有,那么机器学习不就是一个没有希望的事业了吗?就此而言,所有学科甚至所有人类的知识,不就随时可能会被推翻吗?

这种情况不是大数据能解决的问题。你可以像卡萨诺瓦那样放荡,有无数个可以约会数千次的女人,但你的主数据库还是不知道这个女人会说什么。正如你所知的那样,她的回答由一些你不知道或者无法知道的原因决定。

也许这不是什么大问题?有了足够的数据,大多数事件不就变得“微不足道”了吗?不是的。为什么记忆不能当作通用学习算法,我们现在可以用更量化的方式来解释这个问题。假设现在有一个数据库,含有1万亿条记录,每条记录有1000个布尔字段。每个问题可能的答案有两个,两个问题就是2乘以2,三个问题就是2的三次方,以此类推。结果就是:无论有多少数据,你基本上什么也看不到。你要决定的新事件已经存在于数据库中,而数据库非常大,这件事发生的概率低到可以忽略,所以如果不进行一般化,对你就不会有任何帮助。

休谟提出爆炸性问题之后的250年,大卫.沃尔伯特赋予了这个问题优雅的数学形式。他的研究结果被人们称为“天下没有免费的午餐”定理,规定“怎样才算是好的学习算法”。这个规定要求很低:没有哪个学习算法可以比得上随意猜测。

虽然如此,别马上就对机器学习或终极算法失望。我们不关心所有可能存在的世界,而只关心我们生存的这个世界。如果我们对这个世界有所了解,然后把了解的知识输入我们的学习算法,那么现在和随机猜测相比,学习算法就可以发挥优势了。

同时,“天下没有免费的午餐”这个实际的结论表明,不靠知识进行学习,这样的事不存在。只有数字也不够,从零开始只会让你一无所获。机器学习就像知识泵,我们可以用它来从数据中提取大量的知识,但首先我们得先对泵进行预设。

数学家认为机器学习这个问题是一个不适定问题:这个问题没有唯一解。汤姆.米切尔是典型的符号学者,称机器学习体现“无偏见学习的无用性”。亚里士多德曾经说过,在知识领域,没有什么东西不是首先凭借感觉来形成的。莱布尼茨又加了一句,“除了知识本身”。

计算机在给它编程之前,就是一张白纸;在用计算机做事之前,这个积极的过程需写入记忆。我们的目标是找到最简单的、我们能编写的程序,这样写好的程序就可以无限制地通过阅读数据来自行编程,直到该程序掌握所有能掌握的知识。

在机器学习中,概念性的例子成为正面例子,而与概念例子相反的则是负面例子。首先做有条件的假设,如果这样无法解释数据,再放松假设的条件,这就是典型的机器学习。这个过程通常由算法自行进行,不需要你的帮助。首先,算法会尝试所有单一因素,然后尝试所有两个因素的组合,之后就是所有三个因素的组合等。但现在我遇到一个问题:合取概念太多,没有足够的时间对其逐个尝试。

虽然合取概念的用途有很多,但并不能让你走很远。正如鲁德亚德.吉卜林说的那样,问题在于“编部落歌谣的方法有很多种,而每种方法都是正确的”。真正的概念是分离的。

我们可以像学习这条规则那样来同时学习多套规则,利用我们之前见过的算法来学习合取概念。我们学习每个规则之后,会排除该规则包含的正面例子,因此下一个规则会尽可能多地包含剩下的正面例子,以此来推,直到所有的例子都被包含在内。

规则集在很大程度上比合取概念要有力得多。如果你给我某个概念的完整例子,我只能将每个例子变成一个规则。这个规则规定了每个例子的所有属性,而这些规则的集合就是该概念的定义。规则集的力量是一把双刃剑。从正面看,你知道自己总能找到和数据完美匹配的规则。但你还没来得及开始觉得走运,就意识到自己很可能会找到一个毫无意义的规则。无用规则集的一个例子就是,只包含了你看到的正面例子,除此之外,没有其他的例子。这个规则集看起来100%准确,但那只是假象:它会预测每个新例子都是负面例子,然后把每个正面例子弄错。

每当算法在数据中找到现实世界中不存在的模型时,我们说它与数据过于拟合。过拟合问题是机器学习中的中心问题。在所有主题中,关于过拟合问题的论文最多。

学习算法特别容易过拟合,因为它们拥有从数据中发现模型、近乎无限制的能力。人类发现一个模型所用的时间,计算机可以找到数百万个。过拟合问题因为嘈杂的声音被严重夸大。在机器学习中,这些噪声仅仅意味着数据中的误差,或者你无法预测的偶然事件。

当你有过多假设,而没有足够的数据将这些假设区分开来时,过拟合问题就发生了。坏消息是,即便对最简单的合取概念算法来说,假设的数量也会随着属性的增多而呈指数级增长。因此,概念的数量就是属性数量的指数函数的一个指数函数!也许我们该放弃,不要把时间浪费在这样没有希望的问题上。

幸运的是,在学习过程中,会发生一些事,把其中一个指数消除,只剩下一个“普通的”单一指数难解性问题。当然,真正的算法不会只是从袋子里随机去除一个定义。这个算法会尝试所有定义,而且这些定义也不是随机选择的。算法尝试的定义越多,越有可能偶然得到能够和所有例子匹配的定义。

学习就是你拥有的数据的数量和你所做假设数量之间的较量。

更多的数据会呈指数级地减少能够成立的假设数量,但如果一开始就做很多假设,最后可能还会留下一些无法成立的假设。

在利用学习算法过去看不到的数据对其进行证实之前,不要相信任何东西。如果学习算法假设的模型对新数据来说也适用,你就可以很有信心地说那些模型是正确的,否则你知道学习算法过拟合了。对于机器学习来说,对不可见数据的测试是必不可少的,因为这是判断学习算法是否过拟合的唯一方法。

当然,知道何时过拟合这一点还不够,需要第一时间避免过拟合。这就意味着不再对数据进行完全拟合,即便我们能做到。有一个方法就是运用统计显著性检验来确保我们看到的模型真实可靠。另一个流行的方法就是选择更加简单的假设,“分而治之”算法会含蓄地选择更简单的规则,因为它在一出现只有正面例子的情况时,就会停止添加条件;在一出现包含所有正面例子的情况是,就会停止添加规则。

更深层的问题是,多数学习算法开始时掌握的东西很少,即使转再多“把手”,也没法让这些算法到达终点。没有成年人大脑中所存储知识的指导,这些算法很容易误入歧途。主算法应该能以大量的知识作为启动,然后对数据做出新概括时,用到这些知识。通常,我们以越多的规则和事实作为开头,也就有越多的机会运用“逆向演绎”归纳新的规则。

逆向演绎的一个局限性在于,它涉及很密集的计算,因此很难扩展到海量数据集中。因为这些原因,符号学家选择的算法是决策树归纳。

符号学派的核心理念就是,所有和智力相关的工作都可以归结为对符号的操纵。符号机器学习者和许多其他计算机科学家、心理学家、哲学家一样,都相信符号操纵的力量。心理学家大卫.马尔称,每个信息处理系统应该经过三个不同水平的研究:该系统解决所解决问题的基本属性,用来解决问题的算法和表示方法,以及这些算法和表示方法如何实现。

符号主义机器学习是人工智能知识工程学派的一个分支。20世纪70年代,所谓的基于知识的系统取得卓越成绩,而到了80年代,它们迅速传播,后来却消失了。它们消失的主要原因是人人逃避的知识习得瓶颈:从专家身上提取知识,然后将其编码成为规则,这样做难度太大、太费力、易出故障,会引起很多问题。

符号主义是通往终极算法的最短路程。它不要求我们弄明白进化论和大脑的工作原理,而且也避免了贝叶斯主义的数学复杂性。逆向演绎也有一些严重的缺点。可行的归纳法数量广泛,除非我们和最初知识保持亲密关系,否则很容易在空间中迷失。

联结学派对符号学派尤其不满。根据他们的观点,你能通过逻辑规则来定义的概念仅仅是冰山一角,其实表面之下还有很多东西是形式推理无法看到的。


参考文献:
    终极算法. [美] Pedro Domingos 著. 黄芳萍 译



总结

以上是生活随笔为你收集整理的终极算法【3】——符号学派的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。