爱吧机器人网 » 技术 > 机器学习 > 正文

成功构建一个机器学习模型需避免这9个错误

成功构建一个机器学习模型需避免这9个错误
在A先生(作者没有透露姓名,姑且成他为A先生)从事IT领域工作的过去二十年中,A先生看到人工智能技术从概念转向实际 ,使其变得更易于使用,即使对于没有专业知识的团队也是如此。

随着越来越多的团队使用预测模型,企业领导者和管理者必须意识到可能扭曲团队工作结果的常规问题。 以下是要避免的九个常见问题,最好的做法是遵循,以实现一个可靠的机器学习过程。

问题1:抽样偏差

任何机器学习程序的出发点是选择训练数据。通常,组织有一些可用的数据,或者可以识别相关的外部供应商,例如政府实体或行业协会,这是问题开始的地方。

培训团队及其业务发起人必须定义要使用的数据集。在选择数据样本时,很容易引入偏倚,选择错误表示或低估真实情况的数据集,这将扭曲结果。

解决方案:为了避免抽样偏差,团队必须确保真正随机选择的数据,并且不只是简单地使用特定的部分,因为这是最容易访问的。对理想数据集的清晰定义和模型的逻辑是指导有效数据选择的关键。通过与业务所有者合作,并让几个检查人员在这个早期阶段验证选择标准,机器学习团队可以确保他们的数据抽样方法是可靠的。

问题2:不相关的特征选择

在许多情况下,由于变量选择的细微差别,当在遇到了困难时,许多技术需要大量的特性集来支持学习过程。但是,为了收集足够的学习数据,确保具有正确的和相关的特性是很有挑战性的。

解决方案:构建一个性能良好的模型的过程需要仔细的探索和分析,以确保选择并设计合适的特性。了解领域及目标是选择正确功能的两个最重要的驱动因素。此外,诸如递归特性消除(RFE)、随机森林、主成分分析(PCA)和自编码器等技术可以帮助培训工作集中在更小的以及更有效的特性上。

问题3:数据泄漏

机器学习小组可能会不小心收集到其他的额外数据,以训练使用标准,这是团队试图预测的结果的一部分。因此,模型将显示出性能将会好的令人难以置信。例如,一个团队可能错误的在预测疾病的模型中包含了一个指示治疗某种疾病的变量。

解决方案:培训团队必须在模型估算结果之前,使用仅在培训时实际可用的数据来构建数据集。

问题4:缺少的数据

在某些情况下,由于某些记录缺失值,数据集将不完整。如果不正确的调整这个条件,或者假设没有缺失值,培训师可能会对结果产生明显的偏差。

解决方案:如果不能设计出相应的程序以确保使用完整的数据集,可以尝试使用统计技术,包括使用缺失值的丢弃记录,或者使用适当的估算策略来评估丢失数据的值。

问题5:不准确的缩放和标准化

构建用于机器学习工作的数据集通常需要团队收集具有不同测量尺度的不同类型的输入。 如果在训练模型之前未能调整变量的值以允许通用比例,则线性回归,支持向量机(SVN)或k近邻(KNN)等算法会受到很大的影响。 出现这些问题是因为大范围会导致较高的方差,因此可能变得没有那么重要。 例如,如果将两者都用作未处理的投入,则工资数据可能会获得比年龄具有更高的权重。

解决方案:在开始进行模型培训之前,必须注意规范化数据集。可以通过常规的统计技术(如标准化或功能扩展)来转换数据集,这取决于数据类型和团队首选的算法。

问题6:忽略异常值

忽略异常值可能会对模型的性能产生重大影响。 例如,像AdaBoost这样的算法将异常值视为困难的情况,并将不适当的权重放在适当的位置,而决策树更加宽容。 此外,不同的用例需要不同的异常处理。 例如,在检测到欺诈行为的情况下,应重点关注存款中的异常值,但在感官温度输入中,数据异常值可能会被忽略。

解决方案:要解决此问题,团队应该使用正确处理异常值的建模算法,或者在训练之前过滤出异常值。 一个好的起点是让团队做一个初步检查,以确定数据中是否有异常值。 最简单的方法是审查数据的图表或检查任何偏离均值几个偏差或更多的值。

问题7:Miscalculated功能

当一个团队的工程师投入到模型训练时,衍生过程中的任何错误都可以给模型提供误导的输入。因此,无论团队如何进行培训,模型的行为都是出乎意料的,并且产生不可靠的结果。这个问题的一个例子是当一个团队削弱了依赖于计算利用率的信用评分预测模型的时候,因为团队包括了来自信用报告的不活跃的交易的数据。

解决方案:培训人员必须准确地检查团队是如何获得数据的。一个关键的起点是了解哪些特性是原始格式,哪些是经过设计的。在此基础上,训练人员在进行训练之前,将会很好的检查所导出特征的假设和计算。

问题8:忽略多线的投入

