Press "Enter" to skip to content

那幺多回归算法,选哪个好呢?帮你克服选择算法选择障碍

作者:George Seif

 

编译:ronghuaiyang

 

导读

 

机器学习中的7字真言“没有免费的午餐”,那如何为特定的问题选择合适的算法呢,总不能全部试一遍吧。今天给大家分析一下,各种回归算法的优缺点,大家在选择算法的时候可以参考一下。

 

在处理机器学习(ML)问题时,有许多不同的算法可供选择。在机器学习中,有一个叫做“没有免费的午餐”的定理,它的基本意思是没有一个ML算法对所有问题都是最好的。不同ML算法的性能很大程度上取决于数据集的大小和数据集的结构。因此,通常我们是不知道哪个是正确的算法的,除非我们直接通过简单的反复试验来测试我们的算法。

 

但是,每种ML算法都有一些优点和缺点,我们可以使用它们作为指导。虽然一种算法并不总是比另一种算法好,但是每种算法都有一些属性,我们可以使用它们作为快速选择正确算法和优化超参数的指南。我们将看一看一些用于回归问题的着名ML算法,并根据它们的优缺点决定何时使用它们。这篇文章可以帮助为你的回归问题选择最好的ML算法。

 

线性回归和多项式回归

线性回归

 

从简单的例子开始,单变量线性回归是一种使用线性模型对单个输入自变量(特征变量)和输出因变量之间的关系建模的技术。更一般的情况是多变量线性回归,即为多个独立输入变量(特征变量)和一个输出因变量之间的关系建立模型。模型依然是线性的,因为输出是输入变量的线性组合。

 

第三种最常见的情况是多项式回归模型,模型变成了特征变量的非线性组合,这种非线性变换可以是指数,正弦和余弦,等等。但是这需要知道数据与输出的关系。利用随机梯度下降法可以训练回归模型。

 

优点:

快速建模,特别是当模型的关系不是非常复杂而你没有很多数据的时候。
线性回归很容易理解,这对业务决策非常有价值。

缺点:

对于非线性数据来说,多项式回归的设计是非常具有挑战性的,因为我们必须对数据的结构和特征变量之间的关系有一定的了解。
由于上述原因,这些模型在处理高度复杂的数据时不如其他模型好。

神经网络

神经网络

 

神经网络由一组相互连接的称为神经元的节点组成。数据输入的特征变量作为多变量线性组合传递给这些神经元,其中每个特征变量乘以的值称为权重。然后将非线性变换应用于这个线性组合,使神经网络能够对复杂的非线性关系建模。神经网络可以有多个层,其中一个层的输出以相同的方式传递到下一个层。在输出端,通常不使用非线性变换。神经网络的训练使用随机梯度下降(SGD)和反向传播算法(请看上面的动画)。

 

优点:

由于神经网络可以有许多具有非线性变换能力的层(以及参数),它们在建模高度复杂的非线性关系时非常有效。
我们一般不用担心神经网络的数据结构,神经网络在学习几乎任何类型的特征变量关系时都是非常灵活的。
研究一直显示,只要向网络提供更多的训练数据,无论是全新的数据还是对原始数据集进行增强,都会提高网络性能。

缺点:

由于这些模型的复杂性,它们不容易解释和理解。
它们可能是相当具有挑战性和计算密集型的训练,需要仔细的进行超参数调整和设置学习率策略。
它们需要大量的数据来实现高性能,在“小数据”的情况下通常不如其他ML算法表现得更好。

回归树和随机森林

随机森林

 

从最基本情况开始,决策树是一种直观的模型,通过沿着树的分支向下遍历,并根据节点上的决策选择下一个分支。树分类的任务是将一组训练实例作为输入,决定对哪些属性进行拆分最好,对数据集进行拆分,并在结果拆分的数据集上重复执行,直到对所有训练实例进行分类。在构建树时,目标是在可能创建出最纯子节点的属性上进行分割,这使得为了对数据集中的所有实例进行分类而需要进行的分割数量保持在最小。纯度是由信息增益的概念来衡量的,这个概念涉及到需要对以前未见过的实例了解多少才能对其进行适当分类。在实践中,这是通过比较熵(即对当前数据集分区的单个实例进行分类所需的信息量)和对给定属性上的当前数据集分区进行进一步分割时对单个实例进行分类所需的信息量来度量的。

 

随机森林只是决策树的集合,输入向量在多个决策树中运行。对于回归,所有树的输出值取平均值;对于分类,投票方案用于确定最终类别。

 

优点:

擅长学习复杂的,高度非线性的关系。它们通常可以达到相当高的性能,比多项式回归更好,通常与神经网络相当。
非常容易解释和理解。虽然最终的训练模型可以学习复杂的关系,但是在训练过程中建立的决策边界很容易理解。

缺点:

由于训练决策树的性质,它们很容易过拟合。一个完整的决策树模型可能过于复杂,包含不必要的结构。尽管这有时可以通过适当的修剪和更大的随机森林集群来缓解。
使用更大的随机森林集合来获得更高的性能,但其缺点是速度较慢,需要更多的内存。

结论

 

这是你们要的优点和缺点!在下一篇文章中,我们将讨论不同分类模型的优缺点。我希望你喜欢这篇文章,并学到一些新的和有用的东西。

 

英文原文:https://towardsdatascience.com/selecting-the-best-machine-learning-algorithm-for-your-regression-problem-20c330bad4ef

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注