算法工程学习过程

一、夯实基础
算法工程师两把斧,一把是数学,一把是计算机知识。所谓的算法无非就是应用计算机工具将数学知识应用到业务中。 但数学和计算机的知识包罗万象,普通人即使终其一生也不可能学完或者学精整个学科。 对于算法工程师来说,我们只挑选最核心的知识来学习即可!下面直击要害
1、数学
统计概率
微积分
线性代数
机器学习入门

2、计算机
C/C++语言
数据结构和算法
PYTHON编程语言
JAVA编程语言

3、英文
至少要是大学六级的水平,雅思6.5分,阅读小分6.5才算合格
我先来说英文,据我所观察,英文是区分一个程序员是否优秀的重要标志。你英文好不一定就能成为优秀的程序员,但是英文不好很大概率上你不可能成为优秀的程序员。 算法这个行业发展太快速了,日新月异,大部分资料都是英文的,发表的paper也肯定都是英文的。中文的翻译书籍往往还没出版,英文的版本就已经迭代好几次了。英文不好,你上不了Google,上不了github,上不了stackoverflow,上不了这个星球上任何优秀的程序员网站。 很大程度上,英文能力会对你的学习工作视野产生决定性影响。 说到这,很多同学都寒心了,“我就是英文不好,咋办”。 其实大部分城学员英文都“不好”,包括那些你看到的优秀程序员! 但是有一点他们肯定很厉害,就是英文阅读的能力。没错,对于大部分程序员来说,只要阅读过关,英文就够用了,如果听力还过关,那基本上足够用了,如果写作业过关,那就很厉害了,如果口语也过关,那就忽略我写的这一段,你将会体验英文给你带来的巨大优势! 

二、数学
数学是算法的“灵魂”! 数学学不好会比英文还糟糕,英文是锦上添花,数学是你能力的上限!其实发展到今天,机器学习等知识涉及到是数学知识实在是太多了,我自身也没有完全搞清楚或者说将全部的知识弄明白,只能结合自己学习过的以及身边一些案例来给大家做一个推荐

1、统计概率
统计学和概率论经常被放在一起使用,直到现在还有很多人在区分机器学习和统计学,有所谓的“统计派”和“计算机派”(参考吴恩达以及他的恩师乔丹,不是打篮球的那个)。 统计学涉及的回归分析是机器学习里最简单的线性模型,概率论里面的概率分布和概率计算是机器学习演算的一个核心。机器学习模型对样本进行预测的都是给出一个概率值,表达不确定性!

如果你是文科生,数学又很弱的话,我推荐你学习《商务与经济统计》。这本书浅显易懂,不会像国内教材那样枯燥乏味,每一章节都会含有一个具体的商业案例,大量的习题(虽然习题很弱)。每天学习1-1.5个小时,差不多30天能学完。最难的章节属于假设检验以及线性回归那里,单也仅仅是相对的难而已,比起机器学习,它毛都不算!
如果你是理科生或者数学功底不错的话,我推荐你学习陈希孺的《概率论与数理统计》。很传统很经典的中国式教材,但是写的内容实在是好,前后衔接的恰到好处,由浅入深,概念解释的直白明了,涵盖了以后机器学习所需要的几乎全部概率知识。缺点就是纯教科书班的书籍,读起来略微枯燥。

推荐星级
《商务与经济统计》 五星
《概率论与数理统计》 四星
建议学习周期:40天

2、微积分
我只推荐一本书《普林斯顿微积分读本》和一门简单的课程《微积分的本质》。我看过很多微积分的教材,包括同济的《微积分》以及《托马斯微积分》,但是都没有《普林斯顿微积分读本》更能吸引我的注意力。这本书浅显易懂,书籍看起来很厚,但是学习起来并不费力,作者的写作观点很友好,风格较为轻松却又不失严谨。建议如果基础较差的同学可以“重头来过”,好好的跟学一遍!我对泰勒展开式那一章节尤为记忆深刻,作者先是引入了一个及简单的案列,接着就此案列进行了深入的讲解,一目了然。
《微积分的本质》是三蓝一棕出品的简短视频,通过酷炫的动态PPT演示了微积分的过程。但是真的仅仅是入门级别的视频,就当做课外“读物”学一学吧

推荐星级
《普林斯顿微积分读本》 四星
《微积分的本质》 四星
建议学习周期:60天

