# 机器学习入门的四个步骤：初学者入门与实践的自上而下策略

> 原文： [https://machinelearningmastery.com/4-steps-to-get-started-in-machine-learning/](https://machinelearningmastery.com/4-steps-to-get-started-in-machine-learning/)

入门比您想象的要容易得多。

在这篇文章中，我向您展示了自上而下的应用机器学习入门方法。您将发现这种方法的四个步骤。他们应该感到熟悉，因为它可能与您用来学习如何编程的自上而下的方法相同。也就是说，获得基础知识，练习很多，然后在你迷上之后深入细节。

在帖子的最后，我链接到我的迷你课程，可以快捷路径，并为您提供一步一步的说明，以启动和练习应用机器学习。

## 初学者是不同的

初学者对机器学习很感兴趣，但不知道如何迈出第一步。他们感到困惑，因为博客和课程中的材料几乎总是处于中间水平。

[![machine learning](img/3bf77b3b9d862a837816cbcc76316d08.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/03/machine-learning.jpg)

机器学习
摄影： [Erik Charlton](http://www.flickr.com/photos/erikcharlton/2955613283/sizes/l/) ，保留一些权利。

典型的书籍和大学水平的课程是自下而上的。在完成之前，他们在研究几个关键算法和理论之前教授或要求数学。如果您有时间，耐心和适当的背景，这可能是一个很好的方法。并不是每个人都有这么多的空闲时间或渴望在获得应用机器学习的肉和土豆之前通过如此多的低级材料。

我从初学者那里收到很多电子邮件，询问如何开始机器学习的建议。这是一个棘手的问题，因为有很多可能性，我可以推荐很多东西。我告诉他们[不要深入数学](http://machinelearningmastery.com/what-if-im-not-good-at-mathematics/ "What if I’m Not Good at Mathematics")和[不要直接回到学校](http://machinelearningmastery.com/what-if-i-dont-have-a-degree/ "What if I Don’t Have a Degree")。

我建议的学生和专业人员几乎都是程序员或具有工程背景，我告诉他们，为他们提供更有效的机器学习途径。

## 解决方案是自上而下

我对机器学习初学者的建议是采用自上而下的方法。

[![Beginners are Different](img/54e47ebf8f5502522f6cef78112e1748.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/03/beginners-are-different.jpg)

初学者不同
照 [mikebaird](http://www.flickr.com/photos/mikebaird/2128093018/sizes/l/) ，保留一些权利。

我建议初学者在将大量时间资源用于研究理论之前，采取更快的路线来发现应用机器学习的全部内容。它是有道理的，它是熟悉的，因为它是你首先编程兴奋的方式，然后潜入并使其成为学习和职业的焦点。

自上而下的方法是快速学习使用软件工具端到端地完成机器学习问题的高级逐步过程。使用现代平台，可以使用复杂的最先进算法以及严格的验证和统计假设检验，在几分钟到几小时内解决小问题，所有这些都在工具中自动执行。

在你熟悉并对这个过程充满信心之后，我建议你开始深入研究机器学习的算法和理论方面。首先，为什么以后。

我们可以总结这种自上而下的方法如下：

1.  了解应用机器学习的高级过程。
2.  了解如何使用足够的工具来解决问题。
3.  关于数据集的实践，很多。
4.  过渡到机器学习算法的细节和理论。

## 应用机器学习过程

我已经写了很多关于应用机器学习的[过程。我主张分类和回归类型问题的 6 步过程，这是大多数机器学习问题核心的常见问题类型。过程如下：](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/ "5-Part Process for working through Machine Learning Problems")

1.  [问题定义](http://machinelearningmastery.com/how-to-define-your-machine-learning-problem/ "How to Define Your Machine Learning Problem")：理解并清楚地描述正在解决的问题。
2.  [分析数据](http://machinelearningmastery.com/quick-and-dirty-data-analysis-for-your-machine-learning-problem/ "Quick and Dirty Data Analysis for your Machine Learning Problem")：了解将用于开发模型的可用信息。
3.  [准备数据](http://machinelearningmastery.com/how-to-prepare-data-for-machine-learning/ "How to Prepare Data For Machine Learning")：发现并公开数据集中的结构。
4.  [评估算法](http://machinelearningmastery.com/how-to-evaluate-machine-learning-algorithms/ "How to Evaluate Machine Learning Algorithms")：开发[强大的测试工具](http://machinelearningmastery.com/how-to-choose-the-right-test-options-when-evaluating-machine-learning-algorithms/ "How To Choose The Right Test Options When Evaluating Machine Learning Algorithms")和基线精度，从中改进和[采样检查算法](http://machinelearningmastery.com/why-you-should-be-spot-checking-algorithms-on-your-machine-learning-problems/ "Why you should be Spot-Checking Algorithms on your Machine Learning Problems")。
5.  [改善结果](http://machinelearningmastery.com/how-to-improve-machine-learning-results/ "How to Improve Machine Learning Results")：利用结果开发更准确的模型。
6.  [目前的结果](http://machinelearningmastery.com/how-to-use-machine-learning-results/ "How to Use Machine Learning Results")：描述问题和解决方案，以便第三方能够理解。

[![Applied Machine Learning Process Overview](img/5e14bc0926788f2faea70d51751bc335.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/03/Process-Overview.png)

应用机器学习过程概述

通过对您所处理的每个问题执行此结构化流程，您可以实现最低严格程度，并显着提高获得良好（或更可能是优秀）结果的可能性。

## 使用 Weka Machine Learning Workbench

Weka Machine Learning Workbench 是初学者入门时学习的软件平台。

我认为在开始使用 [Weka](http://machinelearningmastery.com/what-is-the-weka-machine-learning-workbench/ "What is the Weka Machine Learning Workbench") 的决定是完全明智的，因为：

*   它提供了一个简单的图形用户界面，它封装了上面概述的应用机器学习过程。
*   它有助于算法和数据集探索以及严格的实验设计和分析。
*   它是免费和开源的，根据 GNU GPL 许可。
*   它是跨平台的，可在 Windows，Mac OS X 和 Linux 上运行（需要 Java 虚拟机）。
*   它包含最先进的算法，具有令人印象深刻的决策树，基于规则的算法和集合方法，以及其他方法。

[![Weka Explorer Interface with the Iris dataset loaded](img/ba8bd77b7cafc1ce4aaec936e068a9fb.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/02/weka-explorer.png)

加载了 Iris 数据集的 Weka Explorer Interface

您可以亲眼看看平台的使用方式，我已经编写了许多 5 分钟的 Weka 教程，例如：

*   [如何运行你的第一个分类器](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/ "How to Run Your First Classifier in Weka")
*   [如何设计和运行您的第一个实验](http://machinelearningmastery.com/design-and-run-your-first-experiment-in-weka/ "Design and Run your First Experiment in Weka")
*   [如何在设计实验中严格调整算法](http://machinelearningmastery.com/how-to-tune-a-machine-learning-algorithm-in-weka/ "How to Tune a Machine Learning Algorithm in Weka")
*   [如何在 Weka 中使用集合方法](http://machinelearningmastery.com/improve-machine-learning-results-with-boosting-bagging-and-blending-ensemble-methods-in-weka/ "Improve Machine Learning Results with Boosting, Bagging and Blending Ensemble Methods in Weka")

此外，如果直接进入 Weka，您可以从命令行运行算法，并通过应用程序编程接口将算法集成到您的应用程序中。它是一个可扩展的平台，您可以快速轻松地将自己的算法实现到界面并在 GUI 中使用它们。

## 实践，实践，实践，数据集

一旦您启动并运行 Weka，您需要练习应用机器学习的 6 个步骤。

Weka 安装包括一个包含许多标准机器学习数据集的数据目录，大多数来自实际的科学问题域。在 [UCI 机器学习库](http://archive.ics.uci.edu/ml/)上还有大量优秀的数据集可供试用和学习。这些数据集是您开始学习和练习的绝佳场所。

*   数据集很小，很容易融入内存。
*   数据集的小尺寸也意味着算法和实验可以快速运行。
*   问题和数据是真实的，包括您需要考虑的噪音，采样偏差和数据收集。
*   数据很好理解，因此您可以利用已知的内容并与同行公开讨论数据。
*   有比较和重新创建的“好结果”。

您可以在结构化流程的每个步骤中选择自己的详细程度。我建议您在开始时每步花费不超过一小时。您可以使用 Weka 在一小时内完成并了解很多问题，尤其是在设计和运行实验时。这将使您的动力和项目速度保持高水平。

[![lots of data](img/9132dd8277417f6751a581f7633c45cc.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2013/12/lots-of-data.jpg)

大量数据
照片归功于 cibomahto，保留了一些权利

结构化流程鼓励您在处理特定问题时进行观察并记录结果和结果。将这些观察和发现结合在一起是明智的，也许是在项目目录或 Github 项目中。

我建议您在完成项目时对每个项目进行博客，甚至是项目的每个步骤。您可以在自己的博客（如果有的话）或 Facebook 或 Google+更新（现在支持图像和文本格式）上执行此操作。我喜欢公开博客项目所鼓励的诚实。它还为您感兴趣的同事和同事提供了一个指标，认真对待并开发应用机器学习中的一些东西。

## 过渡更深

由于项目很小且流程是结构化的，因此您可以快速了解有关问题的许多内容并进行大量项目。您还可以收集有关自己问题的数据，并使用相同的流程为工作中的项目或为了您自己的利益提供有用且有意义的结果。

下一步是深入研究算法并了解它们的工作原理以及如何从中获得更多。我建议通过阅读[数据挖掘：实用机器学习工具和技术](http://www.amazon.com/dp/0123748569?tag=inspiredalgor-20)来深入研究这一主题。它由 Weka 平台的原作者编写，提供了 Weka 工作中使用的算法的方式和原因以及机器学习的其他深层关注的处理方法。

更深入的知识将使您能够从自己的定制问题中获得更多平台。它还允许您更好地理解 Weka 中的方法，并且您将开始建立关于问题和算法类型之间的映射的直觉

## 摘要

在这篇文章中，您发现了自上而下的机器学习入门方法，该方法主张学习特定的结构化过程，这是一个支持此过程的强大工具，可以在一系列重点项目中实践应用机器学习。

你了解到这与传统的自下而上的方法完全相反，这种方法要求你先在田间进行繁重的工作（在你甚至知道田地是否适合你之前）并让你弄清楚如何申请算法在实践中都是你自己。