分享

8000 星!GitHub 高赞机器学习路线图,有人把它翻译成了中文版!

 LibraryPKU 2019-04-11

重磅干货,第一时间送达

来源 | 大数据文摘

编辑 | 红色石头

试图入门机器学习时,多数人会感到不知所措?这时候,一份明确的学习路径可以帮你去除这一焦虑。

一周前在Github上出现的一份超高赞贴就总结出了这样一份“入门套路”,据这位神秘的发帖人所说,机器学习不需要繁杂的准备和高深的数学知识,你只需有足够的时间、正确的学习方法、对数据分析的好奇心就足够了。

原项目

其实,前段时间红色石头就发文推荐过这个 GitHub 高赞项目,链接如下:

5000 星!GitHub 高赞机器学习路线图,请务必收藏!

这个项目是一位名为“维吉尔(Vigilio)”的开发者整理的。项目包括职业进阶路径、专业知识讲解、工具介绍等,着重强调,不走弯路,简明扼要!Vigilio称,这篇帖子按照层次结构和复杂程度组织编写,以便让学习者对事物的运作方式有一个连贯的想法。

项目地址:

https://github.com/clone95/Virgilio

该项目主要包含了六个方面:

  • New To Data Science?

  • Complete Learning Paths

  • Specializations

  • Tools

  • Topics

  • Research

我们通过一张图来看一下这个项目包含了哪些内容。

这份学习路线图可以说非常完整和详细,包含的内容很全面。但是缺点就是英文版不方便大家阅读,以便更有效率地学习。

汉化项目

重点来了!就在一周前,这份英文版 GitHub 资料被名为 @jiaxianhua 的同胞翻译出了简体中文版,让不想费力读英文的同学也可以轻松上手啦!

当然,先附上网址:👇

https://github.com/clone95/Virgilio/tree/master/zh-CN

下面文摘菌根据这份资料给大家好好捋一捋这个汉化项目的具体内容。

1. 新接触数据科学?

新接触数据科学需要什么?当然,Python 这一基础的编程语言需要掌握。一些数学的基础知识当然也少不了。如果想进阶的话,当然就需要学习一些高等的数学知识和高级的Python啦。

在这份 GitHub 项目里,这位外国小哥给出了基础 Python 教程以及数据科学 Python 教程。其他的部分,包括高级 Python、高等数学以及数学科学里的数学知识,目前都还是“即将推出”的状态。

先学 Python 然后入门数据科学,这绝对是最高效的学习路径。

在基础 Python 目录下,先给出超链接让你学习基本算术运算和数据类型,然后介绍流程控制,包括if语句的使用,for 循环的使用等等。 

关于函数的使用,在项目中,作者也给出了一个好的经验法则是:如果一件事情要重复做 3 次以上,那就写一个函数吧,并根据你的需要决定调用次数。

除此之外,一些基础知识也有介绍。包括如何定义函数,如何调用等等。

总之,资料非常丰富,对于一些问题讲的不够清楚的地方也给出了超链接转到了相应的答案。

2. 完整的学习路径

一个专业的机器学习工程师应该专注于 TensorFlow 和 Scikit-Learn。而使用 Scikit-Learn 主要能做的是端到端机器学习项目、线性回归、分类、训练模型、支持向量机、决策树、集成学习和随机森林以及无监督学习。

使用 TensorFlow 能够搭建:ANN - 人工神经网络,CNN - 卷积神经网络,RNN - 递归神经网络以及自动编码器和做强化学习相关的项目。

除了使用这两个框架之外,一些文章,网络应用程序,reddit 线程,最佳实践,项目和 repo 也非常值的看。

数据科学备忘单

https://github.com/FavioVazquez/ds-cheatsheets

真实数据科学/ML 项目的集合

https://docs.google.com/document/d/e/2PACX-1vRRC3ZIcvjFqEYEgnN9pptoWONr2mSGZJ4hSdL8Jpf2IpXdxjTc-d3jrpb98h59xJnZ3h1frUDydoxc/pub

TensorFlow中的教程和 ML 项目的集合

https://github.com/jtoy/awesome-tensorflow

其他 TensorFlow示例

https://github.com/aymericdamien/TensorFlow-Examples

更多需要收藏以及注意的文章,博客可以去这份资料中寻找:

地址:

https://github.com/clone95/Virgilio/tree/master/zh-CN/LearningPaths/Machine%20Learning%20Engineer%20Career%20Path

在学习机器学习时,数学知识应该掌握到什么程度?正如这份github的作者而言:

无论谁告诉你机器学习背后的数学很难...... 都没有错!但是你必须考虑到每次你要使用它时,机器都会为你处理它!因此,重要的是掌握主要概念并认识到这些概念的限制和应用。没有人会要求你手工计算梯度!

注:在路径这一块,目前只有机器学习相关资料,商业智能和云计算都是待推出状态

3. 专业化

这个类别中,目前存在的是数据预处理和有效陈述这两个项目。同样,其他的项目包括数据可视化、数据采集等都是待推出的状态。

关于数据预处理,其实是个迭代过程的收集、组合、结构化和组织数据。目的是为以后的数据可视化,分析和机器学习打下坚实的基础。

每一个数据科学家或者数据工程师都应该具有清洗和构造数据的能力。不同的数据类型,需要做出不同的数据处理。在做数据预处理的过程中最主要是有不要把数据当玩笑的心态。

首先在尝试数据准备步骤时,先不要处理 GB 级别的数据。只需使用数据的小子集 ,但子集要具有代表性)

在做数据清洗工作时候,需要注意:删除额外的空格、选择并处理所有空白单元格、转换值类型、删除重复项、将文本更改为小写 / 大写、拼写检查、处理特殊字符、规范日期、验证丰富数据、数据离散化、特征缩放等等。数据预处理是非常复杂的,你的最终目标是做到尽可能 自动化。 

然后在数据分析中需要明确:你打算解决哪个业务问题 (什么是重要的,什么不是);数据是如何被收集的(有噪音,缺失值......) ;你们有多少数据在那里,我在哪里可以找到他们? (数据维度和从存储中检索)。

在学习数据预处理的过程中,你可以按顺序选择它们或选择最适合你的那个,但建议你至少要一次把它们都看完。

总体来说有两种类型的专业化:硬技能和软技能。

前者是关于技术流程,是每个处理数据的人的核心工具包。使用数据是一种艺术形式,经验法则和最佳实践将帮助你了解处理它们的方式。你需要对如何处理数据产生一种 “感觉”,这种 “感觉” 主要是由情况和经验驱动的。

后者是真正的价值促成者。如果有了软技能,你可以成为世界上最好的开发人员或工程师,但如果你无法向受众传达你的建议和发现,或者使用数据来建议企业如何做决策,那么你对公司来说就毫无用处。

在向受众传达建议和发现时,需要的框架包括:设置、故事、情绪和感觉(你需要在你的受众中重现它们)、结论的动机以及结论。

在说话时候注意使用第一个人,注意修辞问题,表达尽可能的自然,最后给出总结理由和实际建议。

4. 主题

这部分主要内容是使用 DialogFlow,Python 和 Flask 打造 ChatBot。挺有意思的。简单来说,ChatBot 是一种模拟人类对话(以文本和音频形式)的计算机程序,我们将其视为智能和有用的。他们最重要的应用是个人或企业虚拟助手。

我之所以选择了 DialogFlow,是因为: 

  • 融入 Google 的机器学习专业知识和 Google Cloud Speech-to-Text 等产品 

  • 是一项在 Google 云端平台上运行的 Google 服务,可让你扩展到数亿用户 

  • 非常适合初学者,直观,并且具有完整而清晰的文档

地址:

https://github.com/clone95/Virgilio/blob/master/zh-CN/Topics/DialogFlow.md

5. 工具

在学习的过程中,要熟练的使用Jupyter Notebooks、latex、Wolfram Alpha等等。

LaTeX 是一种标记语言(或者,如 官方网站 所述,“用于高质量排版的文档准备系统”) 用于创建精彩的论文和演示文稿。你在职业生涯中阅读的几乎所有论文都是使用 LaTeX 编写的。

LaTeX 有几个发行版,打开下面的链接可以看到

http://www./interest.html#free

安装后,你需要一个编辑器来编写 LaTeX 文档。可以使用你想要的任何编辑器,包括记事本,vim,nano,gedit 等,但建议你选择免费和跨平台的 Texmaker 。

Texmaker

http://www./texmaker/

另外,推荐下面这个网站,它允许用户在线编写公式,并且还有大量符号,你只需单击,生成所需的代码即可。你还可以预览公式,以便更容易确保所有内容都正确编写。

网站地址:

https://www./latex/eqneditor.php

WolframAlpha (WA) 是一个计算知识引擎。其具有强大的数学能力,它可以成为一个非常强大的工具来帮助你进行计算。具体的功能包括基本计算、绘图函数、求解方程、解不等式、矩阵代数、计算级数和、求导、计算积分、求极限等等。

GeoGebra (GG) 是一个功能强大的动态数学应用程序,适用于所有级别的教育,它将几何,代数,电子表格,图示器,统计和无穷小计算结合到一个易于使用的单一软件。 GeoGebra 社区正以指数级增长,数百万用户遍布许多国家。 GeoGebra 已成为全球高等数学,科学支持,技术,工程和数学以及教学和学习创新软件的领先提供商。

下载及使用教程:

https://github.com/clone95/Virgilio/blob/master/zh-CN/Tools/GeoGebra.md

然后是正则表达式,这是一种匹配一种编写匹配字符串的模式的方法。

使用教程:

https://github.com/clone95/Virgilio/blob/master/zh-CN/Tools/Regex.ipynb

6. 研究

这部分包含了 Zotero 和即将推出的最新论文。Zotero 是一个书目参考管理工具。广泛用于研究领域(撰写研究,论文或文章) ,它可以收集研究结果,保留细节(文本和参考文献) ,然后创建参考书目。这有效地优化了研究结果和参考文献的管理以及文档和编译。

更多细节,读者可自行搜索和研究!

最后,附上完整的路径图,enjoy👇

总的来说,这份 GitHub 项目内容非常干!汉化版的资源极大地提高了学习效率。感谢原作者和汉化者的热心付出和辛勤工作,该项目是机器学习非常好的入门教程,希望对大家有所帮助!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多