万能算法读后笔记(一)

前言

人工智能和机器学习是我们上一期看书的主题。 在厚着脸皮问一位在伦敦只有过一次火锅之缘的DeepMind的研究者荐书以后, 在他善意无私推荐的几本书里面, 我们选择了The Master Algorithm by Pedro Domingos, 直译过来, 大致是大师算法, 但是按照中文的语言习惯, 我认为翻译成万能算法更为合适, 就如同一把万能钥匙一样, 万能算法能打开所有知识以及解决方法的大门。本书还有一个副标题 How the quest for the ultimate learning machine will remake our world 对终极算法的追求如何重塑我们的世界。

万能算法读后笔记(一)_第1张图片

作者Pedro Domingos是机器学习领域里的专家。这本书出版于15年9月, 是专门写给非专业的人士看的。尽管如此,这本书几乎是我们读过的书里面对我而言难度最高的书了。我自己有一定的神经生理,生物学,心理学,和医学统计背景,也因为工作的关系主导参与过工作流程电子化过程中前期的流程设计过程,这是在阅读这本书里比较对应的地方。 也可以比较自信地说阅读难度不在于英文本身, 而是由于我本身非工科出身,缺的几学期高数课, 以及科学思维和素养上的差异。  好在这本书本身就是写给我这样的广大非专业的人看的,机器学习在发展过程中也有很多跨学科的交叉。 作者在省略繁重的数学运算之后, 试图用最直白浅显的方式介绍机器学习,时不时还有一些俏皮话和各种梗,就如同彩蛋一样非常有趣。 如果你觉得我有的地方说得不清楚,甚至讲错的地方,第一个可能真的就是我本身专业水平有限,第二个就是从英文到中文的过程中,我也经历了语言的转换。同样我们之前也经常遇到这种情况,阅读的时候看的英文, 讨论的时候用中文, 大家就有点儿舌头捋不直甚是搞笑。既然是交流讨论,互相学习为主,那么也没有必要吹毛求疵,交流过程中有进步就好。

因为篇幅的关系, 我会把本书的阅读笔记分开发布在这个平台。 我最初想一篇文章就搞定了, 结果发现字数太多, 想的是分上下两篇,结果现在我也不知道会分成几篇了, 写完了为止吧……


正文

无论我们看见与否,愿意接受与否, 机器学习都已经在现代生活中无处不在, 不管你用百度还是谷歌, 亚马逊还是淘宝, 当你在网络上, 手机终端输入搜索关键词,寻找你想去的地方, 想去的餐馆, 想点的外卖, 感兴趣的有购买意向的物品, 网络给你答案的同时, 网络的终端也在学习什么是你感兴趣的, 然后一次次搜索的结果会让你的兴趣爱好更加被了解, 以便下次你上网时推荐给你感兴趣的物品或服务。 这些现象的背后, 都有机器学习的影子。

机器学习也在试图分解爱情的密码, 帮人们寻找到能共度短至一晚,长至一生的意中人。虽然据我身边的少部分用户体验而言,当你想要寻找到长至一生的人生伴侣时, 它更像是排除了许多不适合的人。从一无所知,到知道什么不合适, 这起码也是种进步

。 毕竟短至一晚的参数可以很少, 而长至一生的参数很多,不同的参数还带着不同的权重,什么样的算法目前都很难不在高维的数据空间里迷失掉。。。。 (一本正经地讨论不正经的问题)

通过不同学科的角度, 作者试图证明他的猜想,那就是万能算法的存在。 万能算法于机器学习的意义, 就如同DNA作为生命科学的密码, 大脑于神经科学而言,作者心目中的万能算法能够推算出过去,现在,未来的所有知识。 

“All knowledge_ past, present, and future_ can be derived from data by a single, universal learning algorithm. ”

作者把目前机器学习里面的主要五种算法学派都梳理了一遍,然后试图在五种算法里面寻找共性, 或者将五种算法结合, 创造一种万能算法。 这五种学派, 我更愿意谑称他们为流派,分别为符号派(symbolist),联结派(connectionist), 进化派(evolutionist), 贝叶斯派(Baysian), 以及比较派(Anologist)。

