数据中心 频道

做线性回归 选一非常好的ML算法赢在起点!

  【IT168 资讯】当遇到机器学习(ML)问题时,有许多不同的算法可供选择。在机器学习中,有一种叫做“免费午餐”的定理,基本上说没有任何一种ML算法能够恰如其分的适合所有问题。不同ML算法的性能在很大程度上取决于数据的大小和结构。因此,除非我们直接通过简单的试验和错误来测试我们的算法,否则算法如何进行正确的选择。

做线性回归,选一个非常好的机器学习算法让你赢在起点!

  但是,对于我们可以用作指导的每个ML算法都有一些优点和缺点。尽管一种算法并不总是优于另一种算法,但是我们可以使用算法的一些特性作为快速选择正确算法并调整超参数的指导。我们可以看看几个突出的ML算法的回归问题,并根据它们的优缺点设置何时使用它们的准则。这篇文章应该会提供一个很好的帮助,为你选择非常好的的ML算法回归问题!

  线性和多项式回归  做线性回归,选一个非常好的机器学习算法让你赢在起点!

  从简单情况开始,单变量线性回归是一种用于使用线性模型(即线)来模拟单个输入自变量(特征变量),最常见的第三种情况称为多项式回归,其中模型现在成为特征变量的非线性组合,即可以存在指数变量、正弦和余弦等。然而,但这需要明确关于数据如何与输出相关的知识。回归模型可以使用随机梯度下降(SGD)进行训练。

  优点:

  ·当建模关系不是非常复杂并且没有太多数据时,建模快速且特别有用。

  ·线性回归很容易理解,这对商业决策来说可能非常有价值。

  缺点:

  ·对于非线性数据,多项式回归对于设计来说可能相当具有挑战性,因为必须具有关于数据结构和特征变量之间关系的一些信息。

  ·由于上述原因,当涉及到高度复杂的数据时,这些模型不如其他模型。

  神经网络

做线性回归,选一个非常好的机器学习算法让你赢在起点!

  一个神经网络由一组相互连接的称为神经元的节点组成。来自数据的输入特征变量作为多变量线性组合被传递给这些神经元,其中乘以每个特征变量的值被称为权重。然后将非线性应用于该线性组合,从而为神经网络提供建模复杂非线性关系。神经网络可以有多层,其中一层的输出以相同的方式传递给下一层。在输出端,通常不会施加非线性。神经网络使用随机梯度下降(SGD)和反向传播算法(均显示在上面的GIF中)进行训练。

  优点:

  ·由于神经网络可以具有许多非线性的层(从而具有参数),所以它们在建模高度复杂的非线性关系时非常有效。

  ·我们通常不必担心神经网络中的数据结构在学习几乎任何类型的特征变量关系时都非常灵活。

  ·研究一直表明,仅仅为网络提供更多的训练数据,无论是全新的还是通过增加原始数据集,都有利于提高网络性能。

  缺点:

  ·由于这些模型的复杂性,它们不容易解释和理解。

  ·它们对于训练来说可能非常具有挑战性和计算密集性,需要仔细调整超参数并设置学习速率时间表。

  ·他们需要大量数据才能实现高性能,并且在“小数据”情况下通常会受到其他ML算法的影响。

  回归树和随机森林

做线性回归,选一个非常好的机器学习算法让你赢在起点!

  从基本情况开始,决策树是一种直观的模型,通过一个遍历树的分支并根据节点的决策选择下一个分支下降。决策树归纳法是将一组训练实例作为输入,确定哪些属性最适合拆分、分割数据集,并在结果分割数据集上循环,直到对所有训练实例进行分类为止的任务。在构建树时,目标是分割创建可能的最纯子节点的属性,这将尽量减少为了对数据集中的所有实例进行分类而需要进行的拆分次数。纯度是通过信息增益的概念来衡量的,它涉及到需要对一个未被发现的实例进行多少了解,以使其正确分类。在实践中,这是通过比较熵或将当前数据集分区的单个实例进行分类所需的信息量来度量的,即如果当前的数据集分区在给定的属性上被进一步划分的话,那么就可以对单个实例进行分类。

  随机森林只是决策树的集合。输入向量通过多个决策树运行。对于回归,所有树的输出值被平均,对于分类,可以使用一个投票方案来确定最终的类别。

  优点:

  ·擅长学习复杂的高度非线性关系。它们通常可以实现相当高的性能,优于多项式回归,并且通常与神经网络相当。

  ·非常容易解释。虽然最终的训练模型可以学习复杂的关系,但是在训练过程中建立的决策边界很容易理解也很实际的。

  缺点:

  ·由于训练决策树的性质,他们可能容易出现重大过度配合。完整的决策树模型可能过于复杂并且包含不必要的结构。虽然有时可以通过适当的“树木修剪”和较大的随机森林组合来缓解这种情况。

  ·使用较大的随机森林组合来实现更高的性能会带来速度变慢和需要更多内存的缺点。

0
相关文章