今天与大家分享的是来自Airbnb的朱赟的一篇文章《IT江湖(一)之机器学习篇》,这篇文章讨论的是机器学习的五个部落,现在我们一起带着这些疑问,寻找这些部落后面的秘密吧。

 

 

通过上图,大家可以深度了解整个机器学习的框架。

 

 

事实上,如果把学习机器学习比作学习一门功夫,从整个程序设计来看,我们首先要学的应该是内功。这里有四大内功:存储系统、程序设计、网络通讯、操作系统。这些内功往往不是直接用来过招的,但正宗的武学必定出自于此。操作系统是在最底层的,上面可以有存储,存储之上需要有各种网络通讯,有了这些基本能力之后,你就可以写程序了。

机器学习中的五岳剑派有哪些?

 

 

所谓“五岳剑派,同气连枝”,接下来我们逐一来看以上五个剑派。

中岳符号主义派(Symbolists)

 

他们武功流派的核心是“符号主义-逆演绎算法”,实际上是逻辑学和哲学。

逻辑学和哲学其实就是演绎和逆演绎。那什么是演绎和逆演绎呢?比如,男人要挣钱,你是男人,那你是否要挣钱?这就是逻辑推理,下图呈现了演绎和逆演绎的一个经典问题。所以如果用一个词概括这个宗派,那就是逻辑推理。

西岳联结主义派(Connectionists)

 

 

他们的武功流派是“联结主义-反向传播算法”,起源于神经科学。看起来很高深,但其本质就是模拟神经元,构造神经网络。这是什么意思呢?其实就是有很多点,点之间互相连接,最基础的应用就是图像识别。

 

 

上图显示的是正在识别某个人。大家可以从左上方的图中看到,从上往下有很多小圆点,圆点之间有各种线连接。

这个宗派可以简单总结为正向预测,反向训练。

什么是正向预测呢?你输入很多特征值到神经网里,即正向输入,这样会不断激活里面的某些原子,一直往前传播,最后输出结果,这就叫正向预测。

什么是反向训练呢?假如你随便给出一个训练集的数据,你会预测出一个结果,根据这个结果和预想结果之间的误差,可以把误差的情况进行反向传播,也就是告诉每个节点现在的误差是多少,于是每个节点就向误差的反方向走就行了。这就叫做正向预测,反向训练。

南岳进化主义派(Evolutionaries)

 

 

第三个宗派是南岳进化主义派。所谓的进化主义,就是基因编程。

基因编程起源于生物进化学,核心是遗传算法和遗传编程。比如海星机器人,这个机器人不仅能自己学会走路,而且假如受到刺激后失去了腿,他还能重新模拟并学习新的行走方式。这看似很难,但核心点无非就是一个串,这个串的每一位可以用不同的字母表示,比如DNA就是用四个字母来表示的。

那什么叫进化?本质是自然选择。通过多次模拟自然选择,把预测结果不好的去掉,那些预测结果较好的串之间互相匹配,这就是所谓的DNA进化算法。

一句话总结起来就是:模拟自然选择。简单来说就是一串长的DNA串。DNA串通过自然选择的方式,把预测得较准确的部分进行混编,就得出新的结果了。

东岳贝叶斯派(Bayesians)

 

 

第四个宗派是东岳贝叶斯派,武功流派是概率推理。

概率推理起源于统计学。比如扔硬币,你会发现你扔了1万次后,出现正面和背面的比例大约是1:1。但如果你实际真的去扔硬币,比例可能不是1:1,可能是50.0005%到49.9995%之间,所以这个数据是基于概率统计的。

那么它最大的用处是什么呢?是反垃圾邮件。比如某个邮件来源于一个莫名其妙的地址,其中的内容还含有一些类似请付款的信息。它经过统计发现垃圾邮件很多都有这样的特征,于是推理出这是垃圾邮件,这就是基于概率的推理,也可以说是基于特征的概率估算。

北岳行为类比主义派(Analogizer)

 

 

最后一个宗派是北岳行为类比主义派。武功流派是行为类比主义 – 核机器。大家可能会发现机器学习的这些概念每个听起来都太难懂了,但如果你真的把它拆解开来,好像也并没有那么复杂。

这个宗派的核心是近邻算法和内核机,起源于心理学。那它用在哪里呢?在Netflix当年举办的百万奖金竞赛中,前期很多好的算法都是基于SVM的。

 

 

什么是SVM?核心就是,有一个空间,中间被切开了。你的目标是在这个空间里找到一条切线或切面,把它切成两半,一半是对的一半是错的,这就是分类的另外一种解法。

有人可能会觉得,只是在这个空间里切,可能切的不是很好,那怎么切呢?一种方法是变化空间,把空间变成另外一个空间。或者换一种切法,用另外一种曲线。但无论怎么做,你都是采用某种方法找到一个好的切割法,这个切割法能把空间切开,一半属于A,一半属于B,这样就解决了分类问题。当然还有很多很复杂的方法,比如降维和升维,大家可以自己去了解。

深度学习能否一统江湖呢?

最后我们有一个经典问题:深度学习能否一统江湖?个人认为还有一些距离,为什么呢?就像作者在文中总结出来的:

  • 符号主义有一些自身的优点,比如它能提供一些知识的组合,即推理。

  • 进化主义能够提供一些结构进化,比如人的DNA进化,就是进化主义。

  • 贝叶斯主义能够考虑到很多不确定的情况,因为它本来就是基于概率的。

  • 类比主义很多时候能够做一些泛化的处理。

所以虽然深度学习目前比较火,但是其他的一些支线都各有各的用处,而且都可以在现实生活中找到例子。所以更多的时候,每一种算法都有它适合的情形,针对合适的情形找到合适的算法去解决它就可以了,并没有那么复杂。

总结

  • 万物归根。无论怎样,最后我们解决的还是一个预测问题,在不确定中找到确定性。

  • 希望大家内外兼修。机器学习只是在外面的一种招数,内在还有很多东西,比如上文讲到的四大内功,大家也要多多修炼。

  • 拿来主义,遇到问题就拿方法解。如果是图片识别,就选择机器学习算法。如果只是简单的判断垃圾邮件的问题,可以先用一些贝叶斯的方法。所谓拿来主义,就是不需要什么问题都要自己发明锤子,也不要想一个锤子解决所有问题,大家要针对具体的问题,运用合适的小锤子,网络上有那么多小锤子,我们都可以随时去拿。

 

参考文献:

https://www.kdnuggets.com/2015/11/domingos-5-tribes-machine-learning-acm-webinar.html

《吴恩达:Google人工大脑背后的那个人》http://www.pingwest.com/andrewng-deep-learning/

《Coursera,Andrew Ng的下一站是百度》http://www.pingwest.com/will-andrew-ng-join-baidu-idl/