0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

几种常见的用于回归问题的机器学习算法

zhKF_jqr_AI 来源:未知 作者:李倩 2018-08-22 08:48 次阅读

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

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

线性和多项式回归

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

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

优点:

建模速度快,在模型结构不复杂并且数据较少的情况下很有用。

线性回归易于理解,在商业决策时很有价值。

缺点:

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

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

神经网络

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

优点:

由于神经网络有很多层(所以就有很多参数),同时是非线性的,它们能高效地对复杂的非线性关系进行建模。

通常我们不用担心神经网络中的数据,它们在学习任何特征向量关系时都很灵活。

研究表明,单单增加神经网络的训练数据,不论是新数据还是对原始数据进行增强,都会提高网络性能。

缺点:

由于模型的复杂性,它们不容易被理解。

训练时可能有难度,同时需要大量计算力、仔细地调参并且设置好学习速率。

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

回归树和随机森林

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

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

优点:

对复杂、高度非线性的关系非常实用。它们通常能达到非常高的表现性能,比多项式回归更好。

易于使用理解。虽然最后的训练模型会学会很多复杂的关系,但是训练过程中的决策边界易于理解。

缺点:

由于训练决策树的本质,它们更易于过度拟合。一个完整的决策树模型会非常复杂,并包含很多不必要的结构。虽然有时通过“修剪”和与更大的随机森林结合可以减轻这一状况。

利用更大的随机森林,可以达到更好地效果,但同时会拖慢速度,需要更多内存。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98714
  • 机器学习
    +关注

    关注

    66

    文章

    8112

    浏览量

    130545

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

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入探讨线性回归与柏松回归

    或许我们所有人都会学习的第一个机器学习算法就是线性回归算法,它无疑是最基本且被广泛使用的技术之一
    的头像 发表于 03-18 14:06 177次阅读
    深入探讨线性<b class='flag-5'>回归</b>与柏松<b class='flag-5'>回归</b>

    磁栅尺有几种常见故障?

    磁栅尺有几种常见故障?磁栅尺是一种高精度的测量工具,主要用于数控车床、数控机床等设备中。但是,在使用中,磁栅尺也会出现一些常见的故障。下面我们就介绍
    的头像 发表于 09-26 14:44 1698次阅读
    磁栅尺有<b class='flag-5'>几种</b><b class='flag-5'>常见</b>故障?

    机器学习的研究现状和发展趋势 机器学习常见算法和优缺点

    随着计算能力和大数据的崛起,机器学习算法正迎来快速发展的时期。在研究层面上,机器学习和深度学习
    发表于 08-22 17:49 1887次阅读

    机器学习有哪些算法机器学习分类算法有哪些?机器学习预判有哪些算法

    机器学习有哪些算法机器学习分类算法有哪些?机器
    的头像 发表于 08-17 16:30 1388次阅读

    机器学习vsm算法

    (VSM)算法计算相似性。本文将从以下几个方面介绍机器学习vsm算法。 1、向量空间模型 向量空间模型是一种常见的文本表示方法,根据文本的词
    的头像 发表于 08-17 16:29 572次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器
    的头像 发表于 08-17 16:27 622次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器
    的头像 发表于 08-17 16:11 1066次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器
    的头像 发表于 08-17 16:11 720次阅读

    机器学习算法的5种基本算子

    自主决策的方法和插件,其中包含了一系列常用的基本算子。在本文中,我们将会介绍机器学习算法的五种基本算子。 一、 求值算子 求值算子是常用的机器学习
    的头像 发表于 08-17 16:11 1330次阅读

    人工智能课程学什么

    其次,在机器学习方面,你需要学习机器学习相关的算法和数据结构,
    的头像 发表于 08-13 14:25 634次阅读

    智能数字辨识水表-基于机器学习算法

    智智能数字辨识水表-基于机器学习算法
    的头像 发表于 08-10 11:26 399次阅读
    智能数字辨识水表-基于<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>

    基于机器学习算法的校准优化方案

    基于机器学习算法的校准优化方案
    发表于 06-29 12:35 254次阅读
    基于<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>的校准优化方案

    机器学习理论:k近邻算法

    KNN(k-Nearest Neighbors)思想简单,应用的数学知识几乎为0,所以作为机器学习的入门非常实用、可以解释机器学习算法使用过
    的头像 发表于 06-06 11:15 430次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>理论:k近邻<b class='flag-5'>算法</b>

    机器学习的经典算法与应用

      一、机器学习基础概念   关于数据   机器学习就是喂入算法和数据,让算法从数据中寻找一种相
    的头像 发表于 05-28 11:29 736次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    机器学习应该学习哪些 人工智能技术学习路线分享

    熟悉机器学习领域的经典算法、模型及实现的任务等,同时学习搭建和配置机器学习环境,并学会用 线性
    发表于 05-10 14:42 461次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>应该<b class='flag-5'>学习</b>哪些 人工智能技术<b class='flag-5'>学习</b>路线分享