机器学习可重复性危机下,创建复杂数据系统的挑战

文章目录

  • 一、前言
  • 二、主要内容
  • 三、总结

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

数据科学系统已成为众多研究领域的关键性工具,其开发者群体呈现出多元化的背景特征。在过去十年中,尽管数据科学与机器学习的强大工具被广泛采纳,但相关领域也日益面临可重复性危机的挑战。

在这里插入图片描述

由剑桥大学的数据科学权威带领的一个跨学科团队,最近在《自然-机器智能》杂志的 “观点” 栏目中发表了一篇文章。该文诊断了当前机器学习领域可重复性危机的根源:一方面是不当激励机制的存在,另一方面是软件工程技能普遍缺失。此外,文章深入探讨了软件工程和构建大规模复杂系统时所遭遇的普遍难题,并提出了八项创建复杂数据系统进行科研所面临的主要挑战。

为应对这些挑战,文章提倡两个核心开发原则。首先是采取迭代式进化而非一次性完备设计的方法来构建复杂数据系统;其次是在开发过程中实施代码正确性验证和效能评估反馈机制。这些原则旨在推动软件工程方法在优化复杂数据系统工程实践中的应用与普及。

论文地址:https://doi.org/10.1038/s42256-023-00665-x


二、主要内容

一句话总结:机器学习领域面临可重复性危机,原因是激励机制不足和软件工程技能匮乏,解决方法是采用逐步发展的方式、优化软件架构、编写有效的测试套件,并改进学术界的激励机制。

文章概览要点:

  • 机器学习领域面临可重复性危机,主要原因是激励机制不足和软件工程技能匮乏。
  • 创建复杂数据系统的挑战包括数据和代码的复杂性、软件工程技能缺乏、团队协作和个人工作之间的平衡、学术界与工业界之间的鸿沟等。
  • 在开发复杂系统时,应采用逐步发展的方式,遵循软件架构和敏捷开发方法,以降低构建复杂性。
  • 反馈回路是开发复杂系统的关键,通过对齐性和周期时长来评估反馈回路的有效性。
  • 软件架构对于降低系统构建复杂性和提高代码可读性非常重要,水平分层结构是数据科学系统的良好架构。
  • 编写测试套件对于保证代码正确性和数据可信度至关重要,基于属性的测试和数据测试是有效的测试方法。
  • 学术界需要改进激励机制,与期望的科研目标相匹配,以促进高质量数据科学系统的创造和发布。

三、总结

我们通过进行实验来提出数据问题。就如同在深入的交谈中,你必须仔细听取答案,并据此调整自己后续的回应和提问。这并不意味着你的问题生成算法需要贪婪,但它必须是持续迭代的。一方面,迭代工作释放了反馈回路的潜力,这在处理复杂或真实数据时尤为重要。另一方面,这要求你在与数据交互时具备灵活性。

反馈回路是特征工程、模型开发等各环节的基础设施。反馈回路让我们能以更快、更远、更自信的步伐前进。逐步发展的数据科学系统能够充分利用反馈回路的力量。正确性和有效性是两个不同的概念,它们需要不同的反馈回路。对于正确性而言,最核心的反馈回路是编写和执行测试套件,并尽可能编写清晰易懂的代码。对于打造有效反馈回路来说,最重要的一点是尽早建立起整个数据流水线,并使其尽可能细致。

我们注意到,(几乎)没有反馈回路能实现完全对齐;但是,对齐却是不可或缺的。然而,我们要指出,在迭代不对齐的反馈回路时可能会出现微妙的问题。过拟合,也被称为古德哈特定律,指出一旦某个度量成为目标,它就不再是一个好的度量标准。过拟合主要是有效反馈回路的问题。此前研究认为,人和流程通过不协调的反馈来优化不当的激励,可能导致他们(有意或无意地)“玩弄系统”。这种过拟合,即在验证集上的过拟合,可能影响整个数据科学系统,而非仅限于模型。尽管研究者在训练模型时通常意识到这个问题,但他们往往未能察觉到整个数据科学系统存在同样问题。

机器学习和数据科学项目中,通常把数据集分为训练集、验证集和测试集,其中训练集用于训练模型,验证集用于在模型训练过程中调整参数和选取最佳模型,而测试集则在所有模型开发完成后,用于评估模型表现。针对模型过拟合的策略,也同样适用于数据科学系统,例如,在开发过程中不使用保留的测试集,而是在开发最后才用测试集评估模型。最后,我们再次强调可重复性是一个社会技术问题,对学生和早期职业研究人员进行这些特定问题的培训至关重要。


📚️ 参考链接:

  • Dittmer, S., Roberts, M., Gilbey, J. et al. Navigating the development challenges in creating complex data systems. Nat Mach Intell 5, 681–686 (2023). https://doi.org/10.1038/s42256-023-00665-x
  • 机器学习可重复性危机下,创建复杂数据系统的挑战
  • 机器学习用于科研 —— 拉响 “可重复性危机” 的警报
  • 薛定谔的准确率:PyTorch 随机数引发的可复现性陷阱
  • 干货 | 论机器学习的可重复性危机
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244125.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python语言的官方网站地址,python语言官方网站网址

大家好,给大家分享一下python语言的官方网站地址,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Python官方网站地址及源代码 Python是一种高级编程语言,广泛应用于各个领域,包括软件开发、数据分析、人…

[PyTorch][chapter 7][李宏毅深度学习][深度学习简介]

前言: 深度学习常用的开发平台 TensorFlow torch theano caffe DSSTNE mxnet libdnn CNTK 目录: 1: 深度学习发展历史 2: DeepLearning 工程简介 3: DNN 简介 一 发展历史 二 DeepLearning 工程简介 深度学习三…

自动化测试知识总结

一、自动化测试 自动化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分,是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况…

ohpm : 无法将“ohpm”项识别为 cmdlet、函数...

这是因为没有在环境变量里配置 Ohpm. 左上角File->Settings,找到Ohpm放的路径 bin目录下,然后复制 此电脑->右键属性->高级系统设置->环境变量->系统变量找到Path,添加刚才复制的那一行 重启 DevEco ,在Terminal输入 ohpm -v ,出现版本号就欧了 如果…

MAC下加载动态库

MAC引用动态库时报错: 查看一个可执行文件或者动态库引用的第三方库路径:otool -L xxx.dylib 第一行是动态库的安装名称(INSTALL Name)。当另一个客户端链接到这个 dylib 时,dylib 的安装 ID 会被复制到客户端中作为…

一文解析数据结构是如何装入 CPU 寄存器的?

我们在之前很多文章的讲解中涉及了CPU与寄存器,然后有同学问了这样一个问题:既然CPU内部的寄存器数量有限,容量有限,那么我们使用的庞大的数据结构是怎样装入寄存器供CPU计算的呢?这篇文章就为你讲解一下这个问题。 内…

【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析

(秒杀方案)服务器异常:connection is closed by foreign host… 月初部署了一个私人项目到服务器上,刚开始还能用,用了不到两天报了上面的错误:connection is closed by foreign host… 🌺问题描…

基于ssm学院学生论坛的设计与实现论文

摘 要 网络的覆盖,电脑手机的普及使得人们的交流上升到网络信息化的层面上来,论坛系统就是在这样的环境下就诞生了,而且深受用户喜爱。 本学院学生论坛系统应用Java技术,MYSQL数据库存储数据,基于SSMVue框架开发。在网…

C++类-派生类

类之间的关系 类之间的三种关系: 包含关系:class B{ private: A a;}使用关系:class B{public: void method(A &a);}继承关系:class B: public A{} 继承 继承允许我们依据另一个类来定义一个类,这使得创建和维护…

浏览器输入URL再按下回车会经历哪些过程

目录 前言 一、解析URL 二、解析域名(DNS) 三、TCP三次握手建立连接 1.seq、syn、ack含义 2.三次握手 四、发送http/https请求 五、服务器响应请求 六、浏览器解析渲染页面 七、TCP四次挥手断开连接 总结 前言 看各种面经发现这个问题是一个高频出现的面试问题,但…

Physically-Based Rendering(PBR)基于物理的渲染(一)

文章目录 一、什么是PBR? 一、什么是PBR? Physically-Based Rendering (PBR)基于物理渲染包含材质、光源、相机、光线传播等,但在实时渲染领域我们提PBR说的就是PBR材质。 PBR在实时领域材质丰富度没有离线PBR多,因为要考虑性能。 再者严格来说实时领…

【网络协议】LACP(Link Aggregation Control Protocol,链路聚合控制协议)

文章目录 LACP名词解释LACP工作原理互发LACPDU报文确定主动端确定活动链路链路切换 LACP和PAgP有什么区别?LACP与LAG的关系LACP模式更优于手动模式LACP模式对数据传输更加稳定和可靠LACP模式对聚合链路组的故障检测更加准确和有效 推荐阅读 LACP名词解释 LACP&…

云贝教育 |【分享课】12月14日周四PostgreSQL分享主题:PG的流复制

分享主题:PG的流复制 讲师:刘峰 时间:12月14日 周四 晚上 19:30 分享平台:微信视频号 云贝学院 分享内容: 流复制的工作原理流复制主从搭建流复制主从切换流复制添加/删除备节点流复制修改同步模式

工作随记:oracle 19c客户端通过service访问PDB异常问题

文章目录 概要技术测试分析测试1:测试2:测试3:测试4: 解决方案:1、修改service2、修改pdb名称 总结 概要 应用端访问提示错误信息为:VersionHelper异常!未将对象引用设置到对象的实例! 此问题…

Axure产品流程图绘制

1.Axure产品流程图绘制简介 2.获取软件 2.1 ProcessOn介绍 2.2 ProcessOn应用场景 3.绘制门诊模块流程图 3.1 门诊模块流程图 4.绘制住院业务流程图 4.1 住院业务流程图 5.药库采购入库流程图 5.1 药库采购入库流程图 6.会议OA流程图 6.1 会议OA流程图 7.自定义元件…

2019年第八届数学建模国际赛小美赛D题安全选举的答案是什么解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 D题 安全选举的答案是什么 原题再现: 随着美国进入一场关键性的选举,在确保投票系统的完整性方面进展甚微。2016年总统大选期间,唐纳德特朗普因被指控受到外国干涉而入主白宫,这一问题再次成为…

android studio 按键点击事件的实现方法

一、onClick属性&#xff1a; 1&#xff09;、在activity_main.xml中设置button的onClick属性&#xff1a; <Buttonandroid:id"id/button"android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"开灯&q…

Axure自定义元件

目录 1.processOne的使用 ​编辑2.自定义元件的使用、 2.1如何自定义一个元件 2.2使用自定义元件 导语&#xff1a; Axure是绘制原型图的软件&#xff0c;但是我们很多时候不知道&#xff0c;画哪一个板块&#xff0c;所以流程图的绘制也是非常重要的 1.processOne的使用…

冰岛市场开发攻略,带你走进冰火之国

冰岛是北欧五国之一&#xff0c;也是高度发达的资本主义国家&#xff0c;拥有成熟的消费市场&#xff0c;如果想开发冰岛的市场的话&#xff0c;就需要了解一下冰岛的一些情况。下面就给大家来打冰岛的开发攻略&#xff0c;带大家走进冰火之国--冰岛。文章略长&#xff0c;大家…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…