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

    文章

    4839

    浏览量

    100621
  • 机器学习
    +关注

    关注

    67

    文章

    8595

    浏览量

    138930
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能机器学习系统班

    机器学习算法的核心逻辑——梯度下降的各类变体、决策树的分裂准则、随机森林的并行训练机制。这个过程不追求代码性能的极致优化,而是确保每一位学员都亲手触摸过算法的\"血肉\"。当学员自己
    发表于 08-22 14:53

    AI算法进阶训练营教程学习深度学习算法进阶、模型优化、多模态融合与工业级算法调优实战教程分享

    算法原理到商业杠杆:传统机器学习的实战价值重构 在人工智能产业被大模型与生成式AI光环笼罩的当下,传统机器学习
    发表于 07-18 11:36

    IT爱学堂-AI算法进阶训练营教程学习深度学习算法进阶、模型优化、多模态融合与工业级算法调优实战教程分享

    优化的另一大难点。传统的微调往往在同一套参数上反复覆盖,导致模型在学习新技能时丧失通用能力。前沿的“知识播种(Knowledge Seeding)”算法提供了一种破局思路:与其不断修改已经写满的页面
    发表于 07-16 13:46

    人工智能/机器学习必修课:经典AI算法与编程实战

    运转的,依然是那些经典且历经考验的AI算法。面对未来职场对人才“既能懂底层原理,又能解前沿问题”的复合型要求,如何掌握一套不会轻易过时的学习方法,成为了每一个技术从业者必须面对的命题。(搜星 课
    发表于 07-12 16:29

    梗直哥瞿炜-机器学习必修课:经典算法与Python实战

    瞿炜(梗直哥)系统机器学习课:十大经典算法拆解与全流程编程实战 在人工智能技术重塑各行各业的今天,机器学习已成为无数理工科学生、职场人及跨行
    发表于 07-11 16:20

    咕泡学院-人工智能机器学习系统班(第十二期)

    的语义理解;或者用机器学习模型作为大模型的“护栏”(Guardrail),防止其产生幻觉。这种“老树发新芽”的教学思路,让我看到了经典算法的生命力——无论大模型多么强大,其底层的逻辑回归、树模型思想依然
    发表于 07-11 16:15

    B站 - 机器学习必修课:经典AI算法与编程实战 瞿炜

    瞿炜(梗直哥)系统机器学习课:十大经典算法拆解与全流程编程实战 在人工智能技术重塑各行各业的今天,机器学习已成为无数理工科学生、职场人及跨行
    发表于 07-11 16:03

    人工智能机器学习系统班

    负债”:被算法消解的“有效挣扎” “AI系统班”最引以为傲的卖点,是能够根据用户的动态表现量身定制学习方案,提供启发式答疑。这种看似完美的个性化体验,实则暗藏危机。真正的学习,尤其是STEM(科学、技术
    发表于 06-28 16:48

    咕泡人工智能机器学习系统班教程资料

    在竞争激烈的职场晋升与专业认证考试中,机器学习领域的考核正日益成为衡量人才价值的重要标尺。对于企业而言,通过考试筛选出具备深厚技术底蕴的人才,是降低招聘风险、确保团队战斗力的关键商业决策。而在面对
    发表于 06-25 17:42

    电梯AI派梯算法的技术原理与落地案例

    场景,效果就非常差了。 近年来,随着深度学习和强化学习技术的发展,基于AI的电梯派梯算法逐渐成熟,开始大规模落地应用。今天我们就从技术角度,深度解析电梯AI派梯
    的头像 发表于 06-17 17:52 1937次阅读
    电梯AI派梯<b class='flag-5'>算法</b>的技术原理与落地案例

    在阿里云PAI平台的机器人感知强化学习规模化实践

    物理 AI 正在迅速从基础运动控制迈向更复杂的环境理解。传统机器人强化学习(RL)长期依赖本体感知(proprioception),包括关节角度、力矩反馈和内部状态,来训练灵巧的运动技能。
    的头像 发表于 05-18 10:34 914次阅读
    在阿里云PAI平台的<b class='flag-5'>机器</b>人感知强化<b class='flag-5'>学习</b>规模化实践

    机器学习中的数据质量双保障:从“验证”到“标记”

    机器学习的世界里,有句老话尤为贴切:“garbagein,garbageout”(输入垃圾,输出垃圾)。无论模型架构多先进、算法多精妙,数据的质量始终是决定模型性能的核心。本文聚焦数据处理中两个
    的头像 发表于 04-24 15:48 431次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>中的数据质量双保障:从“验证”到“标记”

    算法工程师需要具备哪些技能?

    算法工程师需要掌握一系列跨学科的技能,涵盖数学基础、编程能力、算法理论、工程实践以及业务理解等多个方面。 以下是具体技能及学习建议: 线性代数核心内容:矩阵运算、特征值分解、向量空间等。应用场
    发表于 02-27 10:53

    机器视觉检测PIN针

    角度,凸显Pin针轮廓、高度差异及表面缺陷(如划痕、异物)。精密运动平台(可选):用于多角度成像或定位被测连接器。核心检测算法:定位与计数: 模板匹配或Blob分析快速定位连接器及所有Pin针,确保数量
    发表于 09-26 15:09

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器
    的头像 发表于 09-15 10:27 1340次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b>入门:三种数据编码方法对比与应用