微信号:ArchSummit

介绍:ArchSummit全球架构师峰会是InfoQ中国团队推出的面向高端技术管理者、架构师的技术大会.2018年深圳站大会演讲时间为7月6-7日,深度培训时间为:7月8-9日,敬请关注.

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

2018-08-10 12:00 T800科技网
随着越来越多的团队使用预测模型,企业领导者和管理者必须意识到可能扭曲团队工作结果的常规问题。

以下是要避免的九个常见问题,最好的做法是遵循,以实现一个可靠的机器学习过程。

问题 1:抽样偏差

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

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

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

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

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

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

问题 3:数据泄漏

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

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

问题 4:缺少的数据

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

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

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

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

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

问题 6:忽略异常值

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

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

问题 7:Miscalculated 功能

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

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

问题 8:忽略多线的投入

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

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

问题 9:无效的 KPI

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

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

从一个扎实的基础开始

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


2018 年 12 月北京 ArchSummit 全球架构师技术峰会已经启动,目前内容正在策划中,如果您有优质的内容,欢迎提供议题。

点击「阅读原文」查看议题申请入口:

 
ArchSummit 更多文章 2018年改变世界的4大热门科技趋势 JavaScript和JSON创建者对JavaScript未来的展望 打通年薪百万架构师“任督二脉”,就差这几本独门秘籍 ArchSummit倒计时第7天 ArchSummit倒计时第8天
猜您喜欢 回归诊断与优化——OLS回归模型拟合(五) [收藏] 嵌入式系统软硬件基础知识总结 使用 VS Code 远程调试 Python 程序 《雅典学院》竟然隐藏着这么多不为人知的事儿 优化 MySQL 中的分页