# 如何研究机器学习算法

> 原文： [https://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/](https://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/)

算法是机器学习领域的重要组成部分。

您需要了解那里有哪些算法，以及如何有效地使用它们。

简化这种知识的一种简单方法是回顾已知的算法，研究它。

在这篇文章中，您将发现研究机器学习算法的重要性以及可用于加速理解机器学习算法的5种不同来源。

[![Research Machine Learning Algorithms](img/51c2dcad65f7394738f8be9d0795deb5.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/10/Research-Machine-Learning-Algorithms.jpg)

研究机器学习算法
摄影： [Anders Sandberg](http://www.flickr.com/photos/arenamontanus/2243540719) ，保留一些权利

## 为什么研究机器学习算法

您需要了解算法以掌握机器学习。

机器学习算法与您可能熟悉的其他算法（如排序算法）不同。

机器学习算法不仅依赖于数据，而且还具有自适应性。通常，给定机器学习算法的核心是随机的优化过程，这意味着它具有随机性的元素。因此，这使得机器学习算法更难以分析并且难以对最佳和最差表现做出判断。

您需要应用，实现或深入思考算法以理解它们。

您可以描述算法如何作为数学秘籍，但要理解它在实践中的行为，您必须在行动中研究它。您可以对算法进行实验，将其应用于许多问题并提炼出它的行为以及如何在面对不同的问题类型时公开和利用这些行为。

或者，您可以采用的快捷方式是在您之前深入了解其他人对算法的理解。

您需要算法背景，这些算法只来自研究它们。

## 获取免费算法思维导图

![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg)

方便的机器学习算法思维导图的样本。

我已经创建了一个由类型组织的60多种算法的方便思维导图。

下载，打印并使用它。

## 研究算法时要使用的5个来源

研究机器学习算法需要从多个来源对算法进行系统研究。

这可能听起来比实际上更可怕。您的目标是建立自己对不同机器学习算法的一致理解，并且对您个人的一致理解，并且需要从多个来源对给定算法的解释进行整理。

不同的来源可用于不同的目的，因此您需要仔细而有目的地挑选这些来源。

首先要清楚地了解为什么要研究给定的机器学习算法，然后选择那些能够最好地回答您所拥有的问题的来源。

您可以在研究机器学习算法时使用5种不同的来源，我们将依次对每种来源进行审核。

### 1.权威来源

权威来源提供专家解释和算法描述。

它们对于快速掌握算法非常有用，因为解释通常是严格且有些标准化的，至少在材料中是这样。

描述也可以是密集的，通常沉浸在数学中，并且使用学术语言专注于理论方面。这样，如果没有足够的背景，它们很难穿透。

权威来源的例子包括：

*   教科书，如研究生机器学习课程中使用的教科书。
*   讲义和幻灯片，例如在研究生机器学习课程中提供的那些。
*   概述文件，例如构成关于某个主题的学术纲要的文章。

### 2.精神来源

精神来源是专家来源和算法的原始描述。

精神资源有助于进入原作者的头脑或机器学习算法的描述，并梳理出算法参数和过程的意图。

这些来源几乎总是学术和理论，只偶尔包含有用的使用信息。

开创性资料的例子包括：

*   会议论文和期刊文章。
*   可能在该方法的原始出版物之前或补充的技术报告。

### 3.前沿来源

许多算法正在进行研究。这可以采取扩展，深入研究甚至简单应用的形式，并将该方法与其他方法进行比较。

我将这些来源称为前沿，因为它们暴露了有关机器学习算法的有用的新的和最先进的信息。

可以使用前沿源来很好地了解当前正在处理与算法相关的问题。这些可能代表您可以注意到的算法中的有趣或困难的子过程。

前沿源通常是密集且技术性的，并且需要代表您进行大量工作来解释工作的意图并提取有助于您更好地理解算法的突出细节。

前沿来源的例子包括：

*   会议论文和期刊文章。
*   全体会议和研讨会等会议讲座。

### 4.使用启发式来源

在研究用于实际和应用目的的机器学习算法时，使用启发式和最佳实践可能是您感兴趣的关键信息类型。

用法启发式源提供了如何在实践中使用给定机器学习算法的专家描述。它们适用于实际使用建议，例如参数配置，建议的数据准备步骤，甚至有关如何针对特定类别的问题调整和扩展算法的建议。

通常，这些来源缺少必须通过直接联系作者推断或寻求的细节。不要期望能够轻松地从这些来源重现结果，专注于提取可用于提示算法使用的启发式方法。

使用启发式源的示例包括：

*   描述机器学习竞赛结果的论文，如KDD Cup和Kaggle。
*   “_我做了什么_”博客文章和论坛帖子与机器学习比赛有关。
*   问答网站，如Cross Validated和其他机器学习社区网站。
*   应用会议论文。

### 5.实现来源

您可能对研究算法感兴趣，因为您想要实现它。除了上面列出的其他来源之外，您还应该参考实现源。

这些是由专家或半专家准备的资源，这些资源在库和工具中提供机器学习算法的实现。样本可以在许可或开源许可下发布，供您学习。

这些来源很好地了解了如何将给定的机器学习算法转换为可执行和可用的系统。

实现来源的示例包括：

*   开源项目，如库和工具。
*   相关机器学习博客上的帖子。
*   研究生或研究实验室编写的技术报告。

通常，博客文章的实现是出于教学和理解目的而提供的，并且可能不是为了速度或可伸缩性而编写的。您在库和工具中找到的开源算法实现通常是高度优化的，不是为了可读性而编写的。

## 研究不仅仅适用于学者

您可以研究机器学习算法。不要被正式的学术语言和论文和文章的媒介所吓倒。

您不需要成为博士研究或机器学习算法专家。

您可以像任何人一样阅读论文，书籍和算法实现。

通常，难以阅读的论文的问题在于作者，而不在于读者。写一个算法或研究的良好技术处理是非常困难的，当你找到它们时，那​​些好的资源就是宝石。

## 行动步骤

在这篇文章中，您发现了研究机器学习算法和5个源的重要性，您可以使用它们来查找机器学习算法所需的信息。

下一步是练习你新发现的技能。

1.  选择要研究的算法。
2.  考虑您想要了解的算法，并从上面的列表中选择最能回答您问题的来源。
3.  系统地研究算法。从 [Google学术搜索](http://scholar.google.com/)开始，如果您正在寻找论文，请输入算法名称。从Google搜索 [GitHub](https://github.com/) 开始，如果您正在寻找算法实现，请输入算法名称。

分享你学到的东西。