一文告诉你统计学数据挖掘与机器学习的区

引言

如今,大数据真的很火,很火。相信有很多同学,甚至是已经上过班的人,都想从事或转行到大数据这个行业中来,只因为这是一个高薪行业。小编在一家招聘网站上,搜索了“数据科学家”这个职位,将几个有代表性的招聘截下,如图。

从学历、工作经历与薪资的角度来看,学历越高、工作年限越长,你就会越“值钱”,并且一个有趣的现象是,博士学历可以充当工作年限(当然是专业相关的博士),在后面会解释原因。既然这么赚钱,相信好多同学已经心动了。但是,在你确定要从事数据科学这个行业之前,请让自己先明白一个问题:统计学、数据科学与机器学习到底有什么区别?如果你明白了这个问题呢,会对你快速、正确的进入数据科学行业有所帮助,避免选错专业,掉入坑中。

有些同学以后立誓要进入数据科学行业,怎么办呢?读个统计学或数学的本科或研究生吧。这条选择对不对呢?或者是不是一条最优的路径呢?那你就要首先明白统计学、数据科学以及机器学习这3门学科到底在干什么。

友情提示:由于本文篇幅较长,分别从统计学、机器学习、数据挖掘3个方面进行介绍,整篇文章分为前提、统计学、机器学习、数据挖掘、总结以及一个数据挖掘入门书籍推荐的附录。如果您对某一部分感兴趣,请读完“前提”之后,直接选择相应部分阅读就好;如果您完全不知道统计学、机器学习、数据挖掘的区别,建议您从头开始阅读。本文纯属干货,直接为你从根儿上区分3者,相信您一定会有所收获。而且,总结部分会有送书的福利哦~~

前提

假设我们现在有自变量X和因变量Y的数据,并且X和Y之间存在某种联系f,即Y=f(X)。对于这组数据,我们有两个比较关心的问题:(1)当我们给出数据之外的自变量的值时,因变量的值是多少?即我们常说的预测。(2)自变量与因变量之间的联系f,到底是怎么样的?我们能不能将其精确的表示出来?其实这两个问题是一个问题,关键就是把f确定出来。有了f,就可以进行预测。这就是统计建模。

美国加利福尼亚大学的统计学教授LeoBreiman发表在《StatisticalScience》上的一篇文章中指出,利用统计建模从数据中得出结论有两种文化。第一:假设数据是由给定的随机数据模型生成的,这是统计学界研究的问题。第二:数据是由未知机制生成的,这是机器学习界研究的问题。下面我将分别阐述这两种文化。

统计学

沿着第一种文化延伸,就是传统的统计学界(国内大部分以统计学等相关关键词命名的本科、硕士、博士专业)。

那么他们在研究什么?首先,我们先看一下对数据X和Y的假设:数据是由给定的随机模型生成的。也就是说:联系f是一个随机模型,并且是已知的。比如可以用线性回归模型:Y=aX+b、主成分、因子分析模型等表示f。只是f中有些具体参数信息我们未知,比如,线性回归模型中的系数a与常数b,a和b会随着具体数据的变化而变化。应用统计学方法的前提是:你的数据符合统计学模型的基本假设。

举一个例子我们就能明白。

例1:财政收入与税收有密切的依存关系。我们现在有年改革开放以来到年共31年的税收(X,百亿元)和财政收入(Y,百亿元)数据(由于数据较占空间,在这里省略),试分析税收与财政收入之间的依存关系。

首先我们做一下散点图,大致确定一下X与Y之间的关系。从下图可以看出:X与Y之间呈现线性关系,满足线性回归模型的基本假设,因此可以选择线性模型Y=aX+b来进行拟合。为了准确的求出联系f,我们还需要确定a和b的值。

