# 自学机器学习的失落的路线图

> 原文： [https://machinelearningmastery.com/machine-learning-roadmap-your-self-study-guide-to-machine-learning/](https://machinelearningmastery.com/machine-learning-roadmap-your-self-study-guide-to-machine-learning/)

在这篇文章中，我列出了一个应用机器学习的具体自学路线图，您可以用它来定位自己并找出下一步。

我认为很多关于框架和系统方法（在我的博客上证明）。我认为这篇文章大量扩展了我之前关于“[机器学习自学指南](http://machinelearningmastery.com/self-study-guide-to-machine-learning/)”中自学课程的想法，这真的在社区引起了共鸣。

让我们跳进去......

[![you are here](img/e7d318f64d740c00783b3d6cba6a57c9.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/06/you-are-here.jpg)

你在这里。
摄影： [electricnerve](http://www.flickr.com/photos/electricnerve/2586195099/sizes/o/) ，保留一些权利

## 机器学习路线图

机器学习是一个巨大的研究领域。有许多算法，理论，技术和问题类需要学习，它确实让人感到压倒一切。

机器学习也是跨学科的。你可以从投入的材料跳到程序员，投入到统计学家那里，当假设有如此多的先验知识时，它确实感到沮丧。

我们需要的是一种结构化方法，它提供了一个路线图，用于研究机器学习中的主题和详细程度，还集成了书籍和开放课程等流行资源。

结构化方法通过将注意力集中在您需要学习它时需要学习的内容来解决压倒性问题。它通过对材料展示进行排序来解决挫败感，重点放在实际方面，为工程师和程序员量身定制。

路线图可让您根据自己的位置和目标而定位自己。

## 自学是道路

自学是指按照自己的进度，按照自己的条件和自己的时间表。

自学是学习机器学习的最佳方式。这并不意味着你必须自己完成所有这一切，远非它。这意味着学习东西是最有效的方式，并利用互联网上最好的课程，书籍和指南。

自学也与本科和研究生学习等更正规的课程兼容。这意味着积极地将材料整合到您自己的知识库中并拥有该过程。拥有这个过程，您可以深入了解您最感兴趣的领域。

机器学习是一门应用学科，就像编程一样。研究这个理论很重要，但你必须投入时间来应用这个理论。你必须练习。这很关键。您需要建立流程，算法和问题的直觉。

[![self study](img/76a7235e541c96c0d25631fd96b2e9c1.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/06/self-study.jpg)

自学是路径
照 [scui3asteveo](http://www.flickr.com/photos/scubasteveo/296747958/sizes/l) ，保留一些权利

## 能力水平

研究机器学习的结构化方法分为四个级别的能力：

1.  初学者
2.  初学者
3.  中间
4.  高级

这四个级别是根据他们面临的问题和他们的学习目标来划定的。反过来，每个级别都有不同的活动，以实现其目标。

## 每个级别的问题

每个能力水平面临一系列不同的问题，如下：

*   **初学者**：对实际的机器学习感到困惑。对大量可用信息感到不知所措。对大多数可用信息中未指明的先前知识感到沮丧。
*   **新手**：被算法的数学描述吓到了。苦苦挣扎应用机器学习来解决问题。丢失寻找机器学习调查的问题。
*   **中级**：厌倦了介绍性材料。渴望更多细节和更深入的洞察力。渴望展示和推动他们的知识和技能。
*   **高级**：痴迷于从系统和解决方案中获取最大收益。寻求更大贡献的机会。灵感来推动界限。

## 学习目标

能力等级中的每个级别都有一个单一的目标，他们可以为实现这一目标而完成许多任务。这些目标如下：

*   **初学者**：建立一个明确的基础并开始进入该领域。
*   **新手**：开发和实践应用机器学习的过程。
*   **中级**：深入理解算法，问题和工具。
*   **Advanced** ：开发领域的扩展，例如算法，问题和工具。

## 自学活动

每个级别的目标都定义了为实现这些目标而开展的活动类型。您可以设计自己的活动（强烈建议您），尽管以下是每个级别的建议活动。

### 初学者

*   发现机器学习的“原因”（即为什么[机器学习很重要](http://machinelearningmastery.com/machine-learning-matters/ "Machine Learning Matters")和[为什么它对你很重要](http://machinelearningmastery.com/why-get-into-machine-learning/ "Why Get Into Machine Learning? Discover Your Personal Why and Use our Handy Map")）。
*   找出你可能阻碍你的自我限制信念（即[没有学位](http://machinelearningmastery.com/what-if-i-dont-have-a-degree/ "What if I Don’t Have a Degree")，[不擅长数学](http://machinelearningmastery.com/what-if-im-not-good-at-mathematics/ "What if I’m Not Good at Mathematics")）。
*   研究该领域的基本定义和概念（即[机器学习问题](http://machinelearningmastery.com/practical-machine-learning-problems/ "Practical Machine Learning Problems")，[和算法](http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/ "A Tour of Machine Learning Algorithms")）。

### 初学者

*   [研究并学习应用机器学习过程中的步骤](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/ "5-Part Process for working through Machine Learning Problems")。
*   充分了解工具或库的详细信息，以完成应用机器学习的步骤。 （基本熟悉工具和库）
*   [实践应用机器学习端到端问题的过程](http://machinelearningmastery.com/4-steps-to-get-started-in-machine-learning/ "4-Steps to Get Started in Machine Learning: The Top-Down Strategy for Beginners to Start and Practice")。

### 中间

*   [对算法，问题和工具进行小规模调查](http://machinelearningmastery.com/self-study-machine-learning-projects/ "4 Self-Study Machine Learning Projects")。
*   通过参与机器学习竞赛并从中学习，提高应用机器学习的技能。

### 高级

*   以结构化方式开发算法，问题和工具的扩展。
*   参与并为社区做出贡献。

## 如何使用

此路线图是一个有用的工具，您可以通过各种方式在机器学习掌握的道路上使用：

*   **学习指南**：将其用作目标和活动的线性指南，供您完成。耐心和努力工作将使您在短期内达到先进水平。
*   **简化指南**：用作上述线性指南，但将目标缩小到您希望掌握的机器学习的特定区域，而不是应用机器学习的更广泛领域。这可能是一个特定的问题或一类算法。
*   **信息过滤器**：路线图可用于过滤您遇到的信息和资源。这是一个功能强大的用例，因为您可以快速评估博客文章，文章或书籍是否与您的旅程级别相关。

## 这条路径适合你！

我为其他工程师和程序员设计了这本指南。

*   你可能知道如何编程。
*   您可以作为工程师或程序员专业工作（或曾经工作过）。
*   您可能是本科生或研究生。
*   您对机器学习或数据科学感兴趣。
*   您可能正在使用机器学习和数据。

[![machine learning is a journey](img/93427d4c2dd7f0e37a5c658a069df780.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/06/machine-learning-is-a-journey.jpg)

机器学习是一个旅程
照片由 [GoodNCrazy](http://www.flickr.com/photos/goodncrazy/3794282940/sizes/l) ，保留一些权利

这种方法适用于已经熟悉开发和构建系统过程的程序员和工程师。他们有一种计算或逻辑方法来思考和思考系统。程序员尤其熟悉自动化的强大功能以及算法的复杂性和特性。

这种方法对于专业程序员以及学习工程，计算机科学或类似学科的学生都是有效的。

*   **你不需要成为程序员或优秀的程序员**。您可以使用 Weka 等现成的工具，这些工具具有图形用户界面，可以解决机器学习问题并应用机器学习算法。
*   **你不需要成为数学家或统计学家**。在研究该算法时，您只能获取给定算法所需的统计量，概率和线性代数。
*   **你可以阅读指南，书籍和开放课程**。它们很容易融入到四个能力水平的细分中。给定的书可能是新手或中级的完美参考，或者可能跨越两个级别。类似地，课程可以整齐地适合于给定的水平，或者可以跨越两个或更多个级别，给出各种机器学习活动的样本。

## 范围

我建议您将范围集中在分类和回归类型问题以及相关的算法和工具上。这些是两个最常见的潜在机器学习问题，大多数其他问题可以减少到。

有机器学习的子领域，如计算机视觉，自然语言过程，推荐系统或强化学习。这些区域可以简化为分类和回归问题，并且它们的研究完全符合所呈现的路线图结构。我建议你不要潜入这些领域，直到你处于中级水平。

## 原则

我有一些实用的原则可以帮助您在机器学习中实现快速有效的进步。他们确实构成了路线图。

*   **机器学习是一个旅程**。你需要知道你现在的位置以及你想去的地方。这需要时间和努力，但有很多帮助。
*   **创建半正式的工作产品**。以博客文章，技术报告和代码存储库的形式记下您学习和发现的内容。您将很快积累一系列经过验证的技能和知识，供您和其他人反思。
*   **及时学习**。在您需要之前，不要学习复杂的主题。例如，学习足够的概率或线性代数来理解你正在研究的算法，在开始机器学习之前不要参加 3 年的统计和数学课程。
*   **利用现有技能**。如果你可以编码，实现算法来理解它们而不是研究数学。使用您认识的语言。专注于您正在学习的一件事，不要通过同时学习新的语言，工具或库来使其复杂化。
*   **掌握是理想的**。掌握机器学习需要不断学习。你永远无法实现它，你只能继续学习，学习和提高。

## 提示

以下是有效充分利用本指南和机器学习之旅的 3 个技巧：

*   从一个小项目开始，您可以在一小时内完成。
*   旨在每周完成一个项目，以建立和维持您的动力和可以构建的项目工作区。
*   在您的博客，Facebook，Google +，Github 或您可以在任何地方分享您的结果，以展示您的兴趣，增加技能，知识并获得反馈。

## 行动步骤

花一点时间写下来：

*   你认为自己处于什么水平，你正在努力解决什么问题？
*   你想达到什么水平，你想做什么？