当前位置: 首页 > 科技观察

为您的回归问题选择最佳机器学习算法

时间:2023-03-16 10:51:32 科技观察

在处理任何类型的机器学习(ML)问题时,我们有许多不同的算法可供选择。在机器学习领域,有一个共识的观点,大概就是没有一种ML算法可以完美的应用来解决所有的问题。不同ML算法的性能在很大程度上取决于数据的大小和结构。因此,如何选择正确的算法往往是一个大问题,除非我们通过大量的试错直接测试我们的算法。但是,每种ML算法都有一些优点和缺点,我们可以将其用作指南。虽然一种算法并不总是优于另一种算法,但我们可以使用每种算法的某些属性作为快速选择正确算法和调整超参数的指南。我们将介绍一些用于回归问题的著名ML算法,并根据它们的优缺点设置使用它们的指南。这篇文章将帮助您为回归问题选择最佳的ML算法!线性和多项式回归线性回归从简单的情况开始。单变量线性回归是一种使用线性模型(例如直线)对单个输入自变量(特征变量)和输出因变量之间的关系进行建模的技术。更一般的情况是多元线性累积,其中为多个独立输入变量(特征变量)和输出因变量之间的关系创建模型。该模型保持线性,因为输出是输入变量的线性组合。第三种最常见的情况称为多项式回归模型,现在变成了特征变量的非线性组合,例如指数变量,余弦等,但这需要知道数据和输出之间的关系。可以使用随机梯度下降(SGD)训练回归模型。优点:快速建模,当要建模的关系不是很复杂并且您没有大量数据时,这很有用。线性回归很容易理解哪些对业务决策非常有用。缺点:对于非线性数据,多项式回归的设计非常有挑战性,因为必须要有一些关于数据的结构和特征变量之间关系的信息。因此,当涉及到高度复杂的数据时,这些模型不如其他模型。神经网络神经网络由一组称为神经元的互连节点组成。数据中的输入特征变量作为多元线性组合传递给这些神经元,其中每个特征变量乘以一个称为权重的值。然后将非线性应用于该线性组合,使神经网络能够建立复杂的非线性关系。神经网络可以有多个层,其中一层的输出以相同的方式传递到下一层。在输出端,通常不应用非线性。神经网络使用随机梯度下降(SGD)和反向传播算法(均在上面的GIF中显示)进行训练。优点:由于神经网络可以具有许多非线性层(和参数),因此它们在建模高度复杂的非线性关系方面非常有效。我们通常不需要担心,神经网络的数据结构在学习任何一种特征变量关系方面都是灵活的。研究表明,只需向网络提供更多训练数据(全新的或扩充原始数据集),即可提高网络性能。缺点:由于这些模型的复杂性,它们不容易解释和理解。它们对于训练来说可能非常具有挑战性和计算密集型,需要仔细的超参数调整和学习计划。它们需要大量数据才能获得高性能,而在“小数据”情况下,它们往往会被其他ML算法超越。回归树和随机森林随机森林从一个基本案例开始。决策树是一种直观的模型,其中遍历树的分支并根据在节点上做出的决策选择下一个分支。树归纳的任务是将一组训练实例作为输入,决定哪些属性最适合分割,分割数据集,并在得到的分割数据集上重复,直到所有训练实例都被分类。构建树时,目标是根据创建尽可能纯粹的子节点的属性进行拆分,这将保持对数据集中所有实例进行分类所需的最少拆分数。纯度是通过信息增益的概念来衡量的,它涉及需要了解多少以前看不见的实例才能对其进行正确分类。在实践中,单个实例通过比较熵来分类,或者如果要根据给定属性进一步划分,则对当前数据集分区的单个实例进行分类所需的信息量。随机森林只是一组决策树。输入向量贯穿多个决策树。对于回归,对所有树的输出值进行平均;对于分类,使用投票方案来决定最终类别。优点:擅长学习复杂的、高度非线性的关系。它们通常可以实现相当高的性能,优于多项式回归,并且通常可与神经网络相媲美。非常容易解释和理解。虽然最终训练出来的模型可以学习到复杂的关系,但是在训练过程中建立的决策边界很容易理解和实用。缺点:由于训练决策树的性质,它们可能容易出现严重的过度拟合。完整的决策树模型可能过于复杂并且包含不必要的结构。尽管有时可以通过适当的树木修剪与更大的随机森林相结合来减轻这种情况。使用更大的随机森林集合来实现更高的性能是以速度变慢和需要更多内存为代价的。***希望您喜欢这篇文章并学到一些新的有用的东西。