成为机器学习工程师要知道的多种学习路径(附图)

简介:

如果你决心成为一名机器学习工程师的话,在这篇文章中,我们将从简单的线性回归到最新的神经网络,让你了解机器学习的所有方面,你不仅可以学习如何使用它们,还将学习如何从头开始构建它们。

本文的学习路径大部分基于计算机视觉(CV),因为它是获得各方面知识的最快途径,而从CV中获得的经验可以简单地转移到机器学习的任何一个领域。

我们将使用TensorFlow作为一个机器学习框架,因为它非常好用。TesnorFlow官方地址:https://www.tensorflow.org/

如果你同时学习了理论和实践材料,那么将会得到更好的学习结果和实用的学习材料。

前提要求:Python,你不需要在这方面是专家级别,只要懂得基本知识就好。

1.课程

1.1 约翰霍普金斯大学的实用机器学习;地址:https://www.coursera.org/learn/practical-machine-learning

__20170828132538

1.2 斯坦福大学的机器学习;地址:https://www.coursera.org/learn/machine-learning
这两个课程将教给你关于数据科学和机器学习的基本知识。

1.3 CS231n:2017年用于视觉识别的卷积神经网络(2016);地址:http://cs231n.stanford.edu/
这是你在网上找到的关于机器学习和CV相关的最好课程之一。它能为你进一步的学习调查打下良好的基础。

__20170828132803

1.4* 谷歌的深度学习

1.5* CS224d:自然语言处理的深度学习;地址:http://cs224d.stanford.edu/
对于想要使用自然语言处理的人来说,也是可选择的课程。

3

1.6 * 深度学习的书籍;地址:https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/
涵盖许多机器学习的相关知识的手册,可选。

2.实践部分

这个列表包含许多教程和项目,你可以理解它们是如何工作的,并思考如何改进它们。创建这个列表是为了增加你对机器学习的专业知识和兴趣,所以不要害怕,如果有些任务对你来说很困难,你可以在你准备好的时候再开始实践。

2.1 来自Kadenze的简单实用的TensorFlow课程;地址:https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info

2.2 TensorFlow码元书;地址:https://github.com/nfmcclure/tensorflow_cookbook

4

2.3 Tensorflow – 101教程集;地址:https://github.com/sjchoi86/Tensorflow-101

2.4 快速的风格转变网络;地址:https://github.com/lengstrom/fast-style-transfer
教你如何使用神经网络将风格从名画类转变为照片类。

5

2.5 图像分割;地址:https://github.com/MarvinTeichmann/tensorflow-fcn

2.6 使用SSD的对象检测;地址:https://github.com/balancap/SSD-Tensorflow
对象检测的最快(也是最简单的)模型之一。

6

2.7 用于对象检测和分割的快速蒙版RCNN;地址:https://github.com/CharlesShang/FastMaskRCNN

2.8 强化学习;地址:https://github.com/dennybritz/reinforcement-learning
非常有用的东西,特别是在你想要创建一个机器人或下一个Dota AI上的时候。

2.9 谷歌大脑团队的Magenta项目;地址:https://github.com/tensorflow/magenta/tree/master/magenta/models
这个项目的目的是在神经网络的帮助下创造出引人注目的艺术和音乐作品,它的结果通常都是非常惊人的。

2.10 深度双边学习实时图像增强;地址:https://groups.csail.mit.edu/graphics/hdrnet/
这里包含了谷歌图片增强的新算法。

7

2.11 自驾车项目;地址:https://github.com/udacity/self-driving-car
想让你的车完全自动吗? -这是一个很好的学习起点。

3.常见问题解答

如果你在问题上卡住了怎么办?
首先,你必须知道机器学习并不是100%准确的——大多数情况只是一个很好的猜测和大量的调优迭代。因此,在大多数情况下,想出一些独特的见解是非常困难的,因为你将花费大量的时间和资源在训练模型上。所以,不要试图自己找到解决办法。

这有一些网站可以帮助你解决一些问题:

我在哪里可以找到新的学习材料?
我使用http://www.gitxiv.com/,http://www.arxiv-sanity.com/还有 https://arxiv.org/这三个网站。gitxiv这个网站不仅可以找到论文,而且还能找到相关代码,因此它对学习者来说更加实用。

8

我应该使用云或PC/笔记本电脑来计算吗?
云是最适合用于生产模型的密集计算。对于学习和测试,使用CUDA显卡的PC/笔记本电脑要便宜得多。例如,我在我的GTX GeForce 960M和690CUDA内核的笔记本电脑上训练所有模型的。当然,如果你有云的话,你可以使用它。

