如何从 8 个维度全面比较机器学习算法?

简介: 人类发明的机器学习(ML)算法简直数不胜数。当然,大多数时候只有一小部分被用于研究和工业。然而,对于个人来说,理解并记住所有这些 ML 模型的细节仍然有点困难。有些人可能会有一个错误的印象,认为所有这些算法都是完全不相关的。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

人类发明的机器学习(ML)算法简直数不胜数。当然,大多数时候只有一小部分被用于研究和工业。然而,对于个人来说,理解并记住所有这些 ML 模型的细节仍然有点困难。有些人可能会有一个错误的印象,认为所有这些算法都是完全不相关的。更重要的是,当两种算法似乎都有效时,如何选择使用算法 A,还是 B?

652239CA_6B5A_4885_850D_D92B0AACA536

人类发明的机器学习(ML)算法简直数不胜数。当然,大多数时候只有一小部分被用于研究和工业。然而,对于个人来说,理解并记住所有这些 ML 模型的细节仍然有点困难。有些人可能会有一个错误的印象,认为所有这些算法都是完全不相关的。更重要的是,当两种算法似乎都有效时,如何选择使用算法 A,还是 B?

这篇文章的目的是为读者提供一个不同的角度来看待 ML 算法。有了这些角度,算法可以在同样的维度上进行比较,并且可以很容易地进行分析。本文在撰写时考虑了两个主要的 ML 任务——回归和分类。

时间复杂度

在 RAM 模型下,算法所花费的“时间”是由算法的基本运算来度量的。虽然用户和开发人员可能更关心算法用于训练模型的挂钟时间,但在比较模型用于训练的时间时,使用最坏情况下的计算时间复杂度更公平。使用计算复杂度的好处是,可以忽略运行时使用的计算机能力、架构以及底层编程语言等的差异,允许用户关注算法基本操作的基本差异。

注意,在训练和测试期间,时间复杂度可能差别很大。例如,像线性回归这样的参数模型可能训练时间很长,但它们在测试期间很高效。

空间复杂度

空间复杂度根据输入大小度量算法运行需要多少内存。如果 ML 算法将太多数据加载到机器的工作内存中,则 ML 程序将无法成功运行。

样本复杂度

样本复杂度度量为了保证训练的网络可以有效的泛化所需的训练样本量。例如,深度神经网络需要大量的训练数据来训练,因此,具有较高的样本复杂度。

偏差 - 方差权衡

不同的 ML 算法会有不同的偏差 - 方差权衡。偏差误差来自于模型偏向于特定解或假设的事实。例如,在非线性数据上拟合线性决策边界时,偏差较大。另一方面,方差测量模型方差带来的误差。它是模型预测与期望模型预测的均方差。

AE61DDB8_5C61_4999_BDFF_56BCBE9E7725

不同的模型做出了不同的偏差 - 方差权衡。例如,朴素贝叶斯被认为是一个高偏差、低方差的模型,因为它所做的假设过于简单。

在线和离线

在线和离线学习是指机器学习软件学习更新模型的方式。在线学习意味着可以一次提供一条训练数据,以便在获得新数据时立即更新参数。而离线学习为了更新参数,需要在新数据出现时重新训练(重新训练整个模型)。如果一个算法是在线的,那么它应该是高效的,因为在生产中使用的参数可以实时更新,以反映新数据的影响。

ID3 决策树算法是离线学习的一个例子。ID3 的工作方式是查看全局数据并进行贪婪搜索以最大化信息增益。当新的数据点出现时,整个模型需要重新训练。而随机梯度下降法(SGD)是一种在线算法,可以在新数据到达时更新训练模型的参数。

并行性

并行算法是指一个算法可以在给定的时间内完成多个操作。这可以通过将工作负载分配到不同的工作者(如单机或多机中的处理器)来实现。像梯度增强决策树(GBDT)这样的序列算法很难并行化,因为下一个决策树是根据前一个决策树的误差构建的。

K 近邻(k-NN)模型的特性让它可以轻松地在多台机器上同时运行。这是在机器学习中使用 MapReduce 的一个经典例子。

参数化

虽然参数模型的定义并不严格,但是这种模型分类在统计学习领域中得到了广泛的应用。简单地说,参数化模型是指模型的参数数量是固定的,而非参数化模型的参数数量随着数据的增加而增加。另一种定义参数化模型的方法是基于其对数据概率分布形状的基本假设。如果没有给出假设,则为非参数化模型。

参数化模型在机器学习中很常见。例如线性回归、神经网络以及许多其他 ML 模型。另一方面,k-NN 和 SVM(支持向量机)是非参数化模型。

方法、假设和目标

本质上,所有的机器学习问题都是最优化问题。在机器学习模型或需要优化的潜在目标函数背后,总是有一种方法。对算法背后的主要思想进行比较,可以增强算法的合理性。

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

总之,ML 算法可以根据不同的标准进行分析。这些标准实际上有助于度量不同 ML 模型的有效性和效率。

你能想到其他比较 ML 算法的视角吗?

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-07
本文作者:garychl
本文来自:“InfoQ”,了解相关信息可以关注“InfoQ

相关文章
|
8月前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
320 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
4月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
5月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
219 6
|
7月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
8月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
1433 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
8月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
210 14
|
7月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
135 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
9月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
241 2

热门文章

最新文章