找回密码
 立即注册
搜索

机器学习成才之路:这是一条GitHub高赞的学习途径

hu2y 2020-9-7 07:43:44 显示全部楼层 阅读模式
经过互联网学习意味着可以在无垠的知识海洋中遨游,但也能够由于广阔而迷失。在这个项目中,作者为机器学习提供了一个残缺的学习途径。从 ML 到 DL、Scikit-Learn 到 TensorFlow,你需求这份学海指南。
曾有多少次,当你试图接近某一个新主题或范畴时,会感到困惑、迷失方向并且无「路」可循。要如何确保你可以深入了解并且获得运用它的才能呢?当然是自创其别人的成熟途径,然后跟着他一步步学习,少走很多弯路。
在这篇文章中,作者总结了三四年内从互联网学习机器学习的阅历,他搜集了大量开源项目、工具、教程和视频链接等资源,并将它们组织成一条高效的学习途径。

  • 项目地址:https://github.com/clone95/Machine-Learning-Study-Path-March-2019


本资源库旨在为以下范畴提供三种无机残缺的学习途径:

  • 机器学习
  • 商业智能(即将发布)
  • 云计算(即将发布)


在此你将可以了解相关原理并且在项目实际中予以运用。假如细心遵照这些学习途径,则可以从零末尾构建残缺的看法和获得一直可用的技能。理想上,这些学习途径不需求之前有相关知识,但基础编程和简单数学是了解和实际大多数概念的必要条件。
这里列出的每一个资源都是收费或开源的,作者设法以简约方式停止表述以避免显得太过复杂。此外,作者试图按照层次和复杂程度来组织内容,从而为学习机器学习原理提供一个连接的概念。
作者表示,第二本指南(商业智能)将在 2 至 3 周内发布:

  • 机器学习生涯-已发布
  • 商业智能生涯-即将发布
  • 云计算生涯-即将发布


以下是不同窗习途径的的道路图(机器学习的道路图已发布)。





三大途径与专题

在三大途径中,机器学习工程师曾经完成并发布,其它商业数据分析和云计算还没有完成。其中在机器学习工程师需求从基本的工具、传统机器学习到深度学习打造残缺的知识体系,同时也要知道如何工程化地开发和部署模型。
在学习 ML 和 DL 的过程中,作者表示重点是按照层次了解各模型的概念,并经过优秀的开源框架完成这些概念。文章后面会详细引见机器学习工程师应该学习哪些模型与工具才能一步步长大。
对于后面的两条途径,它们注重的内容不同,知识体系也不一样,有需求的同窗还需求等几周。此外,作者还提供了一些额外的扩展知识,包括数据专题和软技能专题。
其中数据专题引见了数据的各种操作,它们的确是每一位数据工作者的核心工具包。从某种角度看,与数据打交道是一门艺术,最佳实际会协助你了解处理数据的正确方式,但同时你也需求培育一种如何处理数据的「直觉」,而这种「直觉」大都是由情境和阅历驱动的。基于此,这些专题将着重讨论训练和实际。
机器学习工程师成才之路

这一部分引见了曾经发布的「机器学习工程师」学习途径,作者引见了很多学习资源,我们只展现了简要的示例,更多细节请查看原项目。
这里列出的一切东西都是开源且收费的,而且大部分来自世界著名的大学和开源协会。
当我们学习一些新的东西,尤其是那些内容广泛又复杂的事物时,避免混淆是很有必要的。因此本文接上去将引见一些相关内容,而且尽能够采用那些来自相反语境和作者的内容。假如没有合适的内容,作者搜集了实际和例子以及一些指向资源的内容,如「______的最佳实际」。
作者将学习途径分为四部分:
1. 先决条件

  • Python
  • Jupyter Notebook
  • 需求掌握的数学
  • 机器学习途径


