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

机器学习创企最不可碰的九大陷阱!

从事IT领域工作二十年以来,我发现人工智能技术逐步从概念转向实际——机器学习技术位于前沿,并且变得更易于使用,即使对于没有专业知识的团队也是如此。

\

随着越来越多的团队使用预测模型,领导者和管理者必须意识到可能会扭曲团队工作结果的常见问题。为了实现可靠的机器学习过程,以下是要避免的九个常见陷阱,以及可采用的最佳实践方法。

陷阱1:抽样偏差

任何机器学习项目的起点都是选择训练数据。通常,组织机构有一些可用的数据,或者可以识别相关的外部供应商,例如国营企业或行业协会。这是问题开始的地方。

建模团队及其业务赞助商必须定义要使用的数据集。选择一个会歪曲或低估实际案例的数据集会很容易引起偏差,这会扭曲结果。例如,一个访问只选择在特定位置行走的人群,但却将他们当作健康人群的过度代表。

解决方案:为避免采样偏差,团队必须保证他们是真正地随机选择数据,而不是仅仅因为使用简单就使用特定案例。对于指导有效的数据选择而言,理想数据集的清晰定义和模型的逻辑至关重要。通过在早期阶段与企业所有者合作,让几位评审人员验证选择标准,机器学习团队可以确保他们的数据采样方法有用并可靠。

陷阱2:不相关的功能选择

在许多情况下,由于变量选择的细微差别,建模师遇见了许多困难。许多技术需要大量功能集来推动学习过程。但是,为了收集足够的学习数据,确保您获取了正确且相关的功能可能非常具有挑战性。

解决方案:构建一个性能良好的模型的过程需要仔细的探索和分析,以确保您选择和设计适当的功能。了解领域和包含主题专家,是选择正确功能最重要的两个驱动因素。此外,诸如递归特征消除(recursive feature elimination,RFE),随机森林(random forest),主成分分析(principal component analysis,PCA)和自动编码器等技术有助于将建模工作集中在少数几个更有效的功能上。

陷阱3:数据泄露

机器学习团队可能会偶然地收集建模数据,使用的标准是团队试图预测结果的一部分,因此,模型会显示出优秀到失真的性能。例如,一个团队可能错误的包含了一个在旨在预测疾病的模型中指示某些疾病治疗的变量。

解决方案:建模团队必须仔细构建他们的数据集,在模型估计结果之前仅使用训练时实际可用的数据。

陷阱4:缺少数据

在某些情况下,由于缺少某些记录,数据集会变得不完整。错误地调整该条件或假设没有缺失值,建模师可能会对结果的认知产生重大偏差。例如,缺失的数据可能并不总是随机的,例如,当调查受访者不太可能回答某个特定问题时。因此,平均估算可能会误导模型。

解决方案:如果您无法设计培训计划以确保使用完整的数据集,则可以采用统计技术,包括丢弃缺失值的记录,或使用适当的插补策略来估算缺失的数据值。

陷阱5:不准确的缩放和标准化

构建用于机器学习工作的数据集通常需要团队收集不同类型的输入端,这些输入端有着不同的衡量尺度。在建立模型之前,如果未能调整变量的值以允许通用比例,线性回归(linear regression),支持向量机(support vector machine,SVN),或k近邻(k nearest neighbors,KNN)等算法会受到很大影响。这些问题的出现在于范围大的话会导致功能的高度变化,因此,它们可能变得多余。例如,如果您将两者都当作未处理的投入使用,那么薪水的数据可能会获得比年龄更重的权重。

解决方案:在开始建立模型之前,您必须小心地对数据集进行标准化。您可以通过常用统计技术(如标准化或功能缩放)来转换数据集,这取决于数据的类型和团队的首选算法。

陷阱6:忽略异常值

忘记异常值可能会对模型的性能产生重大影响。例如,像AdaBoost这样的算法会将异常值视为困难情况,并将不适当的权重放在适当的位置上,而决策树更宽容。此外,不同的用例需要不同的离群值处理。例如,在发现欺诈行为的情况下,应重点关注存款中异常值。

解决方案:要解决此类问题,您的团队应该使用建模算法,它能够正确处理异常值,或者在建模前过滤异常值。良好的开端在于让您的团队做一个初步检查,以确定数据中是否存在异常值。最简单的方法是审查数据的图标或检查任何数值,它们可能是几个标准差,或更远离平均值的数值。

陷阱7:计算错误功能