如同所有的学科引言都喜欢从讨论哲学开始一样, 作者一上来让读者思考, 你是一个理性主义者(rationalist) 还是经验主义(expiricist)。这里的理性主义者不是像我们平常讨论某人理性还是感性。而是哲学的两大流派:如何认识这个世界? 理性主义者认为感官是具有欺骗性的, 只有逻辑推理才是通向知识的唯一途径 (senses deceive and that logical reasoning is the only sure path to knowledge), 经验主义者认为所有的推理都是容易出错的, 知识的获得来源于观察和实验。虽然一个不相信感官, 一个相信感官,但是这两个哲学派别都在启蒙运动时大绽光彩。前派建立了微积分和分析几何,后派奠定了现代科学观察实验研究的基础。而著名的经验主义家大卫 休谟(David Hume)提出了一个如同达摩克斯剑一样悬挂于所有知识之上的问题: 

How can we ever be justified in generalising from what we’ve seen to what we haven’t. 

我们如何能够证实我们所见过的,也会适用于我们还没见过的?

作者说所有学习算法,在某种程度上, 都是在试图回答这个问题。 我只想说,真的是所有的科学研究,所谓人生经验,鸡汤文,都要能够回答这个问题才能站得住脚。 而我, 在看这本书时, 被这个问题纠缠了很久, 说实在的, 我没法回答。 甚至觉得, 这没法证明。假如稍微搜一下休谟,也能理解为什么他会被现代人视为已经接近于虚无主义。因为如果你从过去的经验里面学习总结的所有经验其实都不适用于未来时, 那其实所有的知识都是没有用的。最后作者意译并简写了牛顿推理四大规则里的第三条, 算是大致回答了休谟提的问题:

在我们所见的(世界)里面为真的, 在宇宙里也为真。

“Newton’s Principle: Whatever is true of everything we’ve seen is true of everything in the universe. ”

这是牛顿总结地球上观察到的引力原理也能够适用于宇宙时, 所提出的四大规则中的第三条。(有兴趣虐一下脑的人可以搜Newton’s four rules of induction/reasoning)。 在牛顿之后的几百年里的科学观测都印证了宇宙中的物质都适用于牛顿定律。作者说这条规定也如同机器学习领域的第一条不成文的规定, 科学界的研究都是在这个框架以内开展的。 作者也俏皮地说到想象如果有一个特别多变任性的宇宙不适用于这条定律, 那么这个宇宙就不是我们所在的宇宙了。


符号学派的概念(Concept)与规则(set of rules)

符号学派的核心观念就是所有的智慧都能简化成可操作的符号。就如同数学和物理通过数字和符号来代表及运算自然界,甚至社会运作的规律, 符号学派的机器学习者也试图用符号和逻辑运算来解决机器学习的问题。

简单地来说, 符号学派的几个基本元素就是概念(concepts)和规则(set of rules), 决策树 (decison tree)是其中一种比较直观表示逻辑关系和规则的方式。

概念需要由一系列的规则来定义, 然后规则的运行需要用逻辑推理的(logic reasoning)真与假来支撑。 规则制定的过程中值得注意两类问题, 一是blindness(失明), 二是hallucination(幻觉) or overfitting。 blindness很形象, 就是设定的规则只适用于用于制定规则的对象里,假如制定一个识别垃圾邮件的规则是跟之前看到的垃圾邮件一模一样, 那下次这个程序看见了其它的垃圾邮件,但是发垃圾邮件的从售房广告变成了彩票广告或者其它广告,或者换了一个租房广告,那么这个程序就无法识别稍微有点变化其它类似垃圾广告。 Hallucination or overfitting是我比较感兴趣的, 因为它在生活中更无处不见, 但是更容易被忽视。overfitting我没有找到合适的词翻译, 网上的翻译’过拟合’也太过于专业化了。 (插一句有时候会觉得英文的文章比翻译的中文更好懂的其中一个原因可能就是英文里本来用很简单的词形容的一个概念, 到了中文里会用不符合日常语言习惯的过于高深晦涩的词翻译。overfit用英文我不用有专业知识也很好懂, 用过拟合, 作为母语中文的人我只能说这什么鬼。)

作者举了一个很具有种族色彩的例子形容overfitting:一个家里有拉丁保姆带着的白人小孩儿,因为小,还没有没见过其它职业的拉丁人。 偶然见到了一个拉丁小孩儿以后, 指着拉丁小孩儿喊’婴儿保姆’。  当一个小孩儿这样行为的时候, 我们并不会认为她是种族歧视者, 而只是因为年龄小,认识有限, 认为长得像拉丁人的就是保姆,尽管拉丁人里面也有从事很多其它工作的。 但是成年人更容易被认为成年的自以为是而产生错误的结论。比如我们常见的地图炮攻击,地域歧视,标签化,各种婊等无差别人身攻击。

完全精确的理论和推算在科学以及机器学习中都是很难实现的。 研究者们接受的程度就是足够好就够。 

因为创造一个能够解释所有已发生的现象的理论是一件很容易的事,所以只能够做到这点,这个理论还不够好。这个理论必须也能够做出新的预测, 这个理论只有被新的证据证实以后,这个理论才能够被接受。 这种接受也只是暂时的,因为新的证据仍然可能证实这个理论为伪。在机器学习中的blindness和hallucination被叫做bias(偏差), variance(方差)。 坦白说当年上统计的时候, 偏差好理解,方差特别不符合母语里面的表达习惯,但是英文的bias和variance就很好理解。 偏差bias就比如你的手表十次里面,正常应该10点的时候,总是指示9点,那么偏差就很大,方差就相对小。方差variance就是十次考试里面,一会儿考90分,一会儿考70分点, 一会儿又是60分,但是十次下来的平均数,都是80分,每次考试和十次考试的平均分的差别很大,成绩不稳定,那就是方差大。同样的,如果你的成绩每次都是80分上下5分左右,然后程序预测你的考试结果一会儿100,一会儿30,一会儿60,虽然预测的平均结果还是80分,但是预测的方差很大,也不够精确。 好的预测应该是偏差和方差都较小。

决策树(Decision tree)

当有一系列的逻辑推理就可以用决策树来表示。 逻辑推理以及决策树这大概是我认识的工程师们,尤其电脑工程师们最爱的方法。 (我认识的程序员数量有限, 如果你大概不属于这类, 请自动屏蔽我这句话而不要来喷我)。 一个简单的决策树, 就如同你想抱怨一个产品打客服电话的时候,听到的永远先是录音的声音:

 咨询问题1,请按1; 咨询问题2, 请按2; 咨询问题3, 请按3;… … 其他请按0。当你好不容易听到你想听到的内容并且按了相应按键时, 接下来第二轮, 咨询问题A,请按1; 咨询问题B, 请按2; 咨询问题C, 请按3... …。

符号学的局限

20世纪七八十年代的时候, 符号学曾有过蓬勃的发展, 然而很快就遇见了瓶颈,因为把某学科领域专家的知识进行提取, 按特定规律编码是一件费时费力效率低的时,且结果并不见得好。 当问题变得复杂时, 决策树也变得极其繁琐, 从而导致运算效率低下。


由因到果相对容易推导, 但是由果向因反向推导时,造成一种结果的却有可能由多种原因, 同时内部的干扰因素可能会有多种, 如何排除干扰因素本身就很复杂。从一只猫的图像一直放大到多个像素容易, 但是单看多个像素就想推测出来这是猫还是狗还是别的什么, 就不是一件容易的事情了。 

现实中的概念在定义时很难非此即彼去定义, 而是存在很多灰色领域。 医生在诊断疾病的时候, 一些症状相对重要, 一些症状相对不重要, 一些教科书上说某种疾病可能会具有的症状可能在某位病人身上根本不明显。 这是为什么临床的书本学习, 背定义背症状, 到了临床上严格地在每一位病人身上找完美符合症状的医生, 估计很难再临床干下去。 

联结派Connectionist 对符号学的一大批判也源于此。 Connectionist认为能用逻辑规律定义的概念只是水面上的冰山一角,水面以下无法用推理推测出来的还有极大一部分, 也就是我们已熟知的潜意识。 就算把逻辑所知的所有拼接起来,也无法组成一个有意义的科学家,因为它缺乏最重要的一部----大脑。科学家们可以通过逆向工程, 即通过观察一辆车的内部是如何运作来试图建造一辆同样运行的车。同样的,联结派希望通过观察了解大脑是如何运作的,从而试图在计算机上模拟大脑的运作过程, 于是阿尔法狗就在这样的想法下诞生了... ...

未完待续... ...

你可能感兴趣的:(万能算法读后笔记(一))