资源 | 普通程序员如何自学机器学习?这里有一份指南~

机器学习工程师自学指南!

本文将会介绍机器学习的方方面面,从简单的线性回归到最新的神经网络,你不仅仅能学会如何使用它们,并且还能从零进行构建。

以下内容以计算机视觉为导向,这是学习一般知识的最快方法,并且你从中获得的经验可以很容易地迁移到机器学习的其他领域。

本文我们将会使用TensorFlow作为机器学习框架。

学习是一个多维因素作用的结果,所以如果能基于学习资料,理论和实践并重,学习效果会好很多。另外,还有一个很好的实践方法是参与Kaggle竞赛,通过竞赛的形式解决实际生活中的问题,从而巩固此前所学。

(要求:关于Python,你无需达到专家级别,但要很好地掌握基础知识)

1.课程

1.1 实用机器学习(约翰霍普金斯大学)

https://www.coursera.org/learn/practical-machine-learning

1.2 机器学习(斯坦福大学)

以上两个课程会教你一些数据科学和机器学习的基础知识,也有助于你对更有难度知识的学习和掌握。

https://www.coursera.org/learn/machine-learning

1.3 CS231n:面向视觉识别的卷积神经网络 2017 (2016)

该课程是网上关于ML & CV最好的课程之一,不仅能让你了解这里边的水有多深,还能为你进一步的研究探索打下良好的基础。

http://cs231n.stanford.edu/

1.4 深度学习(Udacity的课程)

https://www.udacity.com/course/deep-learning--ud730

1.5 CS224d:面向自然语言处理的深度学习

http://cs224d.stanford.edu/

1.6 深度学习相关的电子书(涵盖了ML的方方面面)

https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/

2.实战

以下是课程和项目列表,有助于理解运行原理并找到提升办法。

2.1. Tensorflow 相关的简单练习课

https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-iv/info

2.2. Tensorflow cookbook

https://github.com/nfmcclure/tensorflow_cookbook

2.3. Tensorflow-101教程部分

https://github.com/lengstrom/fast-style-transfer

2.4. 如何使用神经网络实现图像风格迁移。

https://github.com/lengstrom/fast-style-transfer

2.5 图像分割

https://github.com/MarvinTeichmann/tensorflow-fcn

2.6 使用SSD实现物体识别

https://github.com/balancap/SSD-Tensorflow

2.7 面向物体识别和分割的快速掩膜RCNN

https://github.com/CharlesShang/FastMaskRCNN

2.8 强化学习,对搭建一个机器人或者Dota AI非常有用。

https://github.com/dennybritz/reinforcement-learning

2.9 Google Brain团队的Magenta项目

https://github.com/tensorflow/magenta/tree/master/magenta/models

2.10 深度度双边学习实时图像增强

https://groups.csail.mit.edu/graphics/hdrnet/

2.11 自动驾驶汽车项目

https://github.com/udacity/self-driving-car

3. FAQ

学习过程中遇到困难怎么办?

首先,你必须明白机器学习不是100%精确的,大多数情况下只是一个很好的猜测并且需要大量的调整迭代。因此,在大多数情况下,想出一些独特的想法是非常困难的,因为你的时间和资源大多会花在训练模型上。所以不要试图独自找出解决方案,你可以搜索论文、项目以及找可以帮助你的人。可以说,在获得经验方面越快越好。

以下这些网站可以帮得到你:

  • http://www.gitxiv.com/
  • http://www.arxiv-sanity.com/
  • https://arxiv.org/, https://stackoverflow.com

为什么论文不能完全解决问题,或者在一些特定情况下为什么论文被验证是错的?

很遗憾的说,并不是所有的科技人员都愿意公开自己的研究成果,但他们需要通过发表论文来获得收益或者名望。所以他们中的一些人只公布了一部分材料,或者给出了错误的公式。所以我们最好搜索代码,而不是论文。论文只是解决了特定问题的证据或者事实。

从哪里查找最新的学习资料?

  • http://www.gitxiv.com/,不仅能找到最新论文,还能找到所需要的代码。
  • http://www.arxiv-sanity.com/
  • https://arxiv.org/

用云计算还是台式机/笔记本电脑?

在有大量计算需求的情况下,云计算是最好的选择。对于学习和测试,使用带有支持CUDA的显卡的PC/笔记本电脑要便宜得多。当然,如果你有免费云资源或多余资金,还是使用云比较好。

如何提高调超参数技能?

训练中的主要问题是时间,你不可能一直坐在那里盯着训练数据,因此建议你使用Grid Search。只需要创建一组超参数和模型架构,一个接一个的运行,并保存结果。这样你就能晚上训练,在接下来的一天对比结果,直至找到最有希望的那个。

你可以看看如何在sklearn库中完成这个操作:

http://scikit-learn.org/stable/modules/grid_search.html

作者 | Andrey Nikishaev 原文地址: https://medium.com/machine-learning-world/learning-path-for-machine-learning-engineer-a7d5dc9de4a4

原文发布于微信公众号 - AI科技大本营(rgznai100)

原文发表时间:2017-12-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习养成记

用机器学习更快了解用户(翻译)

“ 英文博文的部分翻译。英文原文链接:https://erikbern.com/2017/12/12/learning-from-users-faster-u...

35990
来自专栏人工智能头条

机器学习安全不容忽视

10340
来自专栏人人都是极客

面向嵌入式 AI 芯片上视觉任务的神经网络设计

随着这几年神经网络和硬件(GPU)的迅猛发展,深度学习在包括互联网,金融,驾驶,安防等很多行业都得到了广泛的应用。然而在实际部署的时候,许多场景例如无人驾驶,安...

20150
来自专栏人工智能头条

深度学习在推荐领域的应用

18040
来自专栏PPV课数据科学社区

【学习】关于推荐系统中的特征工程

在多数数据和机器学习的blog里,特征工程 Feature Engineering 都很少被提到。做模型的或者搞Kaggle比赛的人认为这些搞featu...

54480
来自专栏AI科技评论

学界 | MIT周博磊团队:时序关系网络帮助计算机填补视频帧之间的空白

AI 科技评论按:如果你向一个人仅仅展示一段视频中的几帧,他通常可以推测出视频里发生的是什么事件以及屏幕上会显示出什么。例如,如果我们在视频开始时的帧中看到了一...

15230
来自专栏AI科技评论

业界| 英特尔中国研究院深度学习领域最新成果——“动态外科手术”算法

编者注:本文为英特尔中国研究院最新研究成果,主要介绍了一个名为“动态外科手术”算法,有效地解决了处理大型网络时重训练时间长,误剪枝率高的问题。利用该算法,我们可...

31830
来自专栏量子位

详解个性化推荐五大最常用算法

允中 若朴 编译自 Stats&Bots 量子位 出品 | 公众号 QbitAI ? 推荐系统,是当今互联网背后的无名英雄。 我们在某宝首页看见的商品,某条上读...

39550
来自专栏大数据文摘

如何优雅地打开堆满数学公式的机器学习论文

29430
来自专栏张俊红

时间序列数据(上)

总第92篇 01|时间序列定义: 时间序列是按照一定的时间间隔排列的一组数据,其时间间隔可以是任意的时间单位,如小时、日、周月等。比如,不同时间段某产品的用...

33540

扫码关注云+社区

领取腾讯云代金券