# 通过创建机器学习算法的目标列表来获得控制权

> 原文： [https://machinelearningmastery.com/create-lists-of-machine-learning-algorithms/](https://machinelearningmastery.com/create-lists-of-machine-learning-algorithms/)

任何关于机器学习的书都会列出并描述几十种机器学习算法。

一旦开始使用工具和库，您将发现更多。如果您认为需要了解每种可能的算法，这可能会让您失望。

解决这种感觉并采取一些控制的简单技巧是制作机器学习算法列表。

这种荒谬简单的策略可以给你很多力量。您可以使用它来为您提供在处理全新问题时尝试的方法列表。当您遇到数据集或者您最喜欢的方法没有给您带来好结果时，它还可以为您提供一个想法列表。

在这篇文章中，您将发现创建机器学习算法列表，如何操作，如何做好以及为什么要开始创建今天的第一个算法列表的好处。

[![Create a List of Machine Learning Algorithms](img/66f275ec8f53ac0ed88c89d1c4b91aad.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/11/Create-a-List-of-Machine-Learning-Algorithms.jpg)

创建机器学习算法列表
照片由 [Joel Montes de Oca](http://www.flickr.com/photos/joelmontes/4762384399) ，保留一些权利

## 处理如此多的算法

有数百种机器学习算法。

我看到这会导致两个问题：

### 1.压倒性的

有这么多算法可供选择并尝试给定的机器学习问题的事实导致一些人冻结并且什么都不做。

事实是，你不需要得到最好的结果，你只需要一个结果 - 问题的滩头阵地 - 你可以通过[现场检查一些算法](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")到达那里。

### 2.收藏夹

因为有这么多算法，有些人会选择一个或两个最喜欢的算法并且只使用它们。这限制了他们可以实现的结果以及他们可以解决的问题。

收藏很危险。有些算法比其他算法更强大，但这种能力的代价是复杂性和简约性。它们是工具，让你的情感依恋在门口。

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

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

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

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

下载，打印并使用它。

## 控制算法

你需要专注，一个解决处理这么多机器学习算法问题的起点。

这包括找到边缘并将雾推回到那里以及什么时候可以使用。这将使您对算法有一种控制感，并帮助您使用它们而不是让您感到不堪重负。

最棒的是，您不需要成为每个算法的专家来取得进步。您根本不需要了解每个算法。

收集算法名称等简单信息及其适用的一般问题可以帮助您快速，自信地根据可用的机器学习算法建立熟悉程度和信心。

## 如何建立和维护算法列表

答案是建立自己的机器学习算法列表。

我是一个列表制作者，这种方法真的照亮了我的大脑。

打开文本文件，word文档或电子表格，然后开始列出算法名称。就这么简单。您还可以列出算法所属的通用类以及它可以解决的一般问题类型。

定义自己的类别。此列表是一个工具，可帮助您了解和导航机器学习工具。自定义列表以包含您关心的算法详细信息。

### 要创建的算法列表的示例

以下是您可以创建的10个机器学习算法列表示例。

*   回归算法
*   SVM算法
*   数据投影算法
*   深度学习算法
*   时间序列预测算法
*   评级系统算法
*   推荐系统算法
*   特征选择算法
*   类不平衡算法
*   决策树算法

### 优秀算法列表的提示

创建算法列表相对容易。困难的部分是知道你为什么要列表。 “`why`”将帮助您定义要创建的列表类型以及要在列表中描述的算法属性。

从您正在处理的当前项目或您当前的兴趣开始。例如，如果您正在处理时间序列或图像分类问题，请列出可应用于该问题的所有算法。如果您对支持向量机非常感兴趣，请列出您可以找到的SVM的所有变体。

不要试图一次性创建完美的列表。创建它并在数天和数周内不断添加它。它是一种有用的资源，您可以一次又一次地回头再添加，随着您的知识和经验的增长。

总之，创建优秀算法列表的5个技巧是：

*   从您想要列表的原因开始，并使用它来定义要创建的列表类型。
*   只捕获您实际需要的算法属性，尽可能保持简单。
*   从当前项目或兴趣开始，并创建相关算法列表。
*   不要以抽象的完美为目标，这份清单仅供您和您的需求使用。
*   随着时间的推移添加到您的列表中，随着您的技能和经验的增长而扩展。

### 何时使用算法列表

算法列表比您想象的更有价值。

例如，您可以在处理之前从未使用过的问题类型时将其用作一种技术，例如推荐系统，面部检测或评级系统。一个简单的算法列表为您提供了一个要尝试的事项列表。

在处理熟悉的问题时，您之前的偏差通常会限制您可以实现的结果。与问题域相关的算法列表可以让您解开，甚至可以促使您获得新的更好的结果。这并不意味着你应该尝试所有你能找到的算法，你仍然需要合理而系统的应用。然而，列表可以提供有用的起点。

算法列表是一种工具，但您可以进一步使用它们。为了有效利用机器学习算法，你需要[研究它们](http://machinelearningmastery.com/how-to-study-machine-learning-algorithms/ "How to Study Machine Learning Algorithms")，[研究它们](http://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/ "How to Research a Machine Learning Algorithm")，甚至[描述它们](http://machinelearningmastery.com/how-to-learn-a-machine-learning-algorithm/ "How to Learn a Machine Learning Algorithm")。这是算法列表方法的自然扩展，您的列表可以为您的自学课程提供基础。

您可以从收集有关每种算法的其他属性开始，并将列表扩展为算法的小型百科全书，每个算法一页。我使用算法描述模板并专注于我将发现有用的模板元素，因为我回顾未来的描述，例如伪代码和使用启发式。

总之，您可以使用算法列表的3个示例是：

*   当你开始处理一类新问题时。
*   当您遇到困难或寻找算法来尝试现有问题时。
*   当您正在寻找更详细或研究的算法时。

## 任何人都可以创建机器学习算法列表

您无需深入研究机器学习教科书或开源库。一个简单的谷歌搜索或浏览维基百科将发现许多算法名称，以启动您的列表。

如果您仍然坚持为第一个列表创建的内容，请选择上面的示例之一或浏览 [DataTau](http://www.datatau.com/) 等网站，并选择要在文章或文章标题中提及的列表算法。

同样，您不必列出可列出的每个算法，将范围缩小到您喜欢的库和工具中的算法范围。您不需要列出每个算法的每个排列，例如，您可以关注算法的一个方面，例如SVM的内核函数或神经网络的传递函数。

不要列出每种算法的所有可能功能。坚持只是名称，也许是算法的一般类别和可以使用的一般类型的问题。如果您想深入研究算法，请考虑前面描述的[算法描述方法和模板](http://machinelearningmastery.com/how-to-learn-a-machine-learning-algorithm/ "How to Learn a Machine Learning Algorithm")。

您还不需要了解算法，也不需要成为学者。这是一个滩头阵，你正在采取扩展你的想法，克服压倒性，并最终为你的旅程提供更深入的应用机器学习的出发点。

## 行动步骤

在这篇文章中，您了解了创建机器学习算法列表的简单策略。

您发现这个简单的策略可以帮助您克服算法的压倒性，并帮助您摆脱拥有最喜欢的算法的危险。

此帖子的操作步骤是创建您的第一个算法列表。选择一些小的东西，比如算法的子类。选择一些有趣的东西，就像现在热门的算法一样。

如果您愿意（或列表的内容）分享您的列表，它将有助于激励他人。