# 机器学习入门的实用建议

> 原文： [https://machinelearningmastery.com/practical-advice-for-getting-started-in-machine-learning/](https://machinelearningmastery.com/practical-advice-for-getting-started-in-machine-learning/)

[David Mimno](http://mimno.infosci.cornell.edu/) 是康奈尔大学[信息科学](http://infosci.cornell.edu/)系的助理教授。他具有自然语言处理（NLP）的背景和兴趣，特别是主题建模。值得注意的是，他是 [MALLET](http://mallet.cs.umass.edu/) 的主要维护者，这是一个基于 Java 的 NLP 库。

我最近发现大卫的一篇博文，题为“[为机器学习](http://mimno.infosci.cornell.edu/b/articles/ml-learn/)的学生提供建议”。这是一篇很棒的文章，包括我给程序员和辅导学生的类似建议。

这是一篇很棒的帖子和很棒的建议，我在这篇博客文章中为您总结了这些内容。

## 入门机器学习书籍

大卫推荐一些非常高级的书籍作为介绍性文章。原因是他的学生都是研究生并且能够应对挑战。我自己不推荐这些文本。

[![Amazon Image](img/ebad9df2010f0c32b969914f526cf6d5.jpg)](http://www.amazon.com/dp/0262018020?tag=inspiredalgor-20)

不过，他建议的文字是：

*   [机器学习：概率视角](http://www.amazon.com/dp/0262018020?tag=inspiredalgor-20)
*   [模式识别与机器学习](http://www.amazon.com/dp/0387310738?tag=inspiredalgor-20)
*   [概率图形模型：原理与技术](http://www.amazon.com/dp/0262013193?tag=inspiredalgor-20)
*   [信息理论，推理和学习算法](http://www.amazon.com/dp/0521642981?tag=inspiredalgor-20)

这些可能是现在可用的一些关于机器学习的最佳教科书的选择。当你看到麻省理工学院，斯坦福大学，康奈尔大学和其他美国领先学校的研究生课程时，你会一次又一次地看到它们。

## 数学入门书籍

大卫评论说，你可以学到的关于线性代数，概率和统计学的任何东西都是有用的。

[![Amazon Image](img/212ea3751f88d21d2102c3a0dac6d576.jpg)](http://www.amazon.com/dp/0980232716?tag=inspiredalgor-20)

他接着建议了几本关键书：

*   [线性代数简介，第四版](http://www.amazon.com/dp/0980232716?tag=inspiredalgor-20)
*   [贝叶斯数据分析，第三版](http://www.amazon.com/dp/1439840954?tag=inspiredalgor-20)
*   [使用回归和多级/分层模型进行数据分析](http://www.amazon.com/dp/052168689X?tag=inspiredalgor-20)

实用的机器学习建议

在提出一些介绍性资源后，David 继续在现场开始时提供一些实用的建议。

*   **不要指望第一次得到任何东西**。 David 建议从多个不同来源阅读相同方法的描述。这与我在[算法描述模板](http://machinelearningmastery.com/how-to-learn-a-machine-learning-algorithm/ "How to Learn a Machine Learning Algorithm")中提出的建议相同，我出于必要而提出。
*   **实现模型**。我同意 David 的观点，在你[自己实现它](http://machinelearningmastery.com/how-to-implement-a-machine-learning-algorithm/ "How to Implement a Machine Learning Algorithm")并将其付诸实践之前，你无法完全理解这个模型。 David 建议将您的实现与其他实现进行比较，例如开源中的实现，并寻找并理解所使用的任何提高效率的数学或编程技巧。
*   **阅读论文**。大卫讲述了一篇关于每日通勤隐藏的论文的轶事。考虑选择算法或问题，并阅读与该论文相关的主要来源。
*   **挑选一张纸并在其中生活一周**。大卫建议成为一个有纸的人，并且在你熟悉它之前要思考一周。例如，他建议您填写任何派生方程的进展中的空白。我可以根据经验说话，建议你仔细挑选你的论文。我选择的文件花了我多年的时间来交流。

大卫用完美的 [John von Neumann](http://en.wikipedia.org/wiki/John_von_Neumann) 引用完成：

> 年轻人，在数学中你不懂事物。你只是习惯了他们。

紧紧抓住这句话。事情一段时间没有意义。继续阅读和播放，直到点击（或者至少你有一个功能性的经验理解）。

你有任何辛苦的实用机器学习建议吗？