使用数据集而不考虑多线性预测因子是误导模型训练的另一种方式(多线性输入的存在意味着两个或多个变量之间存在高度相关性)。 结果很难确定任何一个变量的影响。 在这种情况下,选定特征的微小变化会对结果产生重大影响。 这个问题的一个例子是,广告预算和流量呈现共线性作为预测变量。

解决方法:检测多共线性的一种简单方法是计算所有对变量的相关系数。然后就有许多选项可以解决任何确定的共线性问题,例如构建组合或删除冗余变量。

问题9:无效的Kpi

大多数建模算法在训练数据具有不同实例的均衡表示时表现最佳。当数据存在严重的不平衡时,度量模型性能的正确度量就变得至关重要。例如,平均违约率为1.2%,模型将产生98.8%的准确率,并预测在所有情况下不会出现违约。

解决方案:除非可以选择生成更平衡的培训集或使用基于成本的学习算法,否则选择业务驱动的性能指标是最好的解决方案。在精度、召回率、F1评分、受试者工作特征曲线 (ROC)等精度之外,还存在各种性能指标。选择最合适的度量标准将指导训练算法最小化错误。

从一个扎实的基础开始

由于技术和工具的进步,机器学习培训项目比以往任何时候都更容易执行。然而,生成可靠的结果需要对数据科学和统计原则有一个扎实的理解。


上一篇:小米开源移动端深度学习框架MACE:可转换TensorFlow模型
下一篇:Judea Pearl:传统机器学习于因果层级底层,达成完备AI的7个工具
精选推荐
人工神经网络技术解码人类行为和想象时的大脑活动信号
人工神经网络技术解码人类行为和想象时的大脑活动信号

[2017-08-23]  为搜索引擎过滤信息,棋盘游戏对弈,识别图像 人工智能在某些任务中远远超过了人类智能。来自弗莱堡由神经科学家私人讲师Tonio Ball博士领导的几个杰出的BrainLinks-Bra......

美国喷气推进实验室的AI驱动无人机挑战人类飞行员
美国喷气推进实验室的AI驱动无人机挑战人类飞行员

[2017-12-08]  随着无人机及其组件越来越小,效率越来越高,功能越来越强大,我们已经看到越来越多的研究开始让无人机自主飞行在半结构化的环境中,而不依赖于外部定位。 宾夕法尼亚大学在......

谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图
谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图

[2019-10-26]  谷歌刚刚宣布,其搜索引擎的核心算法正在进行一项重大升级,这项升级可能会改变10%的搜索结果排序。此项升级应用了自然语言处理技术(BERT ...

[2017-03-21]  虽然有很多关于机器人取代工人的担心,但哈佛经济学家James Bessen的论文指出,在过去的67年里机器人仅仅淘汰掉人类工作中的一个。在1950 ...

从AI中窥探人性
从AI中窥探人性

[2018-01-03]  人们对人造智能的恐惧早已成为科幻书籍和电影的极好题材。但现在,一些同样的担忧开始影响关于现实世界AI技术的政策讨论。如果这样的担忧演变成为一种技术恐慌...

麻省理工正研究植物机器人 让植物自主控制机器人
麻省理工正研究植物机器人 让植物自主控制机器人

[2018-12-08]  控制论通常指人类用机器人部件增强自己。我们听说过动物机器人或昆虫机器人,但我们很少听说植物机器人对吧?一个机器人其实是对植物有很大益处的,因为一般植物根本无法移动......

如何让人工智能机器人快速自我纠正错误并吃一堑长一智?
如何让人工智能机器人快速自我纠正错误并吃一堑长一智?

[2017-08-23]  莱斯特大学数学系的研究人员在《Neural Networks》杂志上发表了一篇文章,概述了新算法的数学基础,可以使人工智能收集错误报告并立即纠正,而不影响现有技能 ,同时还会积......

深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

本周栏目热点

盘点全球十大最具影响力的机器人摇篮

[1970-01-01]    人工智能(AI)研究现正迅速发展,如无人驾驶汽车、计算机在《危险边缘》智力竞赛节目中获胜、数字私人助手Siri、GoogleNow和语音助手C ...

深度学习反向传播算法(BP)原理推导及代码实现

[2017-12-19]  分析了手写字数据集分类的原理,利用神经网络模型,编写了SGD算法的代码,分多个epochs,每个 epoch 又对 mini_batch 样本做多次迭代计算。这其中,非常重要的一个步骤,......

如何在机器学习项目中使用统计方法的示例

[2018-07-23]  事实上,机器学习预测建模项目必须通过统计学方法才能有效的进行。在本文中,我们将通过实例介绍一些在预测建模问题中起关键作用的统计学方法。...

[2017-08-28]  模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。1、固体退火原理:将固体加温 ...

Machine Learning-感知器分类算法详解

[2018-05-31]  今天我们来讲解的内容是感知器分类算法,本文的结构如下:什么是感知器分类算法,在Python中实现感知器学习算法,在iris(鸢尾花)数据集上训练一个感知器模型,自适应线性神......