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

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

3天内不再提示

不同角度的机器学习算法比较

汽车玩家 来源:今日头条 作者:闻数起舞 2020-05-03 18:35 次阅读

"当您改变看待事物的方式时,您看待的事物就会改变。" ―Wayne Dyer

人类发明了无数的机器学习(ML)算法。 当然,大多数时候,只有一小部分用于研究和工业。 但是,对于人类来说,理解并记住所有这些ML模型的所有细节都是有些不知所措的。 某些人可能还会误以为所有这些算法都是完全无关的。 更重要的是,当两者看起来都是有效的算法时,如何选择使用算法A而不是算法B?

本文旨在为读者提供不同角度的机器学习算法。 基于这些观点,可以基于共同的理由对算法进行比较,并且可以轻松地对其进行分析。 本文编写时考虑了两个主要的ML任务-回归和分类。

方法与目标

本质上,所有机器学习问题都是优化问题。 机器学习模型或始终需要优化的基本目标函数背后总有一种方法论。 比较算法背后的主要思想可以增强关于它们的推理。

例如,线性回归模型的目的是使预测值和实际值的平方损失最小化(均方误差,MSE),而Lasso回归的目的是通过在MSE上添加额外的正则项来限制MSE,同时限制学习参数。 防止过度拟合。

参数化

尽管没有严格定义参数模型的定义,但是这种模型分类法已广泛用于统计学习领域。 简单地说,参数模型意味着模型的参数数量是固定的,而当有更多数据可用时,非参数模型的参数数量会增加[3]。 定义参数模型的另一种方法是基于其有关数据概率分布形状的基本假设。 如果没有假设,那么它是一个非参数模型[4]。

可并行性

并行算法意味着一种算法可以在给定的时间完成多个操作。 这可以通过在不同的工作人员之间分配工作负载来完成,例如在一台或多台计算机中的处理器。 像梯度提升决策树(GBDT)这样的顺序算法很难并行化,因为下一个决策树是根据前一个决策树所犯的错误建立的。

在线和离线

在线和离线学习是指机器学习软件学习更新模型的方式。 在线学习意味着可以一次提供一个训练数据,以便在有新数据时可以立即更新参数。 但是,离线学习要求训练在新数据出现时重新开始(重新训练整个模型)以更新参数。 如果一种算法是在线算法,那将是有效的,因为生产中使用的参数可以实时更新以反映新数据的影响。

偏差方差权衡

不同的ML算法将具有不同的偏差方差权衡。 偏差误差来自模型偏向特定解决方案或假设的事实。 例如,如果线性决策边界适合非线性数据,则偏差会很大。 另一方面,方差度量的是来自模型方差的误差。 它是模型预测和期望模型预测的平均平方差[2]。

Bias-variance tradeoff, extracted from [2].

不同的模型进行不同的偏差方差折衷。 例如,朴素贝叶斯由于过于简单的假设而被认为是高偏差,低方差模型。

样品复杂度

样本复杂性衡量了训练网络以保证有效概括所需的训练示例的数量。 例如,深度神经网络具有很高的样本复杂度,因为需要大量的训练数据来训练它。

空间复杂度

空间复杂度衡量一个算法需要运行多少内存。 如果ML算法将过多的数据加载到机器的工作存储器中,则ML程序将无法成功运行。

时间复杂度

RAM模型[1]下,算法所需的"时间"通过算法的基本运算来衡量。 尽管用户和开发人员可能会更多地关注算法训练模型所需的挂钟时间,但使用标准最坏情况下的计算时间复杂度来比较模型训练所需的时间会更公平。 使用计算复杂度的好处是可以忽略诸如运行时使用的计算机功能和体系结构以及底层编程语言之类的差异,从而使用户可以专注于算法基本运算的基本差异。

请注意,在训练和测试期间,时间复杂度可能会大不相同。 例如,线性回归等参数模型可能需要较长的训练时间,但在测试期间却很有效。

参考

[1]计算的RAM模型

[2]讲座12:偏差-偏差权衡

[3] D. S. Raschka。 "参数学习算法和非参数学习算法之间有什么区别?"

[4] T. Hoskin,"参量和非参量:使术语神秘化",Mayo诊所,2012年,第1-5页。

总之,可以基于不同的标准来分析ML算法。 这些标准实际上可以帮助衡量不同ML模型的有效性和效率。

您能从其他角度比较机器学习算法吗?

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

    关注

    23

    文章

    4482

    浏览量

    91322
  • 机器学习
    +关注

    关注

    66

    文章

    8210

    浏览量

    131251
收藏 人收藏

    评论

    相关推荐

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 59次阅读

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

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习
    的头像 发表于 06-27 08:27 1022次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

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

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

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

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

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    机器学习是什么意思?机器学习属于什么分支?机器学习是什么有什么用处?
    的头像 发表于 08-17 16:30 1455次阅读

    机器学习vsm算法

    机器学习vsm算法 随着机器学习技术的不断发展,相似性计算是机器
    的头像 发表于 08-17 16:29 674次阅读

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

    ,讨论一些主要的机器学习算法,以及比较它们之间的优缺点,以便于您选择适合的算法。 一、机器
    的头像 发表于 08-17 16:27 711次阅读

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

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

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

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

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

    机器学习算法的5种基本算子 机器学习是一种重要的人工智能技术,它是为了让计算机能够通过数据自主的学习
    的头像 发表于 08-17 16:11 1443次阅读

    机器学习和深度学习的区别

    的区别。 1. 机器学习 机器学习是指通过数据使机器能够自动地学习和改进性能的
    的头像 发表于 08-17 16:11 3693次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑
    的头像 发表于 08-17 16:03 1676次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法简介 深度学习算法是什么?深度学习算法有哪些?  作为一种现代化、前沿化的技术,深度
    的头像 发表于 08-17 16:02 7700次阅读

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

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

    机器学习之人工神经网络(感知机算法

    1957年,弗兰克·罗森布拉特(Frank Rosenblatt)从数学角度考察MP模型,并提出可以通过若干成对的输入输出数据和机器学习方法获得ω和b的值,罗森布拉特依此提出感知机算法
    发表于 07-15 12:56 392次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>之人工神经网络(感知机<b class='flag-5'>算法</b>)