类比是推动许多历史上最伟大科学进度的动力。当达尔文阅读马尔萨斯的《人口论》时,被经济和自然界中生存竞争的相似性触动,所以有了自然选择理论的诞生。

类比在机器学习中扮演重要性刚开始进展缓慢,它的第一个算法的化身出现在一份写于1951年的技术报告中,作者是两位伯克利的统计学家——伊夫琳.菲克斯和乔.霍奇斯。最近邻算法是我们类比学习法之旅的第一站,第二站是支持向量机,第三站也是最后一站,是成熟的类比推理法。

类推学派不像其他学派有很强的身份意识和共同理想,类推学派则更像研究人员松散的集合体,他们的统一依靠的是对于作为学习基础的、相似性判断的信任。

最近邻算法是人类有史以来发明的最简单、最快速的学习算法。实际上,甚至可以说,这是人类可以发明的最快速的算法。研究人员最初之所以对最近邻算法持怀疑态度,是因为它不确定能否找到两个概念之间的真正边界。但1967年,汤姆.科韦尔和彼得.哈特证明,在给定足够数据的情况下,最近邻算法最糟糕时易于出错的概率也仅仅是最佳可行分类器的两倍。

在低纬度条件下(比如二维或者三维),最近邻算法通常能够很好地起到作用。随着维度的上升,事情就会很快陷入崩溃状态。举个例子,符号学派的方法很擅长处理非相关属性:如果该属性不含任何关于等级的信息,那么它就不包含在决策树或者规则集当中。但让人感到无望的是,最近邻算法会受到非相关属性的迷惑,因为这些属性都能够促成例子之间的相似性。有了足够的相关属性,不相关维度中的偶然性会清除重要维度中有意义的相似性,而最近邻算法和随意猜测相比也好不到哪里。

最近邻算法的基础是找到相似物体,而在高维度情况下,相似性的概念就会无效。超空间就像过渡区域。在三维空间里的直觉不再适用,怪异离奇的事开始发生。

另一个让人不安的例子发生在正态分布,又名钟形曲线。正态分布认为,数据本质上就落在一个点上(正态分布的平均值),但其周围也会有模糊的东西(由标准差给出)。在超空间中不是这样的,在高纬度正态分布中,你比较有可能得到远离而不是接近平均值的样本。超空间中的钟形曲线看起来更像甜甜圈,而不像钟。当最近邻算法走进这个颠倒的世界时,它会变得非常困惑。所有的例子看起来都一样,同时因为它们距离彼此太远,无法做出有用的预测。

实际上,没有哪种算法能够幸免于维数灾难。这是机器学习中,继过拟合之后,第二个最糟糕的问题。“维数灾难”这个术语由理查德.贝尔曼在50岁时提出的,他是一位控制论理论家。他观察到,控制算法在三维空间中可以起到很好的作用,但在高维度空间中则变得效率极低。在机器学习中,问题不仅仅在于计算成本——随着维度上升,变得越来越困难的是学习本身。

然而,并不是所有东西都丢失了。我们能做的第一件事就是摆脱不相关维度。决策树会自行做好这一点,方法就是计算每种属性的信息增益,然后只使用最能提供信息的属性。对于最近邻算法来说,我们可以完成类似的事情,方法就是首先丢弃所有那些信息增益低于阈值的属性,然后只在简化的空间中测试相似性。

直到20世纪90年代,应用范围最广的类比学习算法就是最近邻算法,但后来被其他学派夺去光芒。当时一种新的以相似性为基础的算法横空出世,它就是支持向量机(SVM),是弗拉基米尔.万普尼克(一位苏联频率论研究者)的创意。

表面上看,支持向量机看起来很像加权k最近邻算法:正类别与负类别之间的边界由一组例子、其权值加上相似性测度来确定。测试实例会归入正类别,条件是从平均水平上看,它看起来更像正面例子而不是负面例子。平均数会被加权,而支持向量机只会记住那些用于确定边界的关键例子。

通常,支持向量机选择的支持向量越少,就能更好地进行概括。任何不是支持向量的训练例子可能会被正确分类,条件是它显示为测试实例,因为正面和负面例子之间的边界仍在同样的地方。除了实践中的功绩,支持向量机还完全改变了许多机器学习中的传统观点。

然而,支持向量机唯一最让人吃惊的属性就是,无论它形成多么弯曲的边界,那些边界也总是直线(或者一般为超平面)。这并不矛盾,因为直线存在于不同的空间中。

两个东西如果在一些方面意见一致,那么它们就是相似的。如果它们在一些方面意见一致,可能在其他方面也会一致,这就是类比的本质。它还表明了类比推理中的两大子问题:弄明白两个事物的相似度,确定由它们的相似度还能推导出什么。

在任何类比学习中,最重要的问题就是如何度量相似性。它可以如数据点之间的欧几里得距离那么简单,也可以和含有多个水平子程序的一整套程序那么复杂,而且这些子程序的最终产出是相似度值。我们可以将类比学习应用到所有种类的物体中,而不仅仅是属性向量,只要我们有度量它们之间相似度的方法。类比推理的第二部分,就是弄明白在已经发现的相似点的基础上,如何推导出新的东西。

认知科学见证了符号学派与类比学派之间很长一段时间的争论。符号学派指向它们能够模仿但类推学派无法模仿的东西;接着类推学派弄明白如何做到这一点,然后想出他们能够模仿但符号学派无法模仿的东西,这个循环一直重复下去。

