七个关键因素:如何选择出优秀机器学习算法?

作者: 读芯术 2020-10-19 12:55:59

本文转载自公众号“读芯术”(ID:AI_Discovery)

任意的机器学习问题都可以应用多种算法,生成多种模型。例如,垃圾邮件检测分类问题可以使用多种模型来解决,包括朴素贝叶斯模型、逻辑回归模型和像BiLSTMs这样的深度学习技术。

拥有丰富的选择是好的,但难点在于,如何决定在生产中实现哪个模型。虽然我们有许多性能指标来评估一个模型,但为每个问题实现每个算法是不明智的。这需要大量的时间和大量的工作,因此,知道如何为特定的任务选择正确的算法至关重要。

在本文中,我们将研究可以帮助选择最适合你的项目和特定业务需求的算法的因素,理解这些因素将使你理解模型将要执行的任务和问题的复杂性。

可解释性

当我们讨论算法的可解释性时,讨论的是它解释其预测的能力,缺乏这种解释的算法被称为黑箱算法。

像k-最近邻算法(k-nearest neighbor,KNN)这样的算法通过特征重要性具有较高的可解释性,而线性模型这样的算法通过赋予特征的权重具有可解释性。当考虑你的机器学习模型最终会做什么时,了解算法的可解释性变得非常重要。

对于诸如检测癌细胞或判断房屋贷款的信用风险等分类问题,必须了解系统结果背后的原因。仅仅预测是不够的,我们需要能够评估它。即使预测是准确的,我们也必须了解导致这些预测的过程。如果理解结果背后的原因是问题的要求,那么需要相应地选择合适的算法。

数据点的数量和特征

在选择合适的机器学习算法时,数据点的特征和数量起着至关重要的作用。根据用例的不同,机器学习模型将与各种不同的数据集一起工作,这些数据集的数据点和特征也会有所不同。在某些情况下,选择模型需要理解模型如何处理不同大小的数据集。

像神经网络这样的算法可以很好地处理大量数据和大量特征。但有些算法,如支持向量机,只能处理有限数量的特征。在选择算法时,一定要考虑到数据的大小和特征的数量。

数据格式

数据通常来自于开源和自定义数据资源的混合,因此它也可以以各种不同的格式出现。最常见的数据格式是分类的和数值的。任何给定的数据集可能只包含分类数据、数字数据或两者的组合。

算法只能处理数值数据,因此如果你的数据在格式上是分类的或非数值的,那么你将需要考虑将其转换为数值数据的过程。

线性数据

在选择模型之前,了解数据的线性是必要的一步。确定数据的线性有助于确定决策边界或回归线的形状,这反过来指导我们使用的模型。一些诸如身高-体重的关系可以用线性函数表示,这意味着当一个增加时,另一个通常以相同的值增加,这种关系可以用线性模型表示。

 

通过散点图理解数据的线性度

了解这一点将帮助你选择合适的机器学习算法。如果数据几乎是线性可分的,或者可以使用线性模型表示,那么支持向量机、线性回归或逻辑回归等算法是一个不错的选择。此外,还可以采用深度神经网络或集成模型。

训练时间

训练时间是算法学习和创建模型所花费的时间。对于像针对特定用户的电影推荐这样的用例,每次用户登录时都需要对数据进行培训。但是对于像库存预测这样的用例,需要每秒钟都对模型进行训练。因此,考虑训练模型所花费的时间是至关重要的。

众所周知,神经网络需要大量的时间来训练一个模型。传统的机器算法,如k近邻算法和逻辑回归算法,花费的时间要少得多。一些算法,如随机森林,需要根据所使用的CPU内核不同的训练时间。

预测时间

预测时间是模型进行预测所需要的时间。对于产品通常是搜索引擎或在线零售商店的互联网公司来说,快速预测时间是用户体验顺畅的关键。在这些情况下,速度非常重要,如果预测速度太慢,即使有良好结果的算法也没有用。

然而,在一些业务需求中,准确性比预测时间更重要。比如在我们前面提到的癌细胞的例子中,或者在检测欺诈交易时。支持向量机、线性回归、逻辑回归和几种类型的神经网络等算法可以进行快速预测。然而,像KNN和ensemble模型这样的算法通常需要更多的时间来进行预测。

存储需求

如果可以将整个数据集加载到服务器或计算机的RAM中,则可以应用大量算法。然而,当这是不可能的,你可能需要采用增量学习算法。

增量学习是一种机器学习方法,通过输入数据不断地扩展已有模型的知识,即进一步训练模型。增量学习算法的目的是适应新的数据而不忘记已有的知识,因此不需要对模型进行再训练。

在为机器学习任务选择算法时,性能似乎是最明显的指标。但仅凭性能还不足以选择出最佳算法,你的模型需要满足其他标准,如内存需求、训练和预测时间、可解释性和数据格式。通过综合更广泛的因素,你可以做出更自信的决定。如果很难在几个选定的模型中选择最佳算法,你也可以在验证数据集上测试它们。

当决定实现一个机器学习模型时,选择正确的模型意味着分析你的需求和预期结果。虽然这可能需要一些额外的时间和努力,但回报是更高的准确性和改进的性能。

机器学习 技术 人工智能
上一篇:人们能够生活在人工智能模拟世界中吗? 下一篇:你的生产型ML复现不了,可能是工作流程出了问题
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

用新的机器学习思考方式 来辨别自然异常与人为误导

某些对抗性事件很可能是人为设计而来。我们必须知晓其中的手法与工件是什么,这样才能真正理解深度神经网络的可靠性。

佚名 ·  23h前
1.8M超轻量目标检测模型NanoDet,比YOLO跑得快

目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别。目标检测中的深度学习方法已经发展了很多年,并出现了不同类型的检测方法。

佚名 ·  1天前
5G助力下,未来10年将是人工智能的“黄金十年”

近日,习近平总书记在G20峰会第一阶段会议上指出,疫情激发了5G、人工智能、智慧城市等新技术、新业态、新平台蓬勃兴起,“非接触经济”全面提速,为经济发展提供了新路径。

科技日报 ·  1天前
新时代如何把握住人工智能的优势,让自己不被时代淘汰

随着人工智能在企业的应用和发展,企业领导者必须着眼于基于云计算的人工智能和现代化的数据结构,以提高市场竞争力。

尚学堂java学院 ·  1天前
对话李兰娟:人工智能将疫情“一网打尽”,让医疗更精准

李兰娟指出,人工智能、大数据在这次抗疫中发挥了作用,首先是发现和控制传染源方面,通过大数据人工智能我们能够了解到与传染源接触到的所有人;第二是人员流动的控制,包括健康码、红外线测温等等,极大程度地了解了人的健康情况。

新京报 ·  1天前
面向未来系统设计的机器学习

Elias Fallon是行业领先的电子设计自动化技术提供商Cadence Design Systems公司的工程主管。他带领其定制IC研发团队以及电子设计自动化(EDA)产品团队进行项目开发。

Elias Fallon ·  1天前
人工智能如何在大数据处理中应用

人工智能,是处理大数据最理想和最有效的方法。我们的世界一直沉浸在大数据中,你能想到的任何话题,无论在线还是离线,都有大量的数据,如我们的日常活动、对无生命事物的偏好、属性、用途等等。下面,我们就来看看人工智能是如何在大数据处理中应用的?

W ·  1天前
在智能家居设备中融合ML和IOT

人工智能是一项正在常规基础上进行大量研究的技术。

Cassie ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载