如何提高模型的超参数的调优?
训练的主要问题是时间。你不能只是坐在那里看训练数据。出于这个原因,我建议你使用网格搜索(Grid Search)。基本上,只需创建超参数和模型架构的集合,然后在流中运行它们,从而保存结果。因此,你可以在晚上进行训练,并在第二天比较结果,然后找到最良好的那个。

你可以在sklearn库看到这个过程是如何完成的。sklearn库地址:http://scikit-learn.org/stable/modules/grid_search.html

本文为编译作品,转载请注明出处,更多内容关注微信公众号:atyun_com

目录
相关文章
|
5月前
|
前端开发 JavaScript Java
Java 学习路线规划及项目案例中的技术栈应用解析
内容包括:**Java 17核心特性**(如sealed class、record)与模块化开发;Spring Boot 3 + Spring Cloud微服务架构,涉及响应式编程(WebFlux)、多数据库持久化(JPA、R2DBC、MongoDB);云原生技术**如Docker、Kubernetes及CI/CD流程;性能优化(GraalVM Native Image、JVM调优);以及前后端分离开发(Vue 3、Spring Boot集成)。通过全栈电商平台项目实战,掌握从后端服务(用户、商品、订单)到前端应用(Vue 3、React Native)的全流程开发。
247 9
|
Ubuntu
百度搜索:蓝易云【Ubuntu开机自启服务systemd.service配置教程】
现在,你的服务将在Ubuntu开机时自动启动,并在之后的启动中持续运行。记得根据你的实际需求修改 `your_service_name.service`文件中的相关信息。
451 2
|
边缘计算 物联网 5G
边缘计算在物联网中的实践与挑战
边缘计算在物联网中的实践与挑战
340 1
|
12月前
|
Cloud Native 持续交付 云计算
云原生架构的演进与挑战
随着云计算技术的不断发展,云原生架构已成为企业数字化转型的重要支撑。本文深入探讨了云原生架构的概念、发展历程、核心技术以及面临的挑战,旨在为读者提供一个全面了解云原生架构的视角。通过分析Kubernetes、Docker等关键技术的应用,以及微服务、持续集成/持续部署(CI/CD)等实践案例,本文揭示了云原生架构在提高应用开发效率、降低运维成本、增强系统可扩展性等方面的显著优势。同时,也指出了云原生架构在安全性、复杂性管理等方面所面临的挑战,并提出了相应的解决策略。
|
算法 调度
迪杰斯特拉算法(Dijkstra's algorithm)以及示例
迪杰斯特拉算法(Dijkstra's algorithm)是一种非常重要且有价值的算法。它被广泛应用于计算图中单源最短路径问题,在交通路线规划、网络路由、作业调度等领域有着广泛的应用。迪杰斯特拉算法的最大优点是其简单易懂和时间复杂度较低,因此在实际应用中非常实用。它可以在稠密图和稀疏图中使用,对于边权均为非负数的图都可以使用。
迪杰斯特拉算法(Dijkstra's algorithm)以及示例
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
539 2
|
SQL 存储 Oracle
【赵渝强老师】Hive的分区表
Hive的分区表与Oracle、MySQL类似,通过分区条件将数据分隔存储,提高查询效率。本文介绍了静态分区表和动态分区表的创建与使用方法,包括具体SQL语句和执行计划分析,附带视频讲解。静态分区表需显式指定分区条件,而动态分区表则根据插入数据自动创建分区。
1100 1
ly~
|
存储 Oracle 关系型数据库
数据库的优点和缺点分别是什么?
### 数据库的优点与缺点 数据库具有高数据共享性,允许多用户和多应用同时访问,提升信息流通效率。其数据一致性通过约束机制和事务管理保障,确保数据完整无误。数据库具备强数据独立性,改变存储结构或逻辑结构对应用影响小。此外,用户权限管理和数据加密提升了数据安全性。 然而,数据库也存在成本高的问题,包括软件购买与维护费用及高性能硬件需求。大规模数据处理可能导致性能瓶颈,尤其是在高并发场景下。数据迁移复杂,尤其是不同数据库系统间或版本升级时,需处理数据结构和语法差异。
ly~
1378 2
|
SQL 分布式计算 大数据
PySpark
【6月更文挑战第15天】PySpark
340 6