2. 用 Scikit-Learn 库停止机器学习

  • 为什么选择 Scikit-Learn?
  • 端到端机器学习项目
  • 线性回归
  • 分类
  • 训练模型
  • 支持向量机
  • 决策树
  • 集成学习和随机森林
  • 无监督学习
  • 当前总结和将来展望


3. 用 TensorFlow 学习神经网络

  • 为什么选择 TensorFlow
  • 启动和运转 TensorFlow
  • ANN——人工神经网络
  • CNN——卷积神经网络
  • RNN——循环神经网络
  • 训练网络:最佳实际
  • 自编码器
  • 强化学习
  • 下一步


4. 学习工具

  • 机器学习项目
  • 数据迷信工具
  • 博客/Youtube 频道/网站


背景知识

Python 是最有用和受欢迎的编程言语之一,因此它用于机器学习范畴是无可厚非的事。和数据迷信范畴的大部分框架一样,TensorFlow 和 Python 结合了,而 Scikit-Learn 则是用 Python 写的。
简而言之,Jupyter Notebook 就是用来写并运转 Python 代码的编辑器。与数据打交道意味着需求大量实验,并将实验组织成某些详细的方式以获取潜在知识,所以 Jupyter Notebook 就必不可少了。
Python 和 Jupyer Notebook 是最基础的模块,置信大家曾经非常熟了。假如需求走机器学习之路,除了 Python 外,首先就需求知道如何运用数值计算库 NumPy、可视化库 Matplotlib 和数据预处理库 Pandas,它们都是机器学习工程必不可少的工具。
有人告诉你机器学习背后的数学很难?这么说也没错。但是,要知道你每次要用它的时分,机器会为你处理这些。所以重点是抓住次要概念并看法到其局限性和运用方面。假如你不熟习这些概念,那就学习,由于这是一切一切的原理。
有了这三种资源,你就可以明白你真正需求深化了解的大部分东西。

  • 关于线性代数的精品课程: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 是最残缺、最成熟以及完档最残缺的机器学习义务库之一。Scikit-Learn 应用功能弱小和先进的模型完成「开箱即用」,并且为数据迷信流程提供设备功能。初次运用时,作者建议你过一遍下面的 Kaggle 案例,它目的是试图对泰坦尼克号上的乘客能否最有能够生还作出预测。

泰坦尼克号示例:https://www.kaggle.com/startupsci/titanic-data-science-solutions
其它更多的示例与材料可在 Kaggle 上获得,该平台提供大量收费数据集以及风趣的应战和机器学习模型实验。
1. 线性回归
最简单的机器学习方式,也是每个对预测数据集结果感兴味的人的终点。

  • 例 1:https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py
  • 例 2:https://bigdata-madesimple.com/how-to-run-linear-regression-in-python-scikit-learn/
  • 例 3:https://www.geeksforgeeks.org/linear-regression-python-implementation/


2. 分类
当想要从不同的能够性中预测结果时,分类是最重要的机器学习义务之一。

  • 二分类:https://machinelearningmastery.com/make-predictions-scikit-learn/
  • logistic 回归:https://towardsdatascience.com/building-a-logistic-regression-in-python-301d27367c24
  • 分类器度量标准:https://medium.com/thalus-ai/performance-metrics-for-classification-problems-in-machine-learning-part-i-b085d432082b


3. 支持向量机(SVM)
支持向量机是一种非常经典的 ML 模型,它的目的是寻觅一个超平面来对样本停止分割,分割的准绳是类别间隔最大化,最终转化为一个凸二次规划成绩来求解。

  • 实际解释:https://www.bilibili.com/video/av28186618
  • 实战指南:https://www.bilibili.com/video/av38543231
  • 实战指南:http://dataaspirant.com/2017/02/01/decision-tree-algorithm-python-with-scikit-learn/