例1就阐明了统计学界在做什么,准确的说是应用统计学界。那么理论统计学界在做什么呢?我们只是用线性模型描述了财政收入和税收之间的关系。但是,如下的问题你应该不太会考虑:(1)一元线性回归方程:Y=aX+b是怎么建立的?(2)X和Y需要满足什么分布假设,才能用线性回归模型?(3)为什么用31年的数据就能确定财政收入与税收之间的关系,样本量会不会太少?(4)对于a和b的值,我们用SPSS就能计算,可是软件背后的推导公式却是统计学家为你提供的。那么,对于a和b的计算,软件背后为什么用的是这个公式,有没有更加简便、具有估计误差更小的结果呢?这就是理论统计学界要解决的问题。因此,我们可以总结为:理论统计学界在研究统计模型,而应用统计学界在应用统计模型。

什么样的人适合理论统计学界?一句话就可以概括,数学基础雄厚或对数学感兴趣的人(为了解释给大多数人,这里只做这样简要的说明。但是统计与数学,其实是有很大不同的),因为统计学的根基是数学。什么样的人适合应用统计学界?非统计专业的科研工作者:不需要搞清楚模型的原理,只要能为我所用即可。

机器学习

机器学习界认为:自变量X与因变量Y的数据是由未知机制生成的。既然未知,就不能用已知的模型去表示f。

机器学习的研究思路是让计算机自己学习数据特征,并且找到一个函数f(或者称之为算法,如神经网络、决策树、支持向量机等),能最佳地拟合X与Y之间的关系。与线性模型:Y=aX+b不同的是,由于X与Y之间的关系过于复杂,机器学习中的函数f并没有显式的表达式,只能通过算法来表示。

同样,我们用一个例子来说明。

例2:语音特征信号识别是语音是识别研究领域的一个重要方面。选取民歌、古筝、摇滚和流行四类不同的音乐,每类音乐都用到谱系数法提取组24维语音特征信号,我们的目标是找到一个有效的算法,能将组语音特征信号有效识别(数据量较多,在这里省略,感兴趣的小伙伴可以在后台回复:“数据”,小编会将数据发给您哦)。

第一步,确定自变量X与因变量Y。

第二步,要确定f来描述X与Y之间的关系。由于组数据量过于庞大,并且要将每一类别里的音乐特征识别出来,统计学中传统模型,如线性回归、主成分分析、因子分析等全部失效。这时,搞计算机的人挺身而出,解决了这个问题:将X与Y分别作为BP神经网络的输入与输出,然后经计算机的自我学习,可以很好的将4类语音信号的内部特征掌握并进行识别与分类。在组数据中,我们随机选择组作为测试集,误差结果如下图所示。虽说有些信号被错误的分类,但是相对传统的统计模型,已经有很大的提升。

机器学习是用算法解决实际问题吗?如果您只是想将例2操作一遍,不好意思,您这不叫从事机器学习。小编暂且只能称之为“应用机器学习”,应用机器学习是利用机器学习算法(例如BP神经网络)解决现实中的问题,没有对算法本身进行改进或者开发。真正搞机器学习的人是对算法本身进行优化、设计,或者针对特定问题,创造出具有针对性的算法,已经属于科研的范畴,衡量标准是论文的级别,而不是业绩。如果用神经网络进行举例:机器学习是在创造神经网络,而应用机器学习只是在用其解决实际问题,甚至我们不用懂其内部的运行机制。

什么样的人能从事机器学习的研究呢?这个笔者不进行过多的讨论,毕竟术业有专攻,不在一行确实不能进行过多的讨论。但是有一点,我支持大家自学利用机器学习算法解决实际问题,但是我强烈反对自己搞机器学习的算法研究,那么多博士研究生在导师的指导下,做不出什么有价值成果的也大有人在。而我们以本科生或者硕士的水平,就要去自学这一门学科,我真的觉得是在浪费时间,消耗你对机器学习的兴趣(当然,如果您真的能独立地在顶级机器学习期刊上发Paper,那我只能是膜拜,这样的人就不考虑在内了)。如果您真的对机器学习研究感兴趣,一定要读相关专业的博士,为什么是博士呢?因为到了博士阶段,你才是真正在独立地进行研究,国内的大多数硕士与本科都基本上还停留在实践的水平,也就是应用机器学习。

