如何为你的回归问题选择最合适的机器学习算法?

简介:

当我们要解决任意一种机器学习问题时,都需要选择合适的算法。在机器学习中存在一种“没有免费的午餐”定律,即没有一款机器学习模型可以解决所有问题。不同的机器学习算法表现取决于数据的大小和结构。所以,除非用传统的试错法实验,否则我们没有明确的方法证明某种选择是对的。

但是,每种机器学习算法都有各自的有缺点,这也能让我们在选择时有所参考。虽然一种算法不能通用,但每个算法都有一些特征,能让人快速选择并调整参数。接下来,我们大致浏览几种常见的用于回归问题的机器学习算法,并根据它们的优点和缺点总结出在什么情况下可以使用。

线性和多项式回归

75c8875ce6cc2889c33a7916daf6eb21e1c8d1e2

首先是简单的情况,单一变量的线性回归是用于表示单一输入自变量和因变量之间的关系的模型。多变量线性回归更常见,其中模型是表示多个输入自变量和输出因变量之间的关系。模型保持线性是因为输出是输入变量的线性结合。

第三种行间情况称为多项式回归,这里的模型是特征向量的非线性结合,即向量是指数变量,sin、cos等等。这种情况需要考虑数据和输出之间的关系,回归模型可以用随机梯度下降训练。

优点:

●  建模速度快,在模型结构不复杂并且数据较少的情况下很有用。
●  线性回归易于理解,在商业决策时很有价值。

缺点:

●  对非线性数据来说,多项式回归在设计时有难度,因为在这种情况下必须了解数据结构和特征变量之间的关系。

● 综上,遇到复杂数据时,这些模型的表现就不理想了。

神经网络

41a3551fe75e9251d57f16daf87687fb397c2371

神经网络包含了许多互相连接的节点,称为神经元。输入的特征变量经过这些神经元后变成多变量的线性组合,与各个特征变量相乘的值称为权重。之后在这一线性结合上应用非线性,使得神经网络可以对复杂的非线性关系建模。神经网络可以有多个图层,一层的输出会传递到下一层。在输出时,通常不会应用非线性。神经网络用随机梯度下降和反向传播算法训练。

优点:

●  由于神经网络有很多层(所以就有很多参数),同时是非线性的,它们能高效地对复杂的非线性关系进行建模。
●  通常我们不用担心神经网络中的数据,它们在学习任何特征向量关系时都很灵活。
●  研究表明,单单增加神经网络的训练数据,不论是新数据还是对原始数据进行增强,都会提高网络性能。

缺点:

●  由于模型的复杂性,它们不容易被理解。
●  训练时可能有难度,同时需要大量计算力、仔细地调参并且设置好学习速率。

● 它们需要大量数据才能达到较高的性能,与其他机器学习相比,在小数据集上通常表现更优。

回归树和随机森林

4e8c2ee4c7a561648a40366965ed34269bd14793

首先从基本情况开始,决策树是一种直观的模型,决策者需要在每个节点进行选择,从而穿过整个“树”。树形归纳是将一组训练样本作为输入,决定哪些从哪些属性分割数据,不断重复这一过程,知道所有训练样本都被归类。在构建树时,我们的目标是用数据分割创建最纯粹的子节点。纯粹性是通过信息增益的概念来衡量的。在实际中,这是通过比较熵或区分当前数据集中的单一样本和所需信息量与当前数据需要进一步区分所需要的信息量。

随机森林是决策树的简单集成,即是输入向量经过多个决策树的过程。对于回归,所有树的输出值是平均的;对于分类,最终要用投票策略决定。

优点:

●  对复杂、高度非线性的关系非常实用。它们通常能达到非常高的表现性能,比多项式回归更好。
●  易于使用理解。虽然最后的训练模型会学会很多复杂的关系,但是训练过程中的决策边界易于理解。

缺点:

●  由于训练决策树的本质,它们更易于过度拟合。一个完整的决策树模型会非常复杂,并包含很多不必要的结构。虽然有时通过“修剪”和与更大的随机森林结合可以减轻这一状况。
●  利用更大的随机森林,可以达到更好地效果,但同时会拖慢速度,需要更多内存。

这就是三种算法的优缺点总结。希望你觉得有用!


原文发布时间为:2018-09-9

本文作者:George Seif

本文来自云栖社区合作伙伴“深度学习自然语言处理”,了解相关信息可以关注“深度学习自然语言处理”。

目录
打赏
0
0
0
0
73530
分享
相关文章
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
261 6
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
38 6
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
549 13
机器学习算法的优化与改进:提升模型性能的策略与方法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
79 14
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
4月前
|
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
140 2
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
105 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等