4. 决策树
决策树预测结果背后最简单但最有效的方法之一,它们被用于很多方面(如随机森林)。

  • 实际解释:https://www.bilibili.com/video/av26086646
  • 实战指南:https://www.bilibili.com/video/av35523476
  • 实战指南:http://dataaspirant.com/2017/02/01/decision-tree-algorithm-python-with-scikit-learn/


5. 集成学习和随机森林
集成学习是应用一切不同特征、一些机器学习模型的优缺陷来获得一组「投票者」,这些投票者在每次预测时都会给你最有能够的结果,这些投票由不同的分类器给出(SVM、ID3 算法、logistic 回归)。
6. 无监督学习

  • 台大李宏毅视频:https://www.bilibili.com/video/av10590361/?p=24
  • explains Unsupervised Learning really well:https://towardsdatascience.com/unsupervised-learning-with-python-173c51dc7f03
  • 无监督学习、有监督学习和强化学习的区别:https://blogs.nvidia.com/blog/2018/08/02/supervised-unsupervised-learning/


深度学习和 TensorFlow

自 2015 年开源以来,深度学习框架的天下就属于 TensorFlow。不论是 GitHub 的收藏量或 Fork 量,还是业界运用量都无与伦比地位列顶尖。这一部分作者引见了很多 TensorFlow 相关的教程与完成,引荐读者可以直接看 TensorFlow 的官方教程。对于深度学习,读者可以跟着斯坦福的 CS231n 课程或《深度学习》停止学习。

  • 从框架优缺陷说起,这是一份 TensorFlow 入门极简教程
  • 三天速成!香港科技大学 TensorFlow 课件分享
  • 请快点粘贴复制,这是一份好用的 TensorFlow 代码集
  • 英语不行?你可以试试 TensorFlow 官方中文版教程
  • 关于 TensorFlow,你应该了解的 9 件事
  • 用 TensorFlow Estimator 完成文本分类


在了解 TensorFlow 后,作者表示我们可以迭代地学惯用深度学习唱工程:

  • 经过斯坦福 CS231n、吴恩达的 DL 专项课程或李宏毅的 ML 课程了解最基本的概念,不需求完全弄懂数学推导,只需求知道是什么为什么就行。
  • 每一次深度发掘一个专题,包括实际、教程、完成案例(例如 RNN 实际、RNN 教程和 RNN 完成案例)。
  • 第二步循环多个主题后,再看一遍第一步的资源,抓住次要的推导与细节。


后面作者从全衔接网络、循环网络、卷积网络和自编码器等模块引见了很多学习资源,详细内容请查看原 GitHub 项目。
学习工具

这一部分,作者整理大量学习资源,包括机器学习项目、工具、Youtube 频道、博客、网站等,感兴味的读者可自行查看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评16

uf_9g-0fvfd 2020-9-7 07:55:10 显示全部楼层
#这很迷信#
经过互联网学习意味着可以在无垠的知识海洋中遨游,但也能够由于广阔而迷失。在这个项目中,作者为机器学习提供了一个残缺的学习途径。从 ML 到 DL、Scikit-Learn 到 TensorFlow,你需求这份学海指南。
回复

使用道具 举报

机器学习成才之路
回复

使用道具 举报

菊乡小女 2020-9-7 08:03:21 显示全部楼层
我如今就一名百家号的创作者
回复

使用道具 举报

那我们这些吃瓜群众可以看到更多的优质内容了
回复

使用道具 举报

我很忙! 2020-9-7 08:14:45 显示全部楼层
分享了
回复

使用道具 举报

苏培敏 2020-9-7 08:24:44 显示全部楼层
给力
回复

使用道具 举报

哟西hgnd 2020-9-7 08:25:05 显示全部楼层
收藏
回复

使用道具 举报

蒋天雄 2020-9-7 08:33:09 显示全部楼层
几句话或者一个思想导图就能说清楚的事,非要扯这么多。千万别说什么你行你来,你怎样不画一个?
回复

使用道具 举报

ou526411 2020-9-7 08:40:42 显示全部楼层
分享了
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies