HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

怎样发现机器学习模型中的缺陷?

  • 2021-11-23
  • 本文字数:2338 字

    阅读完需:约 8 分钟

怎样发现机器学习模型中的缺陷?

每次你用汇总统计来简化数据时都肯定会丢失信息。模型精度也不例外。如果你将模型拟合简化为一份汇总统计数据,就没办法再确定性能最低/最高的位置和原因了。



图 1:模型性能较低的数据区域示例。


为了解决这个问题,IBM 的研究人员最近开发了一种称为FreaAI的方法,可以给出模型精度较低位置的可解释数据切片。根据这些切片提供的信息,工程师可以采取必要的步骤来确保模型按预期运行。


不幸的是,FreaAI 不是开源的,但它采用的许多理念都可以在你喜欢的技术栈中轻松实现。下面我们就来深入了解一番。

技术总结

FreaAI 能够在测试数据中发现统计意义上性能显著低下的切片,然后将它们返回给工程师进行检查。方法步骤如下:


  1. 使用最高先验后验密度(HPD)方法以低精度查找单变量数据切片。这些单变量数据切片减少了搜索空间,并能揭示出我们的数据更可能出现问题的位置。

  2. 使用决策树以低精度查找双变量数据切片。这些双变量数据切片减少了分类预测变量和二阶交互的搜索空间,以揭示我们的数据更可能出现问题的位置。

  3. 删除所有不符合特定启发式算法(heuristic)的数据切片。只留下对测试集有最小支持的切片,它们的统计错误率显著升高。

这到底说的是什么意思?

一堆术语太难懂了,所以我们放慢一点,看看到底发生了什么事情......


  1. 问题


在开发模型时,我们经常使用“精度”指标来确定拟合。一个例子是均方误差,它用于线性回归,定义如图 2。



图 2:均方误差公式。


但是这个平均误差只告诉了我们平均表现是什么样的。我们不知道我们我们是不是在数据的某些部分表现很好,在其他一些部分表现很差。


这是预测建模中一个长期存在的问题,最近引起了很多关注。


  1. 解决方案


一种解决方案就是 FreaAI。该方法由 IBM 开发,旨在找出我们的模型在数据中的哪些部分表现不佳。


它分为两大步骤。第一步是创建数据切片,第二步是确定模型在这些数据切片中是否表现不佳。FreaAI 的输出是我们的数据中模型性能较低的一组“位置”。

2.1 数据切片

组合测试(CT)是一个框架,它按顺序查看所有预测变量组,以发现性能不佳的区域。例如,如果我们有两个分类预测变量——颜色和形状,我们会查看所有可能的组合,看看精度下降的是哪些地方。


然而,想要在大型数据集上利用组合测试在计算上是不可能做到的——随着列数越来越多,我们所需的组合数量会呈指数增长。因此,我们需要定义一种方法来帮助我们搜索特征以找到潜在的低精度区域。



图 3:50%最高密度区域(HDR)的示例,用蓝色表示。


FreaAI 中利用的第一种方法使用称为最高密度区域(HDR)(图 3)。简而言之,HDR 会寻找满足一个数字特征的数据达到一定比例的最小区域,即高密度区域。在图 3 中,该区域由水平蓝色虚线区分——我们 50%的数据位于该线上方。


然后我们迭代地将这个范围减小一个ε值(默认为 0.05),并寻找精度增加的情况。如果在给定迭代中精度确实增加了,我们就知道模型在先前迭代和当前迭代之间的区域中表现是不佳的


为了找出不能很好满足数值预测变量的区域,我们会对测试集中的所有预测变量迭代运行这个 HDR 方法。


很酷,对吧?


第二种方法利用决策树来处理所有非数字预测变量以及两个特征的组合。简而言之,我们拟合了一个决策树,并寻找这些特征的哪些分割最小化了精度。



图 4:关于连续单变量预测变量“年龄”的决策树示例


在图 4 中,每个决策节点(蓝色)是我们特征的一个分割(spilt),每个末端节点(数字)是该分割的精度。通过拟合这些树,我们可以真正减少搜索空间并更快地找到性能不佳的区域。此外,由于树对于许多类型的数据都非常稳健,我们可以在分类预测变量或多个预测变量上运行它以捕获交互效应(interaction effects)


对于所有特征组合以及非数字的单个特征都会重复这种决策树方法。

2.2 数据切片的启发式算法

到目前为止,我们只是在使用精度来开发数据切片,但还有其他启发式算法可以帮助我们找到有用的数据切片:


  1. 统计显著性:为了确保我们只查看准确率显著下降的数据切片,我们只保留性能比误差置信区间下限低 4%的切片。这样,我们就能以概率α声明我们的数据切片具有更高的错误率。

  2. 可解释性:我们还希望对发现的问题区域采取行动,因此我们在创建组合时只查看两三个特征。将交互限制到较低阶后,我们的工程师就更有可能开发出解决方案。

  3. 最小支持:最后,数据切片必须有足够的错误率,值得我们去研究。我们要求必须至少有 2 个错误分类,或者它必须覆盖 5%的测试错误——以较大值为准。


值得注意的是,你可以根据业务需求定制其他启发式算法,精度/召回权衡就是一个例子。


  1. 总结和要点


