机器学习专家与统计学家观点上有哪些不同

机器学习专家与统计学家观点上有哪些不同?
【丝袜杀手Lee的回答(124票)】:
不太能同意那一大段英文翻译来的对统计的解释。怎么说呢,搞的在业界用的火,统计理论比较严谨,在学术界的人多一些。在业界混久了,难免“能吹”,在学术界混久了难免对严谨性有过高的苛求。
对于这句话:家更关心模型的可解释性,而机器学习专家更关心模型的预测能力。
我想大部分统计学家不能同意吧。统计学家不是更关心模型的可解释性,统计学家更加注重构建和解释统计模型时的严谨性。
比如说,机器学习的说,我预测明天下雨的概率是0.8, 统计学家就会说,我预测明天 95% 的可能性 下雨的概率落在
【0.7,0.9】之间。我们给出置信区间,不是单为了给一个区间,而是要告诉看结论的人,我给你的这个预测,以多大的程度可信。怎样给出这个可信性呢,用到的就是probability (概率论)。概率论是统计的基础,但是比统计更接近数学,比统计更严谨。食物链顶端的数学为什么鄙视统计?因为统计里已经有很多不严谨的东西了,统计里也涉及了很多直觉。
预测(prediction)也是大部分时候我们构建一个统计模型的目的,借助已有的数据和事实,作为输入,输入到统计模型里,加入对相应的randomness 的刻画 ,输出对未来的预测。世界不是一个function,世界是一个function+实现这个function的时候发生的很多随机性。
前辈答案里用这个梗来说统计学家否定机器学习模型其实是不对的,他觉得统计学家这么看待机器学习模型的结论:“如果你的markov模型输入都是历史股价,那如果第二天政府颁布了新法案禁止X行业发展,你在X行业历史利好基础上做出的判断就白瞎了;”
我觉得做统计的人不会这样否定你的模型的,我们做统计的会把“第二天政府颁布了新法案禁止X行业发展” 这个因素,考虑成randomness,用这个markov model predict的值,是 以90%的可信度可信的,因为政府有10%的可能颁布了新法案禁止X行业发展。
有一个小故事是我在系(IE系)里听一个统计学家 J. S. Marron (Prof of UNC-Chapel Hill ) 的seminar的时候,他们几个教授打趣道,:"those machine learning people are making predictions without probability! "当时大家哄堂大笑。自古文人相轻,估计学术界的鄙视链环环相扣,自古有之了吧。
没有深入了解过机器学习,我更希望在这个问题里看到机器学习的优势是什么,而不是因为搞统计理论的人都比较低调(在知乎上没怎么发现啊。。。),就用业界的吹牛技能来打压经典统计学。统计大牛们你们都在哪????
又想起来一个梗,最近“大数据时代”这本书不是比较火嘛,翻了两眼,有一句话是 “谷歌公司为了测试这些检索词条,共处理了4.5亿个不同的数学模型。在将得出的预测与2007 年、2008年美国疾病控制中心记录的实际流感病例对比后,他们的预测与官方数据的相关性高达97%”。被 4.5亿 吓哭了。。。我猜是做了4.5亿次step wise的回归筛选解释变量?相关性高达97%,我猜是解释变量用了n多个,导致R方=97%?在业界混的人,果然都比较“能吹”。。。
刚看了问题评论里的一个链接,里面有句话啊, 我来附一下吧:
之间有什么区别?
Brendan O’Connor的博文,初稿是08年写的,或许和作者的机器学习背景有关,他在初稿中主要是贬低了统计学,思想和[1]有点类似,认为机器学习比统计学多了些Algorithm Modeling方面内容,比如SVM的Max-margin,决策树等,此外他认为机器学习更偏实际。但09年十月的时候他转而放弃自己原来的观点,认为统计才是real deal: Statistics, not machine learning, is the real deal, but unfortunately suffers from bad marketing.
补充:评价里有人对这句话:“统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力。”存疑。
我第一次读这句话时是不能同意的,大致读了一下 前面答主 Talking machine talk的内容。按照我现在对机器学习的理解(当然我了解不多),我觉得这句话应该这么说:
统计学家通过建立严谨的统计模型来做预测,所以它能给出预测的可信性,置信区间。但是因为世界的复杂性导致很多问题我们不能构建严谨的统计模型,也不知道一个复杂事物背后的模型或者function是什么,所以统计模型解决不了人脸识别的问题。
【而机器学习 有一部分内容,只关心模型的预测能力,换句话说,我不管我中间的黑匣子里的那个原理是什么,我用很多很多参数,通过人工暴力调参的方法,直到我得到一个可以很好的区分男女人脸的模型为止。然后我就可以拿着这个模型去用啦~~但是我不能在理论上告诉你这个模型有多可靠。
为什么机器学习可以做到这一点?我个人猜测:在暴力调参的过程中,加入了人脑的直觉和认知推理功能,而人脑的功能是比计算机强大很多的。在建立一个learning model的时候,加入了人的learning的过程。(对机器学习了解不多,此段仅为个人脑洞。。)
当然复杂的问题里也是有一些能建立function的部分的,这时候就可以把能建function的部分建出来,condition on这个已知的部分,对剩下的未知部分进行暴力调参?(I guess)】
【机器学习】 对于暴力调参我了解不多,但是评论里
说的我觉得应该客观概括了machine learning调参的过程,方便学习我搬运一下 [我是大牛思想的搬运工~~~]
“grid search啊,grid search就是自动暴力调参,设置好要跑的参数让程序自动跑,跑一晚上第二天起来看哪个参数组合得到的结果最好。
可能对机器学习之所以有暴力调参的印象,多是由于deep learning的原因,这个现在很火,但绝大部分人没办法弄懂原理,什么ReLU,Dropout,BatchNormalization,估计没几个知道这些为什么会有用,看上去像拍脑袋想出来的,但反正是有用,想用好就只能凭感觉调参数了。
但是其他更成熟的模型,比如svm,ensemble,他们准确率高是有理论的,有统计的理论支撑他们为什么比linear classifier准确率更高,有最优化的理论使他们能得到近似解,有计算机的理论使他们能实际应用。”
【ericcheng的回答(165票)】:
这个问题是一个非常好的问题,很多机器学习界和统计学界的大牛们都或多或少的思考过这个问题。比如,在最近脍炙人口的Talking machine节目中就论述过统计学和机器学习的区别。先上主要结论吧:统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力。
以下内容是由对“talking machine"的转述归纳(引用格式标出的部分)+个人评注共同组成,节目介绍及英文原文附在最后。==========================================================================
统计学和机器学习之间的边界到底在哪里?在过去的十多年间,机器学习取得了惊人的突破,我们是否可以把这些巨大的成功归功于其背后统计学方法的进步,还是说另有原因?
: “我认为统计学和机器学习最本质的区别在于根本目标不同。统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力。”
** 统计学想干嘛?“以下的论述可能比较卡通化,是对问题的一个简化,但是从某种意义上来说,统计学更像是面向科学服务的一门工具。统计检验和假设检验,是当科学家们想要理解这个世界的一些性质,或者想要回答关于某个进程的一些关键因素时的首选利器。比如说,某种药物到底对治病有没有效果?统计学家为这一类的问题提供了非常完美的工具,有了这些工具,科学家们得以去测量和估计某些可以理解的变量的效果和作用。所谓可以理解的变量,说的是,科学家在建模时所涉及到的变量通常都有正常人类能够理解的量纲(比如物理学模型中的质量,速度),并且能与你要观察的某种现象或者效应直接挂钩(比如研究某种基因修饰对表观型的影响有多大时,该种基因含量,所表达的蛋白质的含量)。也就是说,统计学模型里涉及到的参数都是有实际意义的,因此当某个假设通过了检验时,我们就知道一些现实中的变量是如何相互作用的。
从这个角度来说,统计学通常把自己看做是量化分析的守门人,它的目标是通过严格的测量估计,假设检验,挑选出值得信任的假设,以此来理解各种生物体中的因果关联,或者是社会学中的某种进程或者是效应。当然,统计学里还包括了很多其他的重要想法和概念,比如,它对心理学、医学、社会学中的各种实验设计提出了规范和建设性框架。”
简而言之,统计学更多是关于世界本质的一个个检验,它的目标是建立一个可以理解的世界的模型。
** 机器学习目标为何?
“不同于统计学,机器学习更关心的不是模型的可解释性,而是模型的预测能力。机器学习的目标是搭建一套高效可靠的系统,能够持续的预测未来并且稳定的工作。比如,机器视觉系统需要做的是正确预测一张图片里的小动物到底是猫还是狗,两张人脸的照片里是不是同一个人,一个室内机器人是不是能够正确的识别出它周围的环境,等等。但这些系统内部的参数通常是数量巨大并且无法被人们直接理解的,更不用说有和现实生活中的某些特性对应的量纲了。但即使搞不清这些参数到底代表了什么,只要你的模型work,总能给出极为准确的预测就是王道。
有时候,某一类机器学习问题的正确率突然有了大幅度的提升,可能得益于人们弄清了该优化问题背后的理论难点,但更多的时候,某种算法是否成功完全由预测结果说了算,即使人们对其中的原理依然所知甚少。”
深度学习(deep learning)之所以在2000年至2010年的十年间比较沉寂,原因不外乎是人们无法理解它的学习过程中到底发生了什么,它一层一层学出来的feature究竟是什么,而它的表现又并非一枝独秀,因此它在一批更容易被人们理解的模型之间就显得不那么起眼了。但当Geff 在 2010 image net contest比赛上以deep convolutional neural network把对手甩开十条街后,deep net便瞬间令所有人折服了 。引用Geff的原话,"归根到底,我们还是得拿数据说话,当你的方法能将错误率降低一半时,人们必须得对你刮目相看。"(data always wins, when you can half the error rate, people will take you seriously.)
** 谁促进了谁?
从某种程度上说,统计学习理论里的很多想法的确给了机器学习一些启发,但是,这几年来机器学习发展的如此之快,如此火爆的根本原因更多的是来源于可训练数据量的大幅度提升(互联网的普及,human computation平台的成熟,各类线下数据的电子化等等)以及电脑运算性能的突飞猛进(ps,显卡计算的飞速发展已经到了丧心病狂的地步了,NVIDIA对研究机构的资助简直是不遗余力,不惜血本的拼命往外送显卡,真是超级大手笔。。。),而并不一定是统计理论本身的根本性突破。
“作为一个快速发展的行业,毫无疑问,机器学习吸引了统计学家的目光,越来越多的统计学界的一流人才都开始从机器学习领域吸收新鲜的想法,无论是算法层面,模型层面还是统计推断层面。可以说,机器学习是将统计学习中很早就提出来的一些想法进行了重新挖掘和重新定义。尽管机器学习的成功涉及到了一系列的统计学习方法,但这并不意味着统计学本身是这种成功的根本原因和最大推动力。”
** 求同存异
尽管统计学和机器学习的着眼目标不同,但在某些情况下,两者共同关注的一个问题是,一个模型究竟为什么work。虽然之前说到了实战结果是检验模型有效型的终极标准,但大家总归是希望最终能够理解在一步一步优化的过程中到底发生了什么,是什么trick,满足了什么条件,使得prediction error能够快速converge。有人说,devils are in the details比如,即使在深度学习横扫了全领域的今天,人们对neural network内部的trick依然是一知半解,如何改进现有网络的结构和更新迭代的规则使得它能够更快的converge,更准确的generalize?机器学习界的研究者们在一步步探究其内部机理的过程中也逐渐的将模型的准确率提上新高。
当然,作为更偏向于应用于实际的机器学习界,除了受制于理论上的upper bound,lower bound之外,在实际问题中,还会碰到很多对运算时间和存储容量上的限制,而这些往往是做统计理论的人不太关心的问题。
在回答的最后,Ryan说道:
做为在这两个领域里都有所活动的研究人员,有时自己也会迷茫我到底属于哪边?通常来说,机器学习界的专家,是不会缺席统计学的顶会的。但内心深处,我还是会觉得机器学习才是我真正的家:)
以下是答主的碎碎念:机器学习真是一个非常有趣的领域,它的有趣性不仅在于你能够通过它发现现实中data的很多有意思的pattern,还在于那些引领着你发现有趣规律的算法中本身蕴藏着的智慧。能进入这个领域我真是深感幸运,希望能早点进化成a serious player.
==========================================================================
最后给 talking machine节目打个小广告,是今年年初推出的一档融趣味性与高质量于一身,巨星大佬云集的机器学习访谈节目,每期节目里通常会邀请行业神牛谈谈行业发展,最新动向,以及比如他们在某期节目里居然同时邀请到了Geff Hinton, Yoshua Bengio and Yann LeCun同台论道! 这节目的规格有多高就不用我赘述了吧。对machine learning感兴趣的筒子们可以去关注下~
==========================================================================
本期节目的英文原文(4:50-10:50)(比较潦草的听打的,有不准确的还请轻拍) (节目链接)
Q: One may be concerned with statistical efficiency and oneis concerned with computational efficiency. But in practice, they play with alot of the same problems and some advances. Are some of the advances we've seenin the last 10 years in image processing, speech recognition and translation,are they the results of advances in machine learning or are they the results ofadvances or uses in statistics?
A: I think there are really some cool differences betweenstatistics and machine learning. It really has a lot to do with what theobjectives are. This is gonna be a little bit cartoonish, but at somelevel, statistics as related to service to science. Which scientists broadlydefined, means answer questions, coherently about properties of the world. Sostatistical testing, like hypothesis testing, is a really important thing, wherethere is some effect you would like to understand. Rather than whether itexists or not, whether this drug works or not. And statistics has an amazingtoolkit for answering questions like that of this flavor. Then there is also kind of estimating interpretableproperties of the world.
So you build a model and it contains variable, and should beunderstandable in terms of phenomena, and have units we understand. You want toknow what effect this genetic modification is on phenotype. So I think statistics, sort of views itself as in many ways,being about performing those kinds of estimation. And getting answers to thatare trustable, trustable by society broadly defined. And as a result in someways, the field of statistics is kind of a gate-keeper for a lot ofquantitative ideas of estimation of the data, in which it requires some kind ofrigor for understanding a lot of biological, sociological processes. I shouldsay that statistics, of course, includes a lot of other important ideas, likeexperimental design, gene-statistics, and a lot of other things.
Machine learning, has on the other hand, been a largelyabout prediction. And about building systems that are not necessarilyinterpretable, that don’t necessarily with parameter estimation that somethingmakes sense, like a unit, and so on. But it is entirely about making a greatprediction about something like, oh, it’s an image, a cat or a dog, or is thisperson the same, what environment this robot is navigating in, and so on.
And there is kind of a philosophy that statistics, abouttesting, about recovering that truth, whereas machine learning people have beenhappier to just make great predictions. Some successes have been due to theoretical understandingthat empirical success, as measured by actually doing well, on differentproblems, is kind of sufficient.
As I have said, it’s kind of a cartoon impression of things.But I think it holds true in forms of a lot of different sorts of problems. Andthis is different though, that have the success of machine learning, in thelast 8 or 15 years. Has those been due to statistical ideas... And you know at some level, it is certainly true thatstatistical ideas inform machine learning and there is a lot of language, but Ithink, part of the reason that machine learning has become popular is thatbecause it is so aggressively raised in new computational capabilities,algorithmic. And statistical methodology particularly, has this sort ofconservatism. That caused it to embrace pure algorithmic ideas.
What we are saying, I think, are the sort of, is actually areal merging of this fields, in which many good statisticians are starting topay a lot more attention to machine learning community for interestingalgorithmic ideas, and sort of new modeling insights, and inference insights.
And I think machine learning is really coming around to pushthere is a long history of very important ideas in statistics that a don’t needto just be reinvented over and over again.
I guess at the end of the day I would say that just becausea lot of these new successes have involved a lot of statistical methodologiesdoesn't mean that statistics are sort of responsible for them.
And in some ways, and some of the very best people aroundand had a hard time identifying I belong to one, or the other. I kind of think myself as being like this, like I like to goto statistics conferences, and talk to statisticians, but I also really careabout computation, I care about the AI version of this problem. And considerthis machine learning community as been my home.
【邹日佳的回答(6票)】:
为什么搞统计学的好多都去做机器学习了?学术界可能不是这样,但对于一般人来讲,确实差不多。大部分的业界原因我比较认可宋一松的说法。我不认可说机器学习更注重预测,统计更注重阐释,你看看机器学习里决定树的阐释效果差么,统计真不注重预测么(stepwise 这种纯预测统计基础工具要哭了)。说机器学习很难保证完备性和稳定性的, 那validation 又做来干什么,而且abnormal case analysis 不应该是单独的一门学问么,至于地震什么的,通常做法是买保险吧。。。
统计跟机器学习在应用层面上根本的差别是什么?
还是那句老话,无论是传统的统计,还是贝叶斯统计,统计永远都是在用样本估计总体特征。而社会科学研究的主要就是人类这个大总体。
你再看看机器学习的应用方面,
互联网企业或银行业是直接掌握了总体的数据啊,或者说对于他们的应用来讲,不需要估计一个更大的总体了啊,只要研究他们用户本身就足够了。
所以你会由此发现两者使用的差别是如此的巨大。就拿一个基本的feature selection作对比例子。
传统统计学方法:ANOVA and ANCOVA, Best subset, LASSO and Ridge, PCA
机器学习方法:Decision Tree(当然还可以由此衍生出random forest, gradient boosting, etc.)
看看上边的,是不是有的涉及最大似然估计,估计的是什么,是总体啊。有的涉及减小方差损失,为什么,也是为了总体考虑啊。
你再看看下边的,只要分的最有用就好。怎么算有用,比如说test case 的mse最小,我不需要估计test case 的分布,因为我从traing case里完全知道。这也算是大数据的力量吧。
在比如说对于unbalanced data set:
传统统计学方法在glm里各种mixed modeling (or hierarchical modeling)还要防over-dispersion, 究其原因还是要估计总体。
机器学习方法最直接的就是SMOTE, 直接制造更多的minority case以及减少majority case,也是完全不用管总体分布的。
【SZZhang的回答(7票)】:
搞统计的人入ML的行,许多都会从Probably Approximately Correct (PAC) learning开始(也就是楼上多位童鞋提到的learning theory),而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 for every 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 brain works.
【陈华的回答(57票)】:
现在很多人用机器学习做投资,比如对冲投资等等。在统计学家的眼里大概就是[1]
如果你的markov模型输入都是历史股价,那如果第二天政府颁布了新法案禁止X行业发展,你在X行业历史利好基础上做出的判断就白瞎了;
如果你的输入是历史股价和政策趋势,那第二天邻国出了个X行业B公司产品弄死人的新闻,你在X行业A公司本国股票的投资又白瞎了;
如果你的输入是历史股价、政策趋势和国际新闻(这是很多对冲基金公司做的事情),那第二天某个大新闻网站的官方微博被黑了,发了条假消息,你做的投资组合又白瞎了(真事:);
如果你的输入是历史股价、政策趋势、国际新闻并自动判断新闻的真假,结果第二天A公司总部地震了,A公司从此一蹶不振,你的投资又白瞎了。
能影响股价的factor太多,所有模型不管简单/复杂,都有适用范围和被坑的时候,所以机器学习(或者说统计)这种东西不能不信,但切忌全信。简而言之,机器学习发现的是事物的相关性(输入-输出映射),在有限的样本集和一定的假设下可以推广到未知事物,而且模型可以相对比较复杂,能建模相对复杂的输入-输出映射,但很难保证稳定性和完备性;另一方面统计学家更关心稳定性(置信区间)和完备性(模型选择)等,更注重背后的理论保证,但这也限制了过分复杂的模型的使用,因为过分复杂的模型难以用数学刻画,也就很难给出理论保证。
【知乎用户的回答(1票)】:
楼上回答的都很好,我想补充一点,统计机器学习只是机器学习的一部分,不是所有的机器学习都是统计机器学习。
【bhlin的回答(1票)】:
我认为部分观点产生的可能原因在于引入了科学(Science)与工程(Engineering)两个大学科的比较,而这些观点并不直接反应统计和机器学习之间的核心区别。
这样的观点包括但不限于以下几点:
业界学界之争严谨性之争
就好像让那些关注理论严谨性的Statistical Scientist和关注实效结果的Machine Learning Engineer撕逼,Science和Engineering才是他们的主要矛盾,自然会得出很多不在统计和机器学习两个学科区别范畴之内的观点。
事实上机器学习作为一门科学,作为计算机科学的子学科的时候,一样有其理论严谨性。以Boosting为例,在论证:
Can a set of weak learnerscreate a single strong learner?这个问题上面,MIT的Robert Schapire 1990年在Machine Learning发表的文章 对这个问题进行了非常严谨的讨论。
1. 业界与学界,理论严谨和关注实效都是科学与工程之间区别的表现,而不是统计与机器学习区别的表现。
2. 而统计学和机器学习都有其作为一门科学的一面,也有在应用中工程的一面。
3. 合理的比较似乎应该是直接比较:统计(科学)和机器学习(科学)或者比较:统计(工程应用)和机器学习(工程应用)。
4. 当然机器学习界整体偏工程,统计界整体偏科学本身也可以是两者的一个重要区别。同样我们可以考虑一个有意思的问题: 为什么会有统计偏学界,机器学习偏业界,统计注重理论严谨,机器学习关注实效的映像呢?
【王冲的回答(0票)】:
关于这个问题我纠结了很久。一吐为快吧。
-informative prior vs data talks-
很多统计的工作是基于非常有道理的对于世界的理解的。 比如课本上的几个例子:
骰子个面概率均等
n个独立生产的机器,在1小时内损坏n台的概率服从伯努利分布
电子器件的寿命服从指数分布
放射性物质的辐射服从泊松分布
这几个例子都是那种细想起来觉得超级有道理的
如果对于一个问题 我们把方方面面都分析清楚 建模清楚 同时这个模型与现实数据吻合的很好 我们心里会有极大的满足 认为这个模型健壮并且"正确"
但是 如guilin li所说 对于人脸识别问题 我们实在是给不出什么有道理的prior,所以这种非常有信息量的prior 我们玩不下去了
让我们把prior的问题抛一边 假设我们有一个模型 不管它有没有概率意义 如果它在极大的从全体中随机抽样的数据集 甚至就是总体上有极好的表现 哪怕这个模型是黑盒 我们也会对这个模型有信心 虽然如果这个模型不那么漂亮 受过太多数学训练的人会发自心底的讨厌 但是谁都不能否定它的有效性 这种思路 更像是机器学习的思路
我想再说一遍 我直到今天都觉得这种思路不漂亮 但是它work
这种思路的一个大问题是 如果我们的测试数据不能代表总体 比如@齐鹏 的股票预测例子 我们的测试数据中不包含足够的政府行为 同样也不包含相应的特征 那么失效也是必然的 这不是机器学习的问题 而是部分做机器学习的人习惯了有什么数据就用什么数据 不肯深入的考虑问题 同时也满足于当下work
-How to do model selection-
我们都说data talk 但是机器学习领域确实有一个不好的风气 很多论文里面没有error bar。我必须吐槽一下 比如mnist数据集上记录了deep learning的最新error rate 但是 mnist这个数据集太小了 今天任何improvement都不可能是统计显著的 用贝叶斯统计学的思路可以这么说 如果我们对于深度学习方法的信心是50分,看到它在mnist上又提升了0.1 一个理智的人的信心提升也就是0.01这种样子 因为这个提升太有可能是实验设置引入的随机性了
前段时间知乎里面讨论 心理学领域里面都开始逐渐觉得p value都不靠谱了 因为错误的使用假设检验导致实验不可重复 论文中声称的现象很可能根本不存在 可是机器学习领域里面很多从业者甚至从来不用p value 就算是用cross validation,也不看variance,只看mean 这个领域还能进步 我也很仔细思考过 勉强说服了自己 但是我很震惊
对于任何一家公司 如果在解读数据的时候没有统计意识 它非常可能一个团队辛辛苦苦工作了1年 每次release都有进步 但是一年下来发现指标又回到原点 我曾经看过某些团队的同学玩数字玩的很开心 但是我有的时候真为大家捏一把汗 这么多人的青春 就因为不懂统计 整天被随机性玩弄
所以但凡大家在评价模型时 心里存有统计意识 具体使用传统假设检验还是使用bic或者cross validation,我都觉得是小节了 不过我同意@zhang cosmos的说法 更现代的方法确实更好用一些
-为什么机器学习有道理-
重新看第一节 我说很多统计方法得到找到一些特别有道理的prior 得到一个漂亮模型 而机器学习方法看起来不漂亮没道理
其实从某个角度说也是有道理的 今天人们处理的问题太复杂了 真的很难得到特别简洁漂亮的模型 人的直觉给不出什么有意义的先验也正常
所以机器学习再次走了data talk的路 比如最大熵模型 我不知道真正的分布是什么样 我找到一些特征 我觉得这些特征的统计信息足够稳定在未来可以重现 除了这些特征 我坦然承认自己的无知 用最大熵来建模无知 这就得到了logistic regression 这些特征的参数就留给数据来决定吧 naive bayes的条件独立性看起来是一个很强的假设 其实也可以从最大熵推出来 所以 条件独立性不是一个外加的强假设 而是无知的结果 无知是一个比想象中强大很多的知识
最大熵方法可以看成一种non informative prior bayesian方法,也是一种empirical bayes方法 zhang cosmos还谈到non patametric method 是的 机器学习就是在使用这些万能的 prior 所以才看起来无所不能(褒义)
有些时候机器学习能说出道道 有的时候也不行 比如线性回归 严格来说 我们用线性回归的时候 我们通常并不知道数据是不是线性的 统计学家要羞答答的说 任何函数都可以用泰勒公式分解出线性成分 机器学习工程师们其实想的比较少 任何一个机器学习算法都是一个信息抽取器 就好像世界有丰富的颜色 但是假设机器学习工程师不知道这个世界有颜色这个概念 他们也常常不知道手上拿的这个模型叫做红色滤镜 反正要是用起来work 这个滤镜能抽取一些有用的信息 我管它过滤掉了多少信息
在工业界混久了 我有的时候也觉得这种超快猛的方法爽的很
这种思路也推进了机器学习的产业化 但是像谷歌流感预测模型失效这样的例子 或者齐鹏说的股票预测的例子 还有金融行业的黑天鹅 我觉得必然还会出现的
-机器学习不只是统计-
很多朋友说了 机器学习在计算复杂度上有很多的改进 此外 现在大家玩的manifold 也是很有趣的思路
-机器学习不全是数学-
就算是svm或者boosting这些理论已经分析的很透彻的东西 来了一个新问题 我们也倾向于各个模型都试试 因为人的直觉真的很挫 人没法从理论上判断哪个模型最好的 sklearn网站上有一个decision tree,哈哈 ,大概说了说经验什么问题该用什么模型。这个decision tree就和机器学习学出来的模型一样 就是个经验模型罢了 你永远不知道这一次它是不是对的 只知道它总体上正确
机器学习领域永远都不会是纯粹的数学 经验很重要 人脑是一个强大的学习器 可以充分利用各种背景知识来避免overfitting 从有限几个不统计显著的样本中以较高的正确率得出结论 这在其他学科中已经得到了证明 伽利略那几个思想实验根本不能“证明”物体有惯性 他当时的实验精度也根本就证明不了 但是多亏了这种大胆的经验直觉和猜测 科学才能走到今天
从这个角度说 我觉得机器学习在统计大量缺位的情况下走到今天 本身就证明了人脑是多么强大 可以在不严谨的情况下猜的多么准 但是机器学习的几次大进步 svm bootstrap lasso都来自统计学家和数学家 也说明了严格性是多么重要
让我们祝机器学习好运!
【宋一松的回答(23票)】:
先说结论:
统计学更注重对不确定性的量化:方差,置信区间机器学习更关注可计算性,无法在多项式时间内计算出来的解法不叫解法机器学习在数据种类上的适应性更广:图片,视频,文字,关系和兴趣图谱
统计学看不上机器学习的一点,就是机器学习喜欢把一个问题当作优化问题(optimization)来做。百度 Deep Learning 的老大 Andrew Ng(吴恩达)在斯坦福的机器学习课,第一讲就会提到 gradient descent。然而,对于优化所得的结果有多确定或是不确定,机器学习关注甚少。而这种对不确定性的量化,是统计学的立身之本。方差和置信区间是统计学的入门级概念,在吴恩达的课上却很少被提及。缺乏对不确定性的量化关注,让统计学家们总觉得机器学习是在瞎搞。
不过,比起统计学,机器学习也有自己的巨大优势,就是对可计算性的关注。
在机器学习的学术圈里,当有人跟你说他解决了一个问题,他很可能是说他找到了一个多项式时间的解法。就像所有计算机科学的子学科一样,机器学习只关注在有限时间内的可计算性。研究NP-hard的问题是无意义的,不如取近似来简化一下问题。对统计学来说,这种近似大概是无法接受的妥协。然而正是这种妥协,促成了机器学习从学术到工业的跃迁。
而且,虽然说统计学是从数据中学习,机器学习也是从数据中学习,但数据和数据不大一样。统计学的数据只是数字,而机器学习的适应性更广一些。从学术到工业的跃迁如同开启了潘多拉之盒,这里的数据有图片,视频,网页,还有人与人之间的社交关系和兴趣图谱。当机器学习开始研究这些的时候,统计学就很难再追上了。
所以,为什么统计学家不认同机器学习的观点,因为机器学习不关注不确定性,那为什么最后搞统计学的最后都去做机器学习了,因为机器学习的应用范围更广,成就更容易也更大。
【知乎用户的回答(0票)】:
难道不是互相吐槽对方不懂概率吗? (逃
【Narcissus的回答(6票)】:
作为一个本科读统计,现在在搞机器学习的人,我认为我多少能说两句。
总体来看,我认为另一个答主的那句“统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力”还算是说的比较在理的。或者换句话说,统计学家更关心构成model的变量和参数,而机器学习专家更关心预测的结果。但这些毕竟也只是相较而言。
举个例子,同样是线性回归,统计学家会去看每个变量是不是significant,residual分布是不是接近Gaussian,他也可能会用forward/backward等一些方法来选择变量。这一方面是出于对model所基于的假设的验证(在合理假设下OLS是BLUE),另一方面也是因为实际应用中,线性回归可以用来检验y是否可以用变量x解释。因而统计学家在做线性回归的时候,会比较在意每个变量及其对应的参数。
但对于一个做机器学习的人来说,这些都不重要,甚至scikit-learn里面的线性回归都没有计算t值、p值的功能。那么万一引入了不该引入的变量怎么办?很简单,加regularization啊,要sparse加L1,只求预测效果好就加L2,然后在validation set上调lambda。总之我追求的目标只有一个,在test set上我的预测值跟实际值越接近越好,对我来说变量和参数都分别只是一个向量而已。
所以像前面有一位答主说的,统计学在预测的时候通常会根据概率模型给出一个置信区间,而机器学习则一般不会这么做;相比之下应用层面的机器学习离数学更远。
但这也并非绝对,比如机器学习中也会用到baysian inference的东西来建立概率模型,graphical model中也会经常涉及概率的计算。甚至做learning theory的那批人经常会用数学理论来证明为什么机器学习管用、怎样能从这个证明中获得更好的学习算法。
不过learning theory所关心的,一般也只是用训练集的error和模型的复杂度来求这个模型在所有可能的数据上的error的上限,所以归根到底关心的还是预测能力能否泛化到没见过的数据。至于统计学的理论研究,恕我相关文献读的少,但据我了解还是有一定数量集中在通过概率模型来解释某些现象,从而解决引申出来的问题,因此如何用有合理依据的方式把变量放进模型里就是一个重要问题了。
【习多朤的回答(0票)】:
感觉是很多现实问题统计建模解决不了,就导致机器学习的发展。如果能人肉建模ok,那人肉建模就很好啦。就好像有人能口算心算笔算。。。但是位数多了就用计算器,计算机。。。没有说什么时候一定要心算跳到笔算啊,位数多了自然就知道该拿什么方法算了。所以方法也是根据问题需求逐渐过渡的。所以感觉两门的差距是目的,不同的目的导致实际观察到的方法的差别。
【林双双的回答(1票)】:
也要看出身。有学统计出身的机器学习,有学计算机出身的机器学习。所以一个是理论,一个是应用。计算机出身的比较不关注收敛啦,置信度啦,统计学出身的,搞不出Spark,Hadoop,GraphLab啦……
【ME李的回答(0票)】:
【殷子樵的回答(0票)】:
我也是刚刚入门,个人浅见,感觉前几名的答案说的很好,我个人认为:
机器学习专家更偏应用,注重结果准确性;统计学家更偏理论,注重过程严谨性。
【知乎用户的回答(1票)】:
我觉得简单地说,统计更偏向于频率学派,机器学习就是贝叶斯学派的延伸。基本上机器学习所有的模型都可以有一种non-parametric的框架的解释,同时做统计的贝叶斯的也的确和机器学习走得更近。频率学派的东西,和机器学习相互理解的确会有隔阂,但机器学习邻域的和贝叶斯的讨论,相互都知道在说什么。搞理论机器学习的一般都会说自己是Bayesian。说到底,主流机器学习和统计之争不如说成是贝叶斯学派和频率派之争。但是机器学习也混有一部分符号主义的人,这就和统计完全没关系了。但现在机器学习的教育注重应用和写代码,很少讲这些学术渊源之类的东西了。
&&&&&本文固定链接:
【上一篇】
【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志

我要回帖

 

随机推荐