问:之前听到一种说法,什么统计学家不认同机器学习的观点,什么最后搞统计学的最后都去做机器学习了,具体记不清楚了,这两方在理念上有什么不一样的地方呢?
答:搞统计的人入ML的行,许多都会从Probably Approximately Correct (PAC) learning开始,而PAC learning 在粗略意义上等同于排名第二答案说的“我预测明天 95% 的可能性 下雨的概率落在 【0.7,0.9】之间”。
简单来说,PAC learning就是统计中Frequentist的东西(以集中不等式为主,典型的例如Hoeffding Inequality, McDiarmid Inequality, etc)加上一些复杂度理论 。这东西有bound可证,且为诸如SVM,Boosting等提供了强力的理论基础,所以对机器学习理论界的影响相当大,有学者甚至认为以PAC Learning为分界,机器学习终于作为一门具有严格理论的科学,才算是从“略显民科”的传统人工智能中分离出来。可以说,这部分的思想是和搞统计的人十分契合的,个人认为这算是频率学派在机器学习领域的一次发扬光大。
然而,只要仔细思考这些bound的推导过程,就会发现其中有很多相当粗略的估计+不停的提高上界,上界,上界。而且在我个人看来,这些推导过程中使用的包括VC dimension, Rademacher complexity 等用来衡量一个函数族的richness的指标虽然数学上是严格的,但其“判断一个复杂函数在具体问题上的泛化能力”的能力依旧是十分贫乏的。一个典型的例子就是一个神经网络的VC dimension 它大到根本没有意义,然而确在很多实际问题上表现好过SVM。
最后,也是我认为的最关键的一点,PAC Learning 是 distribution unrelated的,也就是说,不管input服从什么样的distribution,只要是可测的,这个理论都成立,换句话说,It is true for every case, so it is useless forevery case. 一个完美到足以涵盖一切可能输入分布的学习理论,它也必定平凡到无法直接处理稍微有针对性的问题。
机器学习要做的好,需要data distribution related。具体的问题需要具体的prior/pre-knowledge。以“深度学习”为例(其实我比较讨厌“深度学习”这个词,都快发展成IT行业三俗了),比如图像因为是相对空间平滑的,所以用CNN就有意义,CNN里面的weight sharing, pooling, locality,就是针对图像这种特殊的distribution设计的,这就是直接注入在模型中的prior。再比如做speech或者translation会用RNN,因为RNN 可以捕捉时序关联,这又是直接注入在模型中的关于data distribution的prior。
所以目前看来,如果想要做出能work的东西就要一定程度上放弃大统一理论的梦想。因为机器学习是没有万能钥匙的,unlike Hinton, we don't know how the brainworks.
转自知乎「saizheng」回答
2016年,经管之家《机器学习》全国4月开课,详情请戳:http://www.peixun.net/view/558.html