导读 | 因为技术和工具的进步,机器学习培训项目比以往更容易执行。可是,要得到可靠的结果须要对数据科学和统计学原理有深刻的了解,如此才能确保团队从一个坚如盘石的底层数据集开始,这边是成功的基础。 |
从事IT领域工做二十年以来,我发现人工智能技术逐步从概念转向实际——机器学习技术位于前沿,而且变得更易于使用,即便对于没有专业知识的团队也是如此。linux
随着愈来愈多的团队使用预测模型,领导者和管理者必须意识到可能会扭曲团队工做结果的常见问题。为了实现可靠的机器学习过程,如下是要避免的九个常见陷阱,以及可采用的最佳实践方法。算法
陷阱1:抽样误差dom
任何机器学习项目的起点都是选择训练数据。一般,组织机构有一些可用的数据,或者能够识别相关的外部供应商,例如国营企业或行业协会。这是问题开始的地方。机器学习
建模团队及其业务赞助商必须定义要使用的数据集。选择一个会歪曲或低估实际案例的数据集会很容易引发误差,这会扭曲结果。例如,一个访问只选择在特定位置行走的人群,但却将他们看成健康人群的过分表明。工具
解决方案:为避免采样误差,团队必须保证他们是真正地随机选择数据,而不是仅仅由于使用简单就使用特定案例。对于指导有效的数据选择而言,理想数据集的清晰定义和模型的逻辑相当重要。经过在早期阶段与企业全部者合做,让几位评审人员验证选择标准,机器学习团队能够确保他们的数据采样方法有用并可靠。性能
陷阱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是一个教育信贷和我的财务网站,为消费者提供免费的信用评分服务。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/