至此,我们已经完成了对5个学派的介绍,同时集中了他们的观点,议定他们的界限、探索了这些碎片如何拼凑在一起。我们现在知道的东西比一开始多的多,但还有一些东西没有找到。在这个谜题的中心有一个很大的漏洞,使人难以看到其模式。问题在于,目前为止,我们见过的所有学习算法,需要一位老师来告诉它们正确答案。

参考文献:

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

终极算法【7】——类推学派相关推荐

  1. 重构机器学习算法的知识体系 - 《终极算法》读书笔记

    2019独角兽企业重金招聘Python工程师标准>>> 最近有幸从图书馆借阅了Pedro Domingos的<The Master Alogrithm>一书,这本书的中文 ...

  2. 终极算法——第七章:类推学派:像什么就是什么

    本文为阅读总结个人认为书里概念性的.对本人有帮助的内容,仅供参考. 类比式推动许多历史上最伟大科学进步的动力. 类比推理有着突出的知识谱系.亚里士多德在他的相似律中就表达了这一点:如果两个事物相似,其 ...

  3. 终极算法——第三章:符号学派:休谟的归纳问题

    本文为阅读总结个人认为书里概念性的.对本人有帮助的内容,仅供参考. 你是理性主义者还是经验主义者? 理性主义者认为,感官会欺骗人,而逻辑推理是通往知识的唯一可靠的道路.经验主义者认为所有推理都不可靠, ...

  4. 大咖来信 | 张亚勤@2018:终日“闭关”读论文,思考终极算法

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 张亚勤是1998年决定回国的,距今已过20年. 这20年中,技术变革天翻地覆,中国发展也日新月异.他见证了互联网在中国的从弱到强,也看到了 ...

  5. JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)

    转载自   JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...

  6. 终极算法——第一章:机器学习的革命

    本文为阅读总结个人认为书里概念性的.对本人有帮助的内容,仅供参考. 我们生活在算法的时代. 算法就是一系列指令,告诉计算机该做什么,即如何操作计算机中的几十亿晶体管.所有算法,无论多复杂,都能分解为三 ...

  7. 终极算法——第八章:无师自通

    本文为阅读总结个人认为书里概念性的.对本人有帮助的内容,仅供参考. 如果我们能重新回忆婴儿和蹒跚学步时期的自己,然后从新生儿的角度看待这个世界,那么许多关于学习的疑问,甚至关于存在本身,都会突然变得清 ...

  8. SEO优化指南与c语言,SEO终极算法:一篇文章精通SEO优化

    今天是2017年9月14日,我大概是2015年7月份开始接触的SEO,如今已经有整整两年多的时间了,怎么说我也算半个老司机了.之前我也写过关于SEO优化一整套的优化流程,比如SEO终极算法系列,这一次 ...

  9. 大数据与智能算法(一-基础技术)-SMU在线学习笔记

    [课程来源]感谢B站Up主leonding1018的分享,老师的课程内容非常精彩. 本文是观看网络视频课程后的笔记,如涉及版权问题,请及时留言或私信与我联系. 1.旅行商问题(TSP问题) TSP问题 ...

最新文章

  1. python脚本自动消除安卓版_Android:检测内存泄漏的自动化测试Python脚本
  2. HTML5/CSS3/JavaScript
  3. 广东移动数据中心攻关“液/气双通道散热技术”
  4. 百度超级链XChain(8)部署开发
  5. 封装的ExtGrid 实现增、删、改、查等功能
  6. 计算机怎么录制视频教程,怎么录制视频教程?查看电脑具体录屏方法
  7. aspnetcore源码学习(一)
  8. docker 相关操作
  9. 描述一下JAVA的加载过程_JVM源码分析之Java类的加载过程
  10. shell如何快速执行上一个命令的最后一个参数
  11. 高并发解决方案相关面试题
  12. 国家地表水水质自动监测站坐标位置数据(共1946个点位,含断面名称、所在省份、所在城市、经度、纬度、所在河流、所在流域、断面属性、介绍、属地管理)
  13. 【方法】Altera Cyclone系列的EP1C3T144C8N FPGA利用ALTASMI_PARALLEL IP核读写自身的EPCS Flash存储器
  14. 普中51单片机的贪吃蛇教程
  15. C语言基础之14:结构和其他数据形式
  16. 想不到 HR 都在 GitHub 捞人!五位开源大牛分享成长经历(文末福利)
  17. android倒计时小工具,为五一放假倒计时《倒数日小工具》
  18. 色环电阻阻值如何识别
  19. Vuforia Ground Plane 平面识别
  20. android将彩图转为黑白_彩图转黑白的12种方法

热门文章

  1. ajax获取涨停股票接口,80后股神研究的两个涨停买入法!(图解)
  2. 追风筝的人 第十章
  3. 火车头采集器百度知道聚合采集插件说明文档!
  4. 从零开始的java区块链之路(一) 什么是区块链?
  5. [YOLOv7/YOLOv5系列算法改进NO.7]损失函数改进
  6. CF 809C about proof of previous solution
  7. 怎么校验一个数是否是素数(质数)以及如何更高效率的校验
  8. 编写bat命令打开文件夹或者doc,txt文件
  9. 锐捷ac怎么发现局域网ap_锐捷 ac ap 连接 记录
  10. socket 实现在线聊天室功能