想学数据分析(人工智能)需要学哪些课程?

本文转自:

利益相关:楼主以应用数学和运筹学的背景转到博士德国海德堡大学机器学习、计算机视觉这俩个数据分析(人工智能)的分支里来,希望对想入门数据科学和人工智能的朋友们有点借鉴作用。

 

首先如果对人工智能、数据科学还不是很了解的同学,可参考以下综述:大话“人工智能、数据科学、机器学习”--综述 - 知乎专栏

 

先说点宽泛的、上纲上线的东西。(要干货的可以直接跳至后半部分)机器学习,大数据这些新兴专业,是随着工业界与日俱增的需求而随之出现的(中国最近批准了第一批试点的几十所高校开设数据科学专业)。其实任何专业都是这样一个需求导向的过程,包括微电子,计算机,还有什么房地产专业。。你说几十年前你们听说过这些专业么?自然科学如数学、物理、化学、生物长盛不衰,是有其道理的,这也是为什么我们初高中我们都在学这些东西。而某些专业,也会随着市场需求的锐减而减少甚至消失。这些专业名词在刚出现的时候往往是“凭空造诣”或者是强加术语,然而知识是需要积累的,不是凭空出现的,也就证明了如大数据、机器学习这样的东西,其实是科研圈已经研究或者已用了很多年了,然后市场需求强烈,为了顺应市场需求,大批学校争相决定开这个专业,于是喊一帮教授或院士过来拍板,这个专业需要哪些基础课程,我们就把这些基础课放进来,这也是我下面的回答要强调的。(因此“需要学哪些课程”这个问题最好的答案,就是去一个名校的数据科学或机器学习项目里看课程设置,这里我推荐一下UCL的Machine Learning Msc

 

本文要讲的,不包括数据库那个方向的大数据。简单的说,原理和基础都在数学这边,当然有很多偏应用和软件使用的课程,这些直接大街上报个培训班就能学会的技术含量不那么高的东西,不在我的讨论范围内。我要讨论的,是如何系统的学习,然后自己能编出这些处理大数据的程序或软件,我想,这才能称为一个合格的数据科学家

 

好了,下面是干货。(已经过多次私人留学咨询中,多个高校数据科学/人工智能硕士项目的先修课程验证)

1,线性代数(矩阵表示和运算)是基础中的基础,以及微积分(求导,极限);2,数据处理当然需要编程了,因此C/C++/Python任选一门(推荐Python,因为目前很多库和Library都是用python封装),数据结构可以学学,让你编程更顺手更高效,但是编程不是数据处理的核心,相对而言算法还来的重要一些,因此建议再上一门算法课。当然了,楼主所在的图像处理界,熟练使用matlab或者opencv是必要条件,但是again他们只是工具,业余时间自学,多练练就没问题。有同学一直提问用R行不行,楼主补充一点,用什么编程语言很大部分取决于你的核心算法会调用什么已有的库函数,比如楼主的科研里面核心算法往往是MIP问题需要调用Cplex库函数,因此C/C++/Python/Java这些和Cplex接口良好的语言都可以拿来用,这时候R就别想了。另外往往图像处理界一些open-source的code都用Python写的,因此需要用到这些code的话,当然写Python直接调用比较方便咯。

3,Mid-level的课程,概率论+统计(很多数据分析建模基于统计模型),线性规划+凸优化(或者只学一门叫numerical optimization,统计到最后也还是求解一个优化问题,当然也有纯优化模型不用统计模型的),Machine Learning(其实机器学习,通篇都是在讲用一些统计和优化来做clustering和 classification这俩个人工智能最常见的应用),学到这里,你基本就会发现,学这一门课中间会穿插着很多其他课的内容。恩,知识总是相通的嘛,特别是这些跨专业的新兴学科,都是在以往学科的基础上由社会需求发展而来。学到这里,其实你已经能看懂并且自己可以编写机器学习里面很多经典的案例了,比如regression,clustering,outlier detection

关于优化类课程的综述,欢迎关注我的专栏:[运筹帷幄]大数据和人工智能时代下的运筹学 - 知乎专栏运筹学(最优化理论)如何入门? - 知乎

4,再高阶的课程,就是比较specific的课程了,可以看你做的项目或者以后的concentration再选择选修,比如:Probabilistic Graphical Models(概率图模型),Nolinear Optimization(非线性优化), Integer Programming(整数规划),计算机视觉,模式识别,视频追踪,医学图像处理,增强学习,深度学习, 神经网络,自然语言处理,网络信息安全,等等等等。再比如有用偏微分方程做图像处理的(比较小众),那么这时候你肯定要去学一下偏微分方程了,大都是以科研为主导的。科研嘛,为了发文章,就是要尝试前人没尝试过的方法,万一效果不错呢,就是一篇好paper了,对吧。

注意这里是偏机器学习或计算机视觉的,如果是自然语言处理,那么还要修一些语言学(句法等结构)的基础课。

正如我说的,学到Mid-level,就已经具备绝大部分理论基础了。然后做几个实际项目,就能上手然后就可以“吹嘘”自己是搞数据科学的,就能找到一份工作了要读Phd搞科研,那么高阶课程必不可少,而且同一个topic你需要上好几门课,并且你博士的课题,很可能只是一本书中一个章节里面一小节里讲的算法,去改进他。比如,楼主的博士课题就是regression+clustering+segmentation。

至于书目,没有特别推荐的,但是建议看英文原版。另外直接翻墙Youtube看视频课程,很多国际知名教授都很无私地把自己上课的视频放在youtube上免费学习(搜索我上面列出的科目名字)。如果确实要楼主推荐,那就推荐海德堡大学历史上最年轻的教授 Fred的机器学习视频(我基本都看过):https://www.youtube.com/playlist?list=PLuRaSnb3n4kSgSV35vTPDRBH81YgnF3Dd

另外一个教授给你上课的时候,开头一般是会推荐书给你的(如果你确实喜欢看书的话)。当然了,翻墙是楼主suppose你们需要拥有的基本生存技能。(注:以下再推荐一些视频,受之以渔。多为graduatecourse,仅作演示目的)

1,       Machine Learning by Prof. Nando deFreitas, 此视频是其在UBC时13年所录,后来跳槽去牛津计算机系了。https://www.youtube.com/playlist?list=PLE6Wd9FR--EdyJ5lbFl8UuGjecvVw66F6

2,       Deep learning at Oxford 2015   by Prof. Nando de Freitas, 跳槽到牛津所录。https://www.youtube.com/playlist?list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu

3,       Probabilistic Graphical Models byDaphne Koller, 斯坦福大学计算机系教授https://www.youtube.com/playlist?list=PL50E6E80E8525B59C另外还有一些付费的学习网站,如Coursera,优点是结课后可以拿分数和证书,并且很多世界名校的教授在上面开课。---------------------------------------------------------------------------再罗嗦一下解决一个实际大数据问题的一般流程。比如一个生物医学公司找到我,要求我做一个视频里面cell tracking的项目。(一帧既为一张图片,假设500*500=25w像素,一个video算它1000帧,总共250million像素,可以算大数据了吧?)具体流程:数学建模--设计算法--用任意编程语言编写算法(其中会涉及到数据结构,即如何搭建程序使程序更加高效)--导入视频数据到算法里得出结果--根据结果的好坏改进算法甚至模型(如此往复)

这里我强调一下数学建模的重要性,为何要数学建模呢?的确很多naive的算法完全不需要建立在数学模型之上比如clustering里面经典的EM算法,是一个iterative method,基本一眼就能看出算法的思路然后编程实现,所以称之为naive那么基于数学模型上的算法有何妙处呢?答案是一个好的数学模型,往往是被研究了几十甚至几百年的学科,比如图论,很多性质都已经被研究得很透彻可以直接使用。回到我的这个例子,cell trancking,我可以建立一个network flow(网络流)的模型(其实也是基于图论的模型),那么这个network flow模型,是一个被研究了很久的领域,因此我可以直接使用很多很多已知的好定理或算法来服务我的问题。另外很多时候,经典的数学模型里面已有很多经典的算法,比如network flow基于里的max flow/min cut theorem的算法,如果能在其基础上做改进,等于站在巨人的肩膀。因此这就是数学建模的重要之处往往同一个问题,从不同的角度去看可以有千百种数学建模方法,而不同的数学模型差别往往巨大,而数学建模又是解决一个实际问题的第一步,在这基础上才考虑算法和数据结构设计。因此,数学基础在我看来是重中之重,也是我推荐学习的课程的核心。当然了,计算机系出生的朋友,数学这个层面学习得不是很深,比较偏向于算法的设计和实现,是另外一个侧重点。先码到这,有时间再更新。关于入行后就业前景(包括第三条运筹学--算法工程师),参见:国内(全球)TOP互联网公司、学术界超高薪的揽才计划有哪些? - 知乎中国计算机视觉的前途在哪?机器视觉工程师又何去何从? - 知乎关于我对最优化理论在咨询行业的应用,参见Data Science/Analytics 出身,可以在咨询行业做些什么? -Ruobing Shen 的回答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值