
- 算 法
- Algorithm
- 外文名
- Algorithm Engineer
- 学 历
- 本科及其以上
- 中文名
- 算法工程师
- 属 性
- 职位
-
2020-10-09 13:34:27
点赞再看,养成习惯,微信公众号搜索【JackCui-AI】关注这个爱发技术干货的程序员。本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
一、前言
各位十一过得如何?
假期,我回了趟老家,文章停更了几天。
写文章以来,被问到最多的问题就是「算法的学习路线」。
今天,它来了。
我会带着大家看看,我们需要学些啥,利用这个假期,我甚至还收集整理了配套视频和资料,暖男石锤啊,这期文章有用的话,别忘三连哦!
二、学习路线
主要分为 4 个部分:数学基础、编程能力、算法基础、实战。
1、数学基础
在机器学习算法中,涉及到最为重要的数学基本知识有两个:线性代数和概率论。
这两也是大学的必修课了,如果知识早已还给老师,也没关系,哪里不会学补哪里。
线性代数研究的是线性空间的性质,数据通常会被表示为欧式空间中的点,而这些点经过一系列变换后会映射到另一个空间,在新的空间中隐藏在数据中的规律才得以显现。
所以线性代数作为研究空间的一门科学,是入门机器学习的最要基础之一。
视频:推荐 MIT 的老教授 Gilbert Strang 的线性代数上课视频。
没学过线代的同学会发现这门课程,讲得清晰而且直观,深入线代的精髓,完全不是那种理论堆砌的讲法,而且老教授幽默风趣,很有人格魅力。
英文不好,也不用担心,字幕是中文的。
教材:推荐《线性代数及其应用》,作者是 David C. Lay 。
喜欢看书的朋友,这本书一定不能错过。
这本书详细地介绍了线性代数在几何学、计算机图形学、经济学、概率论、信号与系统、微分方程等领域的应用,给人以直观的认识。
概率论是研究不确定性的一门科学,生活处处是概率。机器学习算法需要对现实情况建模,自然是少不了将概率论作为工具。
这门课入门并不难,大家可以挑一本评分还可以的书开始学习。
这里推荐陈希儒的《概率论与数理统计》,讲得很详细,如同听一个老者回忆自己的概率与统计心得,相信读者也会有所收获。
如果时间充裕,推荐先学好数学基础。如果时间不够,那就跳过数学基础部分,学算法的时候,哪里不会补哪里。
2、编程能力
编程语言,需要至少掌握两门, Python 和 C++。
工作中,Python 主要用于处理数据、算法调研、模型训练的工作,而 C++ 则是负责工程落地。
算法工程师,需要针对落地场景,对算法的可靠性和实时性等方面进行优化,C++ 工程能力必不可少。
Python 是一门非常友好的编程语言,不但易于入门而且功能强大,在进行机器学习算法开发的过程中会大量使用 Python。
视频:我上学看的第一个视频,就是小甲鱼 Python 课程,风趣幽默,涉及Python 语法基础、网络爬虫、Pygame 飞机大战等内容,内容很丰富。
实战是最好的老师,学习 Python 的时候,可以找一个自己喜欢的方向,去实战。
边实战,边学习。比如写爬虫、做小游戏、玩各种有趣的算法等。
这里面,爬虫是最简单的,很容易有成就感,让你坚持学习下去,下载小说、下载漫画、下载音乐、下载电影、抢票等等小程序。
这个推荐我的一个 Github star 量 11.4k+、fork 4.5k+的爬虫项目。
每个实战,都有对应的文章教程,代码开源。
项目地址:https://github.com/Jack-Cherish/python-spider
教材:推荐《流畅的Python》,书看完有些难度,但是哪来当个手册用,很方便,哪些语法忘记了,翻阅一番,必能有所收获。
C++ 是一种面向对象的程序设计语言,无论你是做算法,还是做开发,亦或者是做测开。C++ 都应该掌握,它是一个基础的编程语言。学会了这门编程语言,再学其它,就会更得心应手。
视频:这部分推荐慕课网的免费教程,很好的入门视频,老师讲得绘声绘色、形象生动、通熟易懂。
一共分为 7 章,每章视频的时间是 2-3 个小时,半个月可以轻松刷完,学习顺序是:
- C++远征之起航篇
- C++远征之离港篇
- C++远征之封装篇(上)
- C++远征之封装篇(下)
- C++远征之继承篇
- C++远征之多态篇
- C++远征之模板篇
教材:推荐被誉为“圣经”的《C++ Primer》,经典巨著,非常棒的书。
编程语言基础学完了,接下来就是数据结构与算法。
数据结构与算法是程序员的内功,每一个工程师的必修课。
数据结构的学法,我推荐是直接看书,一边学习一边刷题,同时进行,这样学的速度快。
就如同书名一样,这是一本像小说一样有趣的算法入门书,非常易懂,强烈推荐。
可以与这本书一同学习的,就是《剑指Offer》,里面讲解了 66 道+ 常见数据结构题,解析思路,简单易懂。
两门书一起看,轻松入门数据结构与算法。
不过《剑指Offer》讲解的代码都是 C/C++,没有 Python 版本,想看 Python 版本的,可以看我整理的教程,C++ 和 Python 都有实现和讲解,题目已按照类型划分好。
项目地址:https://github.com/Jack-Cherish/LeetCode
两本书都看完,题也刷完了,那就算是入门了。
想进阶,进一步学习,直接上 LeetCode。
力扣可以从 HOT 100 或 精选算法 200 题刷起,题目相对于《剑指Offer》要增加一些难度,但每道题目都有对应的解题思路和答案。
坚持刷完 200 道,大多的面试轻松搞定,完全够用。
当然要面试谷歌级别的大佬,Hard 题是不能放过的。
Tip:刷一遍题,回头看还会忘,不要怀疑自己,要反复刷,反复练习。
3、算法基础
恭喜大家,在做了前面这么多基础工作之后,终于可以开始入门机器学习算法了。
机器学习:
视频:推荐吴恩达老师的机器学习视频,吴恩达是整个领域的巨头之一,学术地位很高。同时,他出的视频也对新手非常友好,入门的不二之选。
教材:还是那句话,光看不练是不行的。《机器学习实战》,理论结合实战,适合新手。
《机器学习实战》使用 Python2 实现,有些细节讲的不够细致,对此我进行了完善,使用 Python3 复现了一遍,并结合 sklearn 以及更多的好玩例子,进行讲解。
全网阅读量 500w+:
对应的 Github 开源代码 Star 3.3k+,fork 3.1k+。
在线阅读地址:
https://cuijiahua.com/blog/ml/
我也将这个系列打包成了本地 pdf,喜欢离线看,也可以直接下载。
深度学习:
深度学习是现在的算法工程师绕不开的一个子领域,是机器学习的子集。
视频:还是推荐吴恩达老师的深度学习视频,也是对新手非常友好。
教材:说实话,深度学习,我并没有看过书,都是视频+ Github 开源项目学习的,不过被誉为深度学习领域圣经的“花书”,可以备一本。
深度学习框架:
深度学习框架有很多,Tensorflow、Pytorch、Paddle、MXNet、Caffe等。
我在工作过程中,用的最多的是 Pytorch,其次是 Tensorflow。
新手上手,推荐先学 Pytorch,可以直接看 Yunjey Choi 大佬的 Github 教程,简单入门:
项目地址:
https://github.com/yunjey/pytorch-tutorial
Pytorch 深度学习框架学习,也可以看我写的 Pytorch 深度学习实战系列教程,有垃圾分类、图像分割等结合实战的小项目。
Github 开源代码 Star 400+,fork 250+。
项目地址:
https://github.com/Jack-Cherish/Deep-Learning
我也将这个系列打包成了本地 pdf,喜欢离线看,也可以直接下载。
4、实战
实战实战,文章反复提到了这么多次,仅仅这些还是远远不够的。
因为更多时候,你是跟着视频 or 文章的思路去实战,这缺少了独立思考的过程。
学了这么多,你并没有独立完成过一个项目,数据怎么处理,怎么分析问题,用什么算法解决问题,也没有独立思考过。
算法工程师的岗位竞争也比较激烈的,为了在茫茫人海中脱颖而出,我们需要以团队或个人的形式,独立完成一些项目,只有这样,你才能更具竞争力。
对于学生党,做项目,最简单直接的方法就是参加竞赛。
推荐两个参加竞赛的地方,一个是国外的 Kaggle,另一个是国内的阿里云天池。
两个竞赛的奖金也都很丰富,根据自己的喜好,参赛即可。
Kaggle:https://www.kaggle.com/
阿里天池:https://tianchi.aliyun.com/competition/gameList/activeList
既能打比赛,又能赢奖金,何乐而不为呢?
三、资料打包
本文提到的资料,我都打包了,可以直接全部打包带走。
这里都是我精心准备点的资料,但是都是外链,CSDN官方提醒这种分享方式也不太合适。
所以大家,需要的话,可以在公众号后台回复【算法学习路线】获取下载地址。
PS:有能力支持正版的,资料觉得不错,可以去购买支持一波正版。
四、絮叨
这篇文章整理的也是我的学习路线。
要说需要学多久,那就看个人的学习动力了。
如果你想去一家不错的公司,但是目前硬实力不过关,我觉得还是有必要去努力一下的,技术能力的高低决定你能走多远,平台的高低,决定你能飞多高。
如果可以通过自己的努力,进入自己心仪的公司,一定不要松懈怠慢,职场成长和学习新技术一样,不进则退。
你往往会发现,身边实力越强的人越努力,最高级的自律就是享受孤独。
创作不易,本期硬核,各位的三连就是 Jack Cui 创作的最大动力,我们下次见!
文章持续更新,可以微信公众号搜索【JackCui-AI】第一时间阅读,本文 GitHub https://github.com/Jack-Cherish/PythonPark 已经收录,有大厂面试完整考点,欢迎Star。
更多相关内容 -
2019雷达算法工程师笔试题
2020-07-24 10:37:20该资源为2019年雷达算法工程师笔试题,包含单选,多选,判断和问答题。推荐需要应聘雷达算法岗的同学可以下载。 -
牛客机器学习算法工程师面试题库.pdf
2021-09-14 17:53:12牛客机器学习算法工程师面试题库.pdf -
算法工程师面试问题小结
2018-10-05 23:19:22本人总结的人工智能问题,目前已经找到工作,现在将总结的面试问题分享,顺便赚点积分,没分下资源了,呜呜 -
算法工程师、软件工程师、大数据工程师,傻傻分不清楚
2021-01-06 19:55:22算法工程师的范围是小于数据挖掘工程师的 数据挖掘工程师需要了解整套数据流入的过程,包括数据的接入、预处理,然后需要知道怎么用数据解决实际的业务问题,说白就是想办法让数据产生价值。 他需要知道一整个数据到... -
算法工程师面试宝典
2019-02-27 14:28:50接近400页的文档,包含机器学习领域基本所有门类算法的重点内容。 -
NLPer-Interview - NLP 算法工程师相关的面试题-python
2021-06-18 19:25:02NLPer-Interview - NLP 算法工程师相关的面试题 -
DJI大疆2019年8月雷达算法工程师笔试题B卷
2019-08-06 21:13:11此文档为2019年8月大疆的雷达算法工程师笔试题B,内容包括: 1.单选题10道 2.多选题5道 3.判断题10道 4.问答题2道 -
AI算法工程师手册
2018-12-06 17:35:43文章仅包含部分从事该行业必须具备的数学知识,里面内容以数学原理性为主。如统计学习部分关于模型选择,介绍了泛化能力,过拟合、欠拟合,偏差方差,参数估计准则,泛化能力评估,训练集、测试集、验证集等设计规范... -
阿里巴巴最新算法工程师笔试题.pdf
2020-08-11 21:03:37阿里巴巴最新算法工程师笔试题.pdf -
顺丰科技2019秋招运筹优化算法工程师笔试客观题合集.docx
2019-07-02 14:45:45顺丰科技2019秋招运筹优化算法工程师笔试客观题合集 -
机器学习算法工程师校招面试题库.pdf
2019-07-15 17:01:48机器学习算法工程师校招面试题库 涵盖数学基础、机器学习算法、深度学习、自然语言处理、计算机基础项目等。 -
vivo2019校招图像算法工程师笔试题.docx
2019-07-24 16:17:46vivo2019校招图像算法工程师笔试题 -
西安电子科技大学-算法工程师简历.docx
2021-02-27 17:13:07机器学习算法工程师简历模板完整详细 -
京东2019校园招聘算法工程师笔试编程题第一题
2018-09-17 10:45:31求字符串A的子串有多少个与字符串B相似,京东2019校招算法工程师笔试编程第一题 -
AI-Toolbox:算法工程师工具箱,用于快速迭代新想法
2021-05-10 15:23:00算法工程师工具箱,用于快速迭代新想法。 该存储库是一个灵活的工具箱,其中包含许多独立的算法演示。 它旨在提高工作效率,选择您感兴趣的算法演示,并对其进行略微修改以快速验证您的想法。 目前,该项目仍处于... -
AI算法工程师手册1.rar
2021-04-28 09:34:41AI机器学习入门手册,包括传统机器学习,数理基础及深度学习内容,新手入门必备 -
推荐算法,推荐算法工程师需要掌握哪些知识,matlab
2021-09-10 17:27:104主成分分析处理稀疏矩阵后,采用协同过滤算法进行推荐 -
AI算法工程师手册更新版.zip
2020-07-21 17:19:07华校专的AI算法工程师手册,更新于2020.7.21,包含数学基础,统计学习和深度学习部分,后面的工具部分没有,需要的下载 -
【面试资料】-(机构内训资料)丰巢科技算法工程师篇
2021-08-19 09:32:18【面试资料】-(机构内训资料)丰巢科技算法工程师篇 -
一个优秀的算法工程师必须具备哪些素质?.pdf
2020-11-18 05:41:09一个优秀的算法工程师必须具备哪些素质 导言 怎样成为一名优秀的算法工程师这是很多从事人工智能学术研究和产品研发的同学都 关心的一个问题面对市场对人才的大量需求与供给的严重不足以及高薪水的诱惑越 来越多的人... -
京东2018秋招算法工程师笔试题及答案.pdf
2021-08-30 15:14:38京东2018秋招算法工程师笔试题及答案.pdf -
6-3+算法工程师的职业发展.pdf
2022-03-18 17:38:276-3+算法工程师的职业发展 -
AI算法工程师手册.pdf
2019-11-21 12:41:04AI开发中涉及很多数学算法知识,本书给工程师提供了一个快速查阅手册,方便初学者理解算法中的数学原理,帮助工程师快速掌握其中数学方法 -
AI算法工程师手册.zip
2020-01-05 21:53:24这算是一份手册或者是快速学习的一种方式,里面涵盖基本的机器学习和深度学习算法,从基本介绍,到特征工程,从基本的机器学习算法(决策树,贝叶斯,线性回归,支持向量机,KNN,聚合算法,GBDT,xgb,lightbgm等,... -
有三AI 视觉算法工程师成长指导手册_20190812.pdf
2019-09-15 20:18:43有三AI平台发布《深度学习视觉算法工程师成长指导手册》,超过11万字,360页word文档,可下载收藏打印 -
算法工程师的爱与哀愁
2021-03-23 14:17:14算法工程师的爱与哀愁.算法工程师是互联网领域比较热门的职位,随着大数据技术的火爆,推荐系统和机器学习等大数据相关领域获得了大量的关注,也让算法工程师的人气指数大大提升。那么做算法研究需要掌握哪些技能?... -
AI算法工程师面试准备资料.7z
2020-07-20 16:23:47某鱼买的,算法面试资料。主要是算法方面的,包括不限于,机器学习,深度学习,数据结构,自然语言处理,牛客网,以及各个大厂的面试 -
中文NLP+算法工程师语料标注工程师-赛莉标准中文自动标注平台_精标语料4.zip
2021-11-14 10:59:03语料标注工程师的工作要甚于算法工程师。除了构建算法自洽的标注规则外,还要让后续工作的标注员的标注门槛降低。自动标注工具可以1,提升标注效率;2,降低标注员的学习和标注门槛;3,维护标注规则。另外XML文件...