机器学习工程师自学指南!html
本文将会介绍机器学习的方方面面,从简单的线性回归到最新的神经网络,你不单单能学会如何使用它们,而且还能从零进行构建。git
如下内容以计算机视觉为导向,这是学习通常知识的最快方法,而且你从中得到的经验能够很容易地迁移到机器学习的其余领域。github
本文咱们将会使用TensorFlow做为机器学习框架。网络
学习是一个多维因素做用的结果,因此若是能基于学习资料,理论和实践并重,学习效果会好不少。另外,还有一个很好的实践方法是参与Kaggle竞赛,经过竞赛的形式解决实际生活中的问题,从而巩固此前所学。架构
(要求:关于Python,你无需达到专家级别,但要很好地掌握基础知识)app
1.1 实用机器学习(约翰霍普金斯大学)框架
www.coursera.org/learn/pract…机器学习
1.2 机器学习(斯坦福大学)学习
以上两个课程会教你一些数据科学和机器学习的基础知识,也有助于你对更有难度知识的学习和掌握。测试
1.3 CS231n:面向视觉识别的卷积神经网络 2017 (2016)
该课程是网上关于ML & CV最好的课程之一,不只能让你了解这里边的水有多深,还能为你进一步的研究探索打下良好的基础。
1.4 深度学习(Udacity的课程)
1.5 CS224d:面向天然语言处理的深度学习
1.6 深度学习相关的电子书(涵盖了ML的方方面面)
leonardoaraujosantos.gitbooks.io/artificial-…
如下是课程和项目列表,有助于理解运行原理并找到提高办法。
2.1. Tensorflow 相关的简单练习课
2.2. Tensorflow cookbook
2.3. Tensorflow-101教程部分
2.4. 如何使用神经网络实现图像风格迁移。
2.5 图像分割
2.6 使用SSD实现物体识别
2.7 面向物体识别和分割的快速掩膜RCNN
2.8 强化学习,对搭建一个机器人或者Dota AI很是有用。
2.9 Google Brain团队的Magenta项目
2.10 深度度双边学习实时图像加强
groups.csail.mit.edu/graphics/hd…
2.11 自动驾驶汽车项目
学习过程当中遇到困难怎么办?
首先,你必须明白机器学习不是100%精确的,大多数状况下只是一个很好的猜想而且须要大量的调整迭代。所以,在大多数状况下,想出一些独特的想法是很是困难的,由于你的时间和资源大多会花在训练模型上。因此不要试图独自找出解决方案,你能够搜索论文、项目以及找能够帮助你的人。能够说,在得到经验方面越快越好。
如下这些网站能够帮获得你:
为何论文不能彻底解决问题,或者在一些特定状况下为何论文被验证是错的?
很遗憾的说,并非全部的科技人员都愿意公开本身的研究成果,但他们须要经过发表论文来得到收益或者名望。因此他们中的一些人只公布了一部分材料,或者给出了错误的公式。因此咱们最好搜索代码,而不是论文。论文只是解决了特定问题的证据或者事实。
从哪里查找最新的学习资料?
www.gitxiv.com/,不只能找到最新论文,还能找到所须要的代码。
用云计算仍是台式机/笔记本电脑?
在有大量计算需求的状况下,云计算是最好的选择。对于学习和测试,使用带有支持CUDA的显卡的PC/笔记本电脑要便宜得多。固然,若是你有免费云资源或多余资金,仍是使用云比较好。
如何提升调超参数技能?
训练中的主要问题是时间,你不可能一直坐在那里盯着训练数据,所以建议你使用Grid Search。只须要建立一组超参数和模型架构,一个接一个的运行,并保存结果。这样你就能晚上训练,在接下来的一天对比结果,直至找到最有但愿的那个。
你能够看看如何在sklearn库中完成这个操做:
做者 | Andrey Nikishaev
原文地址:
https://medium.com/machine-learning-world/learning-path-for-machine-learning-engineer-a7d5dc9de4a4