最近在国外网站看到一篇不错的文章,所以就翻译过来给大家分享一下。主要介绍初学者怎么选择机器学习算法,希望对各位初学者有帮助。
原文如下:
一个初学者面临各种机器学习算法的典型问题是“我应该使用哪种算法?”问题的答案取决于许多因素,包括:
- 数据的大小,质量和性质。
- 可用的计算时间。
- 任务的紧迫性。
- 你想对数据做什么
即使是经验丰富的数据科学家也不能在尝试不同的算法之前,判断哪种算法会最好。我们并不主张采取一个完整的方法,但是我们希望根据一些明确的因素,为哪些算法首先提供一些指导。
机器学习算法备忘表
该 机器学习算法备忘表 帮助您从各种机器学习算法选择找到适合您的具体问题适当的算法。本文将引导您完成如何使用工作表的过程。
由于该作弊表是专为初学者数据科学家和分析师设计的,所以在讨论算法时,我们将作出一些简化的假设。
这里推荐的算法来自于数据科学家和机器学习专家和开发人员的编译反馈和提示。有几个问题我们还没有达成协议,对于这些问题,我们试图突出共同点,调和差异。
稍后将会添加其他算法,因为我们的库增长以包含更完整的一组可用方法。
如何使用备忘表
将图表上的路径和算法标签读为“If then use ”。例如:
- 如果要执行尺寸缩减,则使用主成分分析。
- 如果您需要快速的数字预测,请使用决策树或逻辑回归。
- 如果需要分层结果,请使用层次聚类。
有时候会有一个以上的分支机构适用,而其他的时间也不会是完美的。重要的是要记住,这些路径旨在作为经验法则建议,因此有些建议并不准确。我谈到的几位数据科学家说,找到最好算法的唯一方法就是尝试所有的算法。
机器学习算法的类型
本节提供最受欢迎的机器学习类型的概述。如果您熟悉这些类别,并希望继续讨论特定的算法,则可以跳过本节并转到下面的“何时使用特定算法”。
监督学习
受监督的学习算法基于一组示例进行预测。例如,可以使用历史销售来估计未来价格。通过监督学习,您有一个输入变量,由标记的训练数据和期望的输出变量组成。您使用算法分析训练数据,以学习将输入映射到输出的功能。这个推断功能通过从训练数据推广来预测未知情况下的结果来映射新的未知示例。
- 分类:当数据用于预测分类变量时,监督学习也称为分类。当分配标签或指示符时,狗或猫分配给图像就是这种情况。当只有两个标签时,这被称为二进制分类。当有两类以上时,这些问题被称为多类分类。
- 回归:当预测连续值时,问题成为一个回归问题。
- 预测:这是根据过去和现在的数据对未来进行预测的过程。最常用来分析趋势。一个常见的例子可能是根据今年和前几年的销售情况估计下一年的销售额。
半监督学习
监督学习的挑战是标注数据可能是昂贵和耗时的。如果标签有限,您可以使用未标记的示例来增强监督学习。因为在这种情况下机器没有被完全监督,所以我们说机器是半监督的。使用半监督学习,您可以使用少量标签数据的未标记示例来提高学习准确性。
无监督学习
执行无监督学习时,机器将呈现完全未标记的数据。被要求发现基础数据的内在模式,如聚类结构,低维流形或稀疏树和图。
- 聚类:分组一组数据示例,使一个组(或一个集群)中的示例与其他组中的示例更相似(根据某些标准)。这通常用于将整个数据集分成几组。可以在每个组中执行分析,以帮助用户找到内在模式。
- 尺寸扣除:减少考虑的变量数量。在许多应用中,原始数据具有非常高的维度特征,并且一些特征是冗余的或与任务无关的。降低维度有助于找到真实的,潜在的关系。
加强学习
加强学习根据环境的反馈分析和优化代理人的行为。机器尝试不同的场景来发现哪些行为产生最大的回报,而不是被告知采取哪些行动。试验和错误和延迟奖励将强化学习与其他技术区分开来。
选择算法时的注意事项
选择算法时,请务必考虑这些方面:准确度,培训时间和易用性。许多用户将准确度放在第一位,而初学者则倾向于关注他们最了解的算法。
当提供数据集时,首先要考虑的是如何获得结果,无论这些结果如何。初学者倾向于选择易于实现的算法,并可以快速获得结果。这样做很好,只要这只是过程的第一步。获得一些结果并熟悉数据后,您可以花费更多时间使用更复杂的算法来加强对数据的理解,从而进一步改进结果。
即使在这个阶段,最好的算法可能不是实现最高报告精度的方法,因为算法通常需要仔细调整和广泛的训练才能获得最佳的可实现性能。