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

教你轻松选择合适的机器学习算法!

时间:2023-03-20 11:06:16 科技观察

【.com快译】这个问题没有简单明了的答案。答案取决于许多因素,例如问题陈述、预期输出类型、数据类型和大小、可用计算时间、特征数量和数据中的观察点等。在选择算法时,有几个重要因素需要考虑.1.训练数据的大小通常建议收集大量数据以获得可靠的预测。但很多时候,数据的可用性是一个制约因素。因此,如果训练数据较小,或者数据集有少量的观测值和大量的遗传或文本数据等特征,则应选择高偏差/低方差的算法,如线性回归、朴素贝叶斯,或线性支持向量机。如果训练数据足够大,观察点数大于特征数,可以采用低偏差/高方差算法,如KNN、决策树或核SVM。2.输出的准确性和/或可解释性模型的准确性意味着函数预测特定观察的响应值接近该观察的真实响应。高度可解释的算法(限制性模型,如线性回归)意味着人们可以轻松理解任何单个预测变量与响应的关系,而灵活的模型则以低可解释性换取更高的准确性。图1.使用不同的统计学习方法表示准确性和可解释性之间的权衡。一些算法被命名为“受限”算法,因为它们生成小范围的映射函数形状。例如,线性回归是一种限制性方法,因为它只能生成线性函数,例如直线。有些算法被称为灵活算法,因为它们可以生成范围更广的映射函数形状。例如,k=1的KNN非常灵活,因为它考虑每个输入数据点以生成映射的输出函数。下图显示了灵活算法和限制性算法之间的权衡。图2.使用不同的统计学习方法表示灵活性和可解释性之间的权衡。现在,使用哪种算法取决于业务问题的目标。如果推理是目标,那么受限模型会更好,因为它们非常容易解释。如果更高的准确性是目标,那么灵活的模型会更好。随着方法灵活性的增加,可解释性通常会降低。3.速度或训练时间更高的准确率通常意味着更长的训练时间。此外,该算法需要更多时间来训练大量训练数据。在实际应用中,算法的选择主要取决于这两个因素。朴素贝叶斯、线性和逻辑回归等算法易于实施且运行迅速。需要参数调整的SVM、具有较长收敛时间的神经网络和随机森林等算法需要大量时间来训练数据。4.线性许多算法都基于类可以被直线(或其高维类似物)分隔的假设。示例包括逻辑回归和支持向量机。线性回归算法假定数据趋势遵循一条直线。如果数据是线性的,这些算法表现良好。然而,数据并不总是线性的,因此我们需要其他能够处理高维和复杂数据结构的算法。示例包括内核SVM、随机森林和神经网络。找出线性度的最佳方法是拟合线性直线,或者运行逻辑回归或SVM来检查残差。较高的误差意味着数据不是线性的并且需要复杂的算法来拟合。5.特征数量一个数据集可能有大量的特征,这些特征可能并不都是相关和重要的。对于某种类型的数据,例如遗传或文本数据,与数据点的数量相比,特征的数量可能非常大。大量的特征会使一些学习算法陷入困境,导致训练时间过长。SVM更适用于数据特征空间较大,观测点较少的情况。应使用PCA和特征选择方法来降维和选择重要特征。下面这个方便的备忘单详细介绍了可用于解决不同类型机器学习问题的算法。机器学习算法可以分为监督学习、非监督学习和强化学习。本文介绍了如何使用备忘单的过程。备忘单分为两种主要的学习类型:监督学习算法,其中训练数据具有与输入变量相对应的输出变量。该算法分析输入数据并学习映射输入变量和输出变量之间关系的函数。监督学习可以进一步分为回归、分类、预测和异常检测。当训练数据没有响应变量时,使用无监督学习算法。这些算法试图找到数据中的固有模式和隐藏结构。聚类和降维算法是两种无监督学习算法。以下信息图仅解释了回归、分类、异常检测和聚类,以及可以应用这些方法的示例。尝试解决新问题时要考虑的要点是:定义问题。提问的目的是什么?探索数据并熟悉数据。从基本模型开始构建基线模型,然后尝试更复杂的方法。话虽如此,请记住:“更好的数据往往胜过更好的算法”。同样重要的是精心设计的功能。尝试一系列算法并比较它们的性能,以选择最适合您的特定任务的算法。另外,尝试集成方法,因为它们通常提供极高的准确性。原标题:AneasyguidetochoosetherightMachineLearningalgorithm,作者:YogitaKinha