数据挖掘

如果您看了上面的描述,感觉很绝望,感觉自己既不懂统计中回归分析模型内在的逻辑,又不懂如何改进与设计机器学习算法,那我是不是就不能从事数据科学行业了?您大可不必为此伤心,因为无论是机器学习算法的设计、开发或者统计学模型的优化与改进,都不能准确的说是业界中所谓的“大数据科学”,因为他们已经上升到科学研究的层次了,是科研工作者们的饭碗,你都干了,他们去喝西北风吗?那业界中的数据科学家们在做什么?这就不得不提一个介于科研与业界之间的词:数据挖掘。

何为数据挖掘?数据挖掘在干什么?先看几个具有商业气息的例子:

一家连锁超市挖掘其客户交易数据,以优化高价值客户的目标定位;

信用卡公司可以使用其客户交易数据仓库来检测欺诈行为;

通过提高预测不良贷款的能力,预测消费贷款申请的违约概率;

预测电视节目的观众份额,允许电视主管安排节目日程,以最大限度地扩大市场份额和增加广告收入。

卡内基梅隆大学统计学教授CosmaRohilla认为,数据挖掘非常的类似于统计学界中的探索性数据分析。其又被称为‘knowledgediscovery’。从字面的意思上讲,数据挖掘是利用机器学习算法挖掘数据中隐含的信息,从而帮助企业或个人做出决策。因此,数据挖掘的核心是为了尽可能多的从数据中得到信息以及更好的决策,它并不关心通过何种途径或者何种算法来实现这个目的。因此,算法在数据挖掘中并没有显得那么的重要,只要能得出合理的结论即可。在笔者的理解中,数据挖掘不仅存在于业界,在学术界同样也存在着。在学术界,所采用的方式是将统计学方法应用到自己学科中,并得出一定结论,主要是指非统计学专业的科学研究。与业界相比,利用的工具有所不同,在业界主要是采用机器学习算法,而在学术界,则是利用统计学模型来分析数据。

为什么业界与学术界会存在使用工具上的差异呢?其实,无论是业界还是学术界,人们都有一个共同目的:发现自变量X与因变量Y之间的关系。在学术界,由于被研究对象往往是可控的,比如在生物学的研究中,要研究植物光合作用与呼吸作用之间的关系,我们就可以控制植物除光合作用与呼吸作用之外的、起干扰作用的生物与非生物条件,这会使两者之间的关系变得纯粹,容易描述,较易符合统计学模型的基本假设。但是在业界中,由于不可控因素太多,导致被研究对象之间的关系变得及其复杂;此外,大量的数据使得传统的统计学模型变得不堪重负,比如,Facebook的用户量超过9亿(并且正在迅速增长着),估计每天有30亿个帖子;许多公司维护着大量的客户交易数据仓库,一个相当小的数据仓库可能包含超过1亿个事务。因此,在这种情况下,统计学模型不得不给机器学习算法让路。

那么整个数据挖掘的流程是怎样的?Figure1.1显示了完全知识发现过程的一个稍微理想化的版本。首先,数据可能来自许多地方。接着,它被集成并放置在一些公共数据存储中。然后,挑选部分数据,预处理成一个标准的格式。并将这个“准备好的数据”传递给数据挖掘算法,该算法以规则或其他“模式”的形式产生输出。输出之后我们就可以根据输出的结果,对数据进行解释,从而提取我们想要得到的信息,做出决策。这个简短的描述清楚地表明,机器学习算法并不是数据挖掘的全部。数据的预处理和结果的解释都是非常重要的。与其说是一种精确的科学,到不如说是一种熟练的任务(或从经验中学到的技能)。

