参加 2019 Python开发者日,请扫码咨询 ↑↑↑





作者 | 琥珀

出品 | AI科技大本营(ID:rgznai100)




近日,一个在 GitHub 上开源即收获了 3700+ Star 的项目,引起了营长的注意。据介绍,该项目以 TensorFlow 和
Scikit-learn 的机器学习框架的基础库为例,详细介绍了如何成为一名机器学习工程师的成长路径。









该项目的作者还是一位来自意大利的 IT 工程师,名叫 Giacomo Ciarlini,十分帅气的有没有?








GitHub 传送门:


https://github.com/clone95/Machine-Learning-Study-Path-March-2019/tree/master/Career%20Paths/Machine%20Learning%20Engineer%20Career%20Path

作者首先强烈推荐了《Scikit-Learn 与 TensorFlow 机器学习实用指南》一书。
之外,他还上传了全球顶尖大学和开源组织的学习资源,并收集了理论和示例,以及对选择最佳资源的建议。




内容主要分为四大部分:




一、先决条件




*
Python

*
Jupyter Notebook

*
需要掌握的基本数学知识

*
机器学习全貌




二、使如何使用 Scikit-Learn 进行机器学习




*
为什么是 Scikit-Learn?

*
端到端机器学习项目

*
线性回归

*
分类

*
训练模型

*
支持向量机

*
决策树

*
合奏学习和随机森林

*
无监督学习

*
结语和期待




三、通过 TensorFlow 训练的神经网络




*
为何选择 TensorFlow?

*
使用 TensorFlow

*
ANN - 人工神经网络

*
CNN - 卷积神经网络

*
RNN - 递归神经网络

*
训练网络:最佳实践

*
自动编码

*
强化学习




四、工具




*
机器学习项目

*
数据科学工具

*
博客 / YouTube 频道 / 网站




每个标签下,作者都有详细的解释并给出了实战操作的资源,实乃良心之作!下面,就由营长来详细介绍下这个项目里有哪些值得一看的资源(并附上部分教程链接)。




一、先决条件




*
Python




基础知识:

https://pythonprogramming.net/introduction-learn-python-3-tutorials/




作者还建议,除了对 Python 熟悉掌握外,还可以了解下 Numpy,它是数学运算的重要模块,可以有助于你在后面 Python 环境中导入 Tensor
数据类型。




Python3 安装地址:

https://realpython.com/installing-python/




PyCharm Community Edition(一个用于 Python 开发的完整 IDE,为实验设置一个新的 Python 虚拟环境)

安装地址:

https://www.jetbrains.com/pycharm/download/#section=windows




*
Jupyter Notebook




是一个开源的 Web 应用程序,帮助用户创建和共享文档,包括 live
code,方程,可视化,叙述文本。例如,数据清洗、数值模拟、统计建模、数据可视化、机器学习等。




*
需要掌握的基本数学知识




在作者看来,数学是机器学习背后的重要基础。但重要的是,掌握主要概念并认识到这些数学方法的应用领域和局限性。




他给出了三个课程链接,分别是:




线性代数:

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

概率基础和统计:

https://www.edx.org/course/introduction-to-probability-0

其他数学资源:

https://explained.ai/matrix-calculus/index.html#sec4.5




*
机器学习全貌




最后,还要通过一篇科普读物,了解整个机器学习全貌:


https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch01.html




二、如何使用 Scikit-Learn 进行机器学习?




*
安装 Scikit-Learn

* python pip install -U scikit-learn
如果安装时遇到一些问题,可能是你更新到最新版本的 pip,所以在同一个文件夹内运行:


* python -m pip install --upgrade pip



*
为什么是 Scikit-Learn?




Scikit-Learn 是机器学习任务中最完整、最成熟,且记录完整的库之一。它开箱即用,具有强大而先进的模型。




*
端到端机器学习项目




Kaggle,作为机器学习和通用数据科学项目的首选平台,它提供了大量免费数据集,以及有趣的挑战和 ML 模型实验。




*
线性回归




线性回归是最简单的机器学习形式,也是模型训练的起点。




可以参看吴恩达的理论课程:


https://www.youtube.com/watch?v=W46UTQ_JDPk&list=PLoR5VjrKytrCv-Vxnhp5UyS1UjZsXP0Kj&index=2




*
分类




如果想要从不同的可能性中预测结果,分类则是最重要的机器学习任务之一。最简单的情况是二元分类问题。




*
训练模型




作者列举了 ML 任务中训练模型的一些技术,在 Google Crash 教程中可以找到:




梯度下降:


https://developers.google.com/machine-learning/crash-course/reducing-loss/gradient-descent

学习率:


https://developers.google.com/machine-learning/crash-course/reducing-loss/learning-rate

SGD:


https://developers.google.com/machine-learning/crash-course/reducing-loss/stochastic-gradient-descent

正则化:

https://www.youtube.com/watch?v=Q81RR3yKn30




*
支持向量机




是创建 ML 模型的另一种经典算法。




除了理论解释外,还有更多实战策略:

