机器学习必须避开的九大陷阱

机器人

533人已加入

描述

从事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)曲线。选择最合适的度量标准将指导建模算法错误最小化。

从坚实的基础开始

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分