那么什么样的人能够从事数据挖掘行业呢?小编认为几乎是各行各业都能投入其中。因为他仅需要你有基本的高等数学知识以及优秀的代码能力,然后不断地通过练习获得经验的积累,你就能在数据科学这条道路上混的风生水起,拿到高薪。这也是文章开端几个招聘启事上“为什么工作经验10年以上的、仅本科及以上学历就能拿60-90万年薪“”的原因,他不需要你有多么杰出的研究能力。相反,你的经验、技能会让你变得很“值钱”。

如何入门数据科学行业?我相信这是大家很关心的问题,毕竟进入到其中,是有一定门槛的,尤其对非数学、统计以及计算机专业的学生。小编认为,最起码在你找工作之前要具备三个条件:基本知识的储备(算法基础、编程能力)+Kaggle刷榜+实习工作经历。对于基本知识的训练,小编可以为你推荐几本入门的书,对于书的评述、简介放在后面的附录,有兴趣的同学可以直接翻到最后进行浏览。(福利~如何得到这些书籍?请看文章总结部分)。

Kaggle这个平台对我们有什么帮助?(还不知道Kaggle是什么的同学,自行去百度啦,类似于美国大学生数学建模竞赛,只不过更加偏业界)。从求职者的角度来看:Kaggle提供了一个非常好的学习平台,在这里你可以接触到真正的业界案例,收获实际的项目经验,在每一个项目中不断挑战自己,甚至在Kaggle榜上占据一席之位,提高自己在业内的知名度,优秀的排位甚至可能带来的非常好的工作机会。同时,也可以认识一群志同道合的人,扩展自己的professionalnetwork,与业内最顶尖的高手互动,尤其是很多队伍在比赛结束后都会公开自己的解法,如果这个项目恰好你参与过,为之投入过无数个日日夜夜,此时就是不可多得的学习机会。

对于刚刚进入这个行业的菜鸟而言,参加Kaggle的项目是非常“长见识”的,可能初期的尝试会非常吃力,毕竟都是非常前沿的问题,但是如果能坚持完整的把一个项目做下来,且不说coding能力会有一个很大的提高,在实际案例中解决问题的能力也会得到极大的锻炼,为自己的职业生涯打下一个良好的基础。如果能在Kaggle这种高手云集的比赛中获得一个还不错的成绩,写在简历上足以打动你今后的Boss,跳槽就翻倍的高薪工作指日可待!值得一提的是,虽然是汇集精英的社区,Kaggle的论坛氛围很好,对新人非常友好,大家一定要多看Script多请教!

实习经历。这个就需要大家积极的走出校门的去寻找啦,实习的重要性不言而喻。据前线可靠消息;没有过实习经验的同学都已经快找不到工作啦!!!如果你实在没有机会出去实习,那么一定要去Kaggle上刷刷经验,这一定成度上会弥补没有实习经历的缺陷。当然,在实习面试时,如果你在Kaggle上已经有很好的成绩,我相信BAT三大巨头的面试官是不会拒绝你的。

总结

至此,我想你已经清楚统计学、机器学习与数据挖掘之间的区别了。统计学与机器学习是在研究模型与算法,统计学基于数学,而机器学习基于机器自主学习,是数学、统计学、计算机科学的交汇融合。如果你想从事统计学或机器学习研究,我建议你走科研这条路,也就是读博士。而数据挖掘是现在业界中数据科学家正在从事的工作:即利用机器学习算法,从数据中得到有价值的信息,并帮助企业或个人做出决策。对于数据科学家来说,机器算法只是你的工具,提取信息、作出正确决策的能力才是一个数据科学家的竞争力所在。因此,我认为,对于数据科学家来说,经验是最重要的,在有经验的基础上,学历越高越好。

福利时间~~如果你对附在最后的书籍感兴趣(小编费了很大力气搜集的哦),请将此文转发到朋友圈或







































白癜风诊疗规范
北京中科白殿疯医院地址



转载请注明:http://www.xcqg58.com/jyqj/jyqj/9477.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了