3、线性代数
线性代数到底怎么学,我真的一直没有找到很好的方法。我看过很多的书籍和视频,包括同济的那一本很薄的书,我一度以为那是本很好的教材,直到我在网易云课堂上学习了MIT的线性代数课程,像是打开了新世界的大门,原来线性代数背后的理论并不是凭空记忆而来的。后来又学习了《线性代数的本质》这套课程,那令人震惊的动画演示线性变换至今令我记忆犹新!

推荐星级
《MIT线性代数》 五星
《线性代数的本质》 五星
建议学习周期:20天

三、计算机技能
1、PYTHON
如果你想入门计算机,首先应该先学一门语言,它会是你使用最多的一个工具。而PYTHON几乎是最简单的最适合新手学习的一门语言。我个人认为学习PYTHON需要包含以下几个方面:
PYTHON的基础语法
使用PYTHON掌握基础的计算机编程思路
PYTHON用于数据处理和数据分析

任何一门语言的学习都离不开语法本身,Python也不列外,但相对于其他语言,Python语法就简洁明了。我看过很多PYTHON入门的书籍,要说好的我就只推荐两个,一本是《LEARN PYTHON THE HERD WAY》,另一本是《PYTHON编程:从入门到实践》。如果你每天抽出两个小时来学习,一般两个星期就能搞定PYTHON语法。

接下来我推荐学习的可能与你在其他地方看到的不一样,我希望你能学习一些计算编程思维,再直白一点就是学习一点数据结构和算法。 随着我自己工作经历的增长,越来越发现编程思维(数据结构和算法)对于工作以及思考问题的重要性,所以直到现在我仍然在不断的恶补之前落下的数据结构和算法。 因此你不妨在一开始学习阶段就来弥补一些!
我给你推荐的是一本书以及这本书配套的课程,这是我看过的最好的教程: 《PYTHON编程导论》以及EDX上开设的专门的对应视频课程。这套教程除了讲解PYTHON基础知识外,还会讲解常用的编程算法,包括查找,排序,搜索等等,可以说是相当好的入门计算机课程。

PYTHON是一门非常综合的语言,被发明出来也不是为数据挖掘或者数据分析专用的。PYTHON能够成为“AI第一语言”得益于它众多的第三方库,因此我们还需要学习一下专门用来进行数据处理的第三方库:pandas、numpy、matplotlib。唯一推荐的书籍就是pandas作者写的《利用PYTHON进行数据分析》,这本书介绍了几乎三个库主流的用法,相当实用。唯一的缺点就是编排比较乱,学的很零散,所以需要你自己好好的总结一番!

推荐星级
《PYTHON编程:从入门到实践》 四星
《PYTHON编程导论》 五星
《利用PYTHON进行数据分析》4星
建议学习周期:30天

2、机器学习
我们宗旨是成为一名算法工程师,现代意义上算法工程师一般就是指机器学习工程师。在第一年的夯实基础阶段,我们并不能完全深入的学习完机器学习的知识,但是入门还是一定要具备的。机器学习数学基础三板斧:微积分、线性代数、统计概率! 所以你可以看出来,为什么我花了很大篇幅和你讲要认真学习这三门课!

那么入门阶段该怎么做呢? 很简单,一门课一本书。

一门课
吴恩达《MACHINE LEARNING》公开课

这真的是地球上最好的机器学习入门课程了!我无法用文字来推荐它,总之你就记得学习机器学习看着门课程就绝对错不了。网上一大堆关于这门课的资料、评价、笔记等等,数不胜数!

一本书
《Introduction to Data Mining》(数据挖掘导论)

很遗憾,我并没有推荐周老师的书,也没有推荐韩老师的书(如果你不认识两位老师,那就忽略这句话)。 数据挖掘导论是我学习过的最好的入门级别的教材,与其它一上来就开始讲解模型的书籍相比,这本书会从最开始的数据准备,数据处理讲解,给与新手最好的入门方式。其内容板块安排的又是相当的合理,尤其是决策树和异常检测这两章,我觉得是相当的精彩,手把手教你推导一个决策树!有一个章节我觉得可以不学,就是关联分析,似乎可能好像仿佛大约已经没人使用这种技术了,虽然我当初仔细的学习过,而且这本书写的也相当的好,但是真的没应用过,都快忘记的差不多了。请君自行判断~

推荐星级
《MACHINE LEARNING 》 五星
《数据挖掘导论》 四星
建议学习周期:90天
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值