当一个团队为建模提供投入时,微分过程中的任何错误都可能会为模型带来误导性输入。毫无例外,无论团队如何构建,模型都出乎意料地产生了不可靠的结果。这个问题的一个例子是,一个团队弱化了一个依赖于计算的利用率的信用评分预测模型,因为这个团队包括来自信用报告的不活跃贸易信息。

解决方案:建模师必须仔细检查团队如何获取数据。关键的出发点是要了解哪些功能是原始格式,哪些是经过设计的。自此,建模师就可以在进行建模之前检查衍生功能的假设和计算。

陷阱8:忽略多线投入(multi-collinear inputs)

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

解决方案:检测多重共线性的简单方法是计算所有变量对应的相关系数。之后您就有诸多选择来解决任何确定的共线性问题,如建筑构图或删除冗余变量。

陷阱9:无效绩效KPI

当建模数据各种进程进入平衡状态时,大多数建模算法表现最好。当数据显示不平衡时,衡量模型性能的正确指标变的至关重要。例如,平均违约率为1.2%。一个模型的准确度能达到98%,预测在所有情况下都不会发生变化。

解决方案:除非可以选择生成更均衡的训练集,或使用基于成本的学习算法,选择业务驱动的绩效指标是最好的解决方案。对于超出准确度的模型的绩效有着各种措施,如精确度,召回率,F1得分和受试者工作特征(receiver operating characteristic,ROC)曲线。选择最合适的度量标准将指导建模算法错误最小化。

从坚实的基础开始

由于技术和工具的进步,机器学习培训项目比以往更容易执行。但是,要获得可靠的结果需要对数据科学和统计学原理有深入的了解,如此才能确保团队从一个坚不可摧的底层数据集开始,这边是成功的基础。

Pejman Makhfi是Credit Sesame的首席技术官。Credit Sesame是一个教育信贷和个人财务网站,为消费者提供免费的信用评分服务。

上一篇:期待已久的Ubuntu 18.04 LTS正式发布 适用于机器学习
下一篇:实用:用深度学习方法修复医学图像数据集
精选推荐
谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图
谷歌宣布搜索算法重大升级,用BERT模型理解用户搜索意图

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

一个让深度学习惨败的通用人工智能领域——语境处理
一个让深度学习惨败的通用人工智能领域——语境处理

[2019-11-04]  Context是指用来解释一段给定文本或语句的来源框架,我们可以翻译为上下文或语境。维基百科将context定义为:*在符号学、语言学、社会学和 ...

机器人iCub作为嵌入式AI的标准机器人研究平台的重要性
机器人iCub作为嵌入式AI的标准机器人研究平台的重要性

[2017-12-24]  机器人的研究在过去10年中得益于一个具有嵌入式人工智能(AI)的标准化开源平台——人形机器人iCub。iCub最初在意大利被创建,如今在欧洲、美国、韩国、新加坡和日本的实验室......

全自动膝关节置换手术机器人被美国FDA批准上市
全自动膝关节置换手术机器人被美国FDA批准上市

[2019-10-14]  美国Think Surgical公司已获得美国食品和药物管理局(FDA)的批准,在美国销售用于全膝关节置换(TKA)的TSolution One®全膝关节应用 ...

英伟达用联合学习创建医学影像AI 可共享数据和保护隐私
英伟达用联合学习创建医学影像AI 可共享数据和保护隐私

[2019-10-14]  英伟达(Nvidia)和伦敦国王学院(King’s College London)的人工智能研究人员利用联合学习训练了一种用于脑肿瘤分类的神经网络, ...

美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食
美国普渡大学研发快动作软体机器人,灵感来自变色龙舌头捕食

[2019-10-31]  本文图片均来自:Ramses v Martinez 普渡大学变色龙、蝾螈和许多蟾蜍利用积蓄的弹性能量,向距离1 5倍体长的毫无防备的昆虫伸出粘糊糊的舌 ...

7种常见的机器人焊接类型
7种常见的机器人焊接类型

[2017-12-17]  机器人焊接是工业领域最常见的机器人应用之一,近几十年来主要由汽车行业驱动。机器人焊接在完成大批量,重复性的焊接任务时效率最高。...

智能机器人困惑的时候知道该问什么问题
智能机器人困惑的时候知道该问什么问题

[2017-03-20]   照片:Nick Dentamaro 布朗大学 上周,我们提到了麻省理工学院的一些研究,即通过链接人的大脑来帮助机器人在他们将要犯错误的时 ...

本周栏目热点

深度学习反向传播算法(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(鸢尾花)数据集上训练一个感知器模型,自适应线性神......

机器人是怎么深度学习的?

[2016-03-29]      一个人独处时,感觉有点孤单,怎么办?微软亚洲研究院推出的微软小冰,或许 ...