https://www.youtube.com/watch?v=g8D5YL6cOSE




*
决策树




*
集成学习和随机森林




集成学习(Ensemble Learning)的思路是利用了几款 ML 模型的所有不同特征、优劣势,以期得到最有可能性的预测结果。




集成学习基础知识:

https://www.youtube.com/watch?v=9VmKYwX_U7s

随机森林最经典实践:

https://www.youtube.com/watch?v=3kYujfDgmNk




*
无监督学习




涵盖了无监督学习的介绍、解释,以及与监督学习、强化学习之间的差别。

关于涉及的两个重要技术:关联规则(Association Rules)和聚类,作者分别提供了示例和教程。




三、通过 TensorFlow 训练的神经网络




在本节中,作者主力推荐斯坦福大学深度学习课程以及其他网络教程,帮助学习者快速了解这些内容。其中包括 ANN、CNN、RNN
等不同种类的机器学习模型。实际上,作者花了很长时间去理解神经网络的理论和应用,包括阅读博客、官网论坛、学习路径。




他给出了“三步走”的建议:




*
通过斯坦福大学教程了解神经网络的主要概念,不要过多担心一些数学解释,而要关注什么和为什么;

*
使用理论 + 教程 + 示例(如 RNN 理论 + RNN 教程 + RNN 示例),每次只深度探讨一个主题;

*
每探讨完一个主题,就回溯一遍斯坦福大学的课程。这种方式将帮助你完全理解所有公式,并将课程中提到的 “数学” 相关知识联系起来,触类旁通。




作者表示,以上这种方式可根据需要重复多次,然后在你的头脑中构建一个良好的通用模型。




斯坦福大学课程 PPT 地址:

http://cs231n.stanford.edu/slides/2018/




*
为何选择 TensorFlow?




目前,TensorFlow 已经企业里实现机器学习算法的事实标准。




在安装 TensorFlow 库之前,你只需在 Python 安装文件夹中打开一个终端并运行此命令:

* python pip install tensorflow



*
ANN - 人工神经网络

*
CNN - 卷积神经网络

*
RNN - 递归神经网络

*
训练网络:最佳实践

*
自动编码

*
强化学习

以上细节就不一一细讲了。




四、其他资源




除了上述内容之外,作者还收集了大量文章、网络应用程序、最佳实践、项目和存储库。




*
机器学习项目








*
工具








*
YouTube 频道








*
博客






以及,其他值得一看的网站:






作者最后表示,将在接下来的时间里对不同的主题进行扩充,包括:无监督学习、机器学习心态框架(如何像数据科学家一样思考)、使用 Pandas 进行数据处理和准备、
特征选择、特色工程、扩展参数优化部分、Keras 库、TensorFlow 2.0、如何在 AWS、Azure 上部署模型等。




(本文为 AI科技大本营原创文章,转载请微信联系 1092722531)






精彩推荐



「2019 Python开发者日」7折票限时开售!这一次我们依然“只讲技术,拒绝空谈”
10余位一线Python技术专家共同打造一场硬核技术大会。更有深度培训实操环节,为开发者们带来更多深度实战机会。




目前演讲嘉宾议题已确认,扫描海报二维码,即刻抢购7折优惠票价!更多详细信息请咨询13581782348(微信同号)。









推荐阅读:

*
李沐团队新作Gluon,复现CV经典模型到BERT,简单好用 | 强烈推荐
<https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/88800264>

*
深度研究自然梯度优化,从入门到放弃 | Deep Reading
<https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/88800260>

*
110道Python面试题
<https://mp.weixin.qq.com/s?__biz=MzU5MjEwMTE2OQ==&mid=2247485264&idx=1&sn=3db0dda3a521bb00256b1d08d28158fa&scene=21#wechat_redirect>

*
2019Python跳槽薪资报告:人生苦短,Pythoner们还好吗?
<https://mp.weixin.qq.com/s?__biz=MzU5MjEwMTE2OQ==&mid=2247485256&idx=1&sn=4f4cd9309b94faa8bc436fbdeb938ad9&scene=21#wechat_redirect>

*
如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招
<https://blog.csdn.net/FL63Zv9Zou86950w/article/details/88802080>

*
做了四年以太坊核心开发者, 以太坊升级了, 我也该离开了……
<https://blog.csdn.net/Blockchain_lemon/article/details/88802046>

*
抢饭碗?日本乐天要求员工学编程! <https://blog.csdn.net/csdnsevenn/article/details/88801048>

*
腾讯服务器崩溃!
<https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650716425&idx=1&sn=5b39961e149fda5e04180b3ff649f5da&scene=21#wechat_redirect>

*
曝光!月薪5万的程序员面试题:73%人都做错,你敢试吗?
<https://mp.weixin.qq.com/s?__biz=MzA5MjcxNjc2Ng==&mid=2650559625&idx=1&sn=5b90d9150ca04582788a8aaa173745a0&scene=21#wechat_redirect>






你也可以点击阅读原文,查看大会详情。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信