「04」机器学习、深度学习须要哪些数学知识?

入门避坑指南

自学三年,基本无人带路,转专业的我天然是难上加难,踩过无数坑,走过不少弯路。这里我整理了一下本身踩过的坑,供你们参考。算法

1. 不要从头开始学数学 若是不是一点数学都不会,你没有必要从零学起。用上个把月,把微积分、线性代数、以及几率统计复习一遍就够了。我本身由于没有学太高数,因此花了半年时间,甚至读了数学分析、泛函分析和测度论这样的教材。如今回想起来,其实学到的大部分知识并无在后来的算法生涯中用到,虽然算不上沉没成本,但投入产出比绝对不高。编程

所以,不要过分投入到数学领域,打好基础便可。有个例子说的很好, 若是你想造汽车,你须要有20年的理论功底,以及技术实践。 但若是你只是想开汽车,却很快就能学会。 当个司机,你须要去了解汽油发动机原理吗? 不须要。 由于你开的车,甚至有可能根本就用不上汽油发动机(电动车)。网络

 

2. 代码能力要过关数据结构

我在大三一年自修完了计算机系的全部必修课,由于我深知数据科学离不开计算机底层知识。我见过很多只会背推导公式,连JVM虚拟机是什么都不知道的人。除了Python,请至少学习1-2门底层语言,好比C/C++,Java。框架

此外,若是你的目标是算法工程师,那么数据结构与算法、计算机系统、内存机制、网络编程、大数据框架也要着手学习,由于你是以企业工做为导向的。这方面我有空会把本身读研时找实习的经历整理分享出来。学习

 

3. 不要过度深刻大数据

深度学习,底层结构很复杂,理论知识读懂便可,书也能够跳着看。除了本身感兴趣的部分,其余不须要深刻。内存

 

4. 不要重复造轮子深度学习

无论是你是作科研仍是搞业务算法,在开始入门的时候,认认真真本身实现一遍基础算法的底层代码就足够了,对于更多复杂的算法实现,如非必要(好比打比赛),不然请不要浪费时间,要记住,你只是入门,不须要专精这个领域。虚拟机

我曾