FreaAI 的大致原理就讲这么多。


再次提醒,FreaAI 不是开源的,但将来大概会向公众发布。同时,你可以将我们讨论过的框架应用于你自己的预测模型,找出模型性能不足的位置。

3.1 概括

回顾一下,FreeAI 使用 HDR 和决策树来减少我们预测变量的搜索空间。然后它会反复查看单个特征和组合,以找出性能低下的位置。针对这些低性能区域还会用上一些启发式算法,可确保发现是可操作的。

3.2 这个方法的意义

首先这个框架可以帮助工程师识别模型的缺陷所在,并(希望)可以纠正它们,从而改进模型的预测能力。这种收益对于黑盒模型(例如神经网络)来说尤其有吸引力,因为这种模型中没有能用的系数。


通过隔离表现不佳的数据区域,我们得到了一个窥探黑匣子的窗口。


FreaAI 还有很多有趣的潜在应用场景。一个例子是识别模型漂移,当经过训练的模型随着时间的推移变得效果越来越差时就会发生这种情况。IBM 刚刚发布了一个用于确定模型漂移的假设检验框架


另一个有趣的应用是确定模型偏见。在这种情况下,偏见是不公平的概念,例如根据某人的性别拒绝向某人提供贷款。通过查看模型性能较低的数据分割,你可以发现存在偏见的区域。


原文链接:


https://towardsdatascience.com/how-to-find-weaknesses-in-your-machine-learning-models-ae8bd18880a3

2021-11-23 18:432001
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 533.1 次阅读, 收获喜欢 1976 次。

关注

评论

发布
暂无评论
发现更多内容

RxJS系列01:响应式编程与异步

代码与野兽

6月月更

运维领域告警智能定级原理探索(含详细实验报告)

云智慧AIOps社区

运维 安全 监控 告警

幸运哈希算法竞猜游戏开发特点分析(成熟方案)

开发微hkkf5566

英特尔计划建造浸没式实验室,帮助高功率芯片快速降温

WorkPlus

各国儿童节时间是不一样的

清林情报分析师

数据可视化 知识图谱 儿童节

【高并发】你知道吗?大家都在使用Redisson实现分布式锁了!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

哪些人比较适合加盟自助洗车

共享电单车厂家

加盟自助洗车

做数据时代的加油站,ShardingSphere 为易车数据库架构演进提供新动力

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

展示 Postlight 的 WordPress + React Starter Kit

海拥(haiyong.site)

WordPress 6月月更

招聘 | 上班轰趴,下班狼人杀,天天招人,怕是要发!

Alluxio

面试 程序员人生 招聘 互联网热点 Alluxio

成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用

Serverless Devs

Serverless wolai

为企业业务流程提速的BPM

力软低代码开发平台

2022 支付宝五福 |“联机版”打年兽背后的网络技术 RTMS

阿里巴巴终端技术

客户端 网络技术 网络通信

Redis 忽然变慢了如何排查并解决?

码哥字节

redis Redis 核心技术与实战 6月月更

相约龙蜥,开源一“夏”!2022编程之夏ASoC开始报名了

OpenAnolis小助手

阿里巴巴 开源项目 龙蜥社区 高校学生 技术项目

2022年4月线上终端药品增长迅猛,市场政策合规进程加快

易观分析

医药类

为什么你的网站需要搭建在线帮助中心?

小炮

WASM VS EVM,波卡的选择预示了公链未来

One Block Community

区块链 公链 波卡生态

2022云原生网络趋势 | K8s托管整个基础设施、多云、边缘计算、安全等场景,将云原生网络带向新战场

York

云原生 网络 Kube-OVN cni 6月月更

Jetpack Composes 入门

坚果

6月月更

定档615 | 数字化基础软件自主创新分享周即将来袭,点击获取“通关密钥”!

网易数帆

大数据 云原生 基础软件 数字化转型 自主创新

6 月直播 7 场干货全剧透!今天:飞腾CPU调优原理及方法 | 第 19 期

OpenAnolis小助手

cpu 直播 sig 龙蜥大讲堂 飞腾

顶级好用的 React 表单设计生成器,可拖拽生成表单

蒋川

低代码 开发工具 React 表单 组件

CPU利用率从10%提升至60%:中型企业云原生成本优化实战指南

星汉未来

运维 云原生 IT成本 星汉未来 FinOps

如何撰写数据中台蓝图方案

agileai

数据中台 企业服务总线 主数据平台 数据分析平台 蓝图方案

博睿数据拨测入场加速广电深度融合

博睿数据

智能运维 博睿数据 智慧广电

24小时无人自助洗车要如何加盟?

共享电单车厂家

自助洗车加盟

深度操作系统20.6正式发布!

深度操作系统

开源 深度操作系统 deepin20.6 新版本 深度

移动端异构运算技术-GPU OpenCL编程(进阶篇)

百度Geek说

洗车行业前景好不如开个自助洗车店

共享电单车厂家

自助洗车加盟 开自助洗车店

“东数西算”与“双碳”双驱力叠加,新华三争当“全能型选手”

WorkPlus

怎样发现机器学习模型中的缺陷?_AI&大模型_Michael Berk_InfoQ精选文章