转自 | 量子位

只要输入一次心跳的波谱。就能判断一个人有没有发生心力衰竭 (CHF) ,准确率100%。这是英国华威大学领衔的团队,用机器学习方法做出的新成果。还登上了影响因子2.943的Biomedical Signal Processing and Control期刊。准确率眼看就要突破天际,高得反常识,招来了铺天盖地的质疑:主要的疑点有两个:疑似过拟合 (没有规律硬拗出规律) ,疑似数据泄漏 (训练集和测试集有重叠) 。一日之间,话题在Reddit论坛的热度已经超过了400:那么,来看看到底发生了什么。

怎样的研究

这项研究,是依靠心电图 (ECG) 来推测,人有没有出现充血性心力衰竭 (CHF) ,也就是人们常说的心力衰竭:指的是心脏没能推送足够的血量,维持身体所需。来自华威大学、佛罗伦萨大学以及萨里大学的科学家们,想让AI去看看心力衰竭的心电图波形有没有规律可寻。于是,团队设计了一维的卷积神经网络 (CNN) ,用公开的心电图数据集,训练它给心电图做二分类:正常 vs 心衰。训练完成后,团队用490,505次心跳的数据集测试了模型,结果训练集上的分类准确率达到了99.9%:论文还写到,重要的是模型发现了心衰的心电图,有非常突出的形态特征可以用于诊断:不过,研究用的数据集受到了质疑,准确率受到了质疑,连AI发现的重要特征也受到了质疑。

实验的漏洞

乍一看,论文的样本数量似乎很大,论文作者采集了275,974正常的ECG心跳样本和214,531个心脏衰竭患者的样本,总数量达到了49万个。但仔细一看,其实样本的数量是非常少的,总共也只有33个人,一个人多个的心跳不是独立样本。心衰患者的数据来自BIDMC数据集,每秒采样250个样本;正常人的数据来自MIT-BIH,每秒采样128个样本。当采用两个不同数据集时,需要对其中一组数据进行下采样,匹配另一组数据的频率。不过研究人员已经注意到这一点,在训练前做了预处理,大漏洞不在这里。但之后的训练过程,就令人产生了数据泄漏 (Data Leakage) 的质疑。首先,数据集被随机分成三个较小的子集,分别进行训练、验证和测试(相当于总数据的50%、25%和25%)。每个人的心跳数据只包含在了一个数据集中,没有在多个数据集里重复出现。因为作者知道,如果一个人的心跳数据,在训练集和测试集都出现,存在交叉验证的可能性。但是这又带来一个问题,测试集中只有少数几个人的数据,这就相当于拿训练后的模型在个别样本上进行验证,结果的可靠性也大打折扣。为了保证结果在更多的数据上进行测试,作者又想到了另一种方法,将样本做10次随机分割,分别进行10次训练和评估,以减少分类结果带来的差异性。虽然一开始的方法避免了单次实验的交叉验证,但是多次实验取平均,等于又把交叉验证的问题带了回来,造成了数据泄露(Data Leakage)。然后,作者一个只有33个样本的数据上,用了三个1D卷积神经网络层进行拟合,准确率近乎100%,难免不让人觉得是过拟合。在训练集上避免过拟合,本来是“炼丹”过程的常识,却被作者作为一项优点来宣传。难怪有网友在吐槽:这是一篇门外汉写的机器学习论文。100%对于非机器学习领域的人来说是一件令人惊叹的事情,而专业人士看到只会说“什么鬼”。这篇论文还被发表在正式期刊上,有网友感叹:审稿人的水平哪去了,这个问题看不出来?另外,Hacker News上还有人 (@Cass) 说,AI总结出的两类心电图 (正常vs心衰),根本就有问题:

看图4 (下图) ,正常心电图的“平均”波形,压根不是这样。P太平了,Q太大了,R太钝了,S和T之间也不应该有那个额外的波。如果,提取的正常人平均值都能这么混乱,得出怎样的结果都不奇怪了。

一直被滥用

这篇论文在Reddit上引起了激烈讨论。随着机器学习大热,很多其他领域的研究者,也开始用机器学习模型,来执行自己领域的任务。而跨学科的研究人员,如果对机器学习的理解不足,很容易出现大问题。比如,数据泄漏的问题,让人想起了去年8月在Nature发表的一篇预测余震的论文,来自谷歌和哈佛。今年,一位名叫Rajiv Shah的数据科学家用自己的实验证明,这篇文章是“深度学习的错误用法”。他一共提出了三个致命缺陷:最大的缺陷就是数据泄漏。算法在测试集上的表现,远远超过训练集。查看数据集发现,测试集和训练集,包含许多相同的地震。把重叠部分去掉之后,模型的表现下降到了传统方法的水平。第二个缺陷是,用随机森林这样的简单方法,也得出了相似的表现和结论。能用简单的方法,却用了复杂的方法,这就是消融实验 (Ablation Studies) 没做好。第三个缺陷是,论文中训练用了470万行数据,而Shah用1500行数据,就得到了几乎一样的表现。Shah认为,能用少量的数据解决问题,就不该用成千上万倍的数据量。这次重大的质疑,引起了业内的巨大关注,甚至有许多同行都来一起找Bug:10月2日,Nature又刊登了一篇质疑这项余震预测的论文,证明一个神经元的预测效果比一个六层的网络还要好,相当于否定了一年前的研究成果。这篇后发的论文指出,仅使用两个参数的逻辑回归模型,可以达到与深度学习方法相同的预测能力。机器学习是个好工具,但在使用它们的时候,需要充分了解它的特性、使用方法和局限性,而不是一味地套用,简单粗暴地进行数据拟合。目前机器学习还处在技术曲线的顶峰,等到热潮褪去,才能知道谁是真正的干货。新闻报道:https://www.surrey.ac.uk/news/new-ai-neural-network-approach-detects-heart-failure-single-heartbeat-100-accuracyhttps://www.forbes.com/sites/nicholasfearn/2019/09/12/artificial-intelligence-detects-heart-failure-from-one-heartbeat-with-100-accuracy/#228e5a067ac9论文地址:https://www.sciencedirect.com/science/article/pii/S1746809419301776完—为您推荐

从6万用户评论中,选出23门全世界最好的CS免费课

GRE作文用AI打分,已经20周年了:AI给中国考生的分数,远高于人类打分

这位90后学霸,即将任教麻省理工南京大学「自然指数」超越清华北大,位列全国高校第一、世界第七,突显学术实力【微软】AI-神经网络基本原理简明教程

测试集准确率不变_这个医疗AI准确率突破天际,招来了铺天盖地的质疑相关推荐

  1. 这个医疗AI准确率突破天际,招来了铺天盖地的质疑

    栗子 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要输入一次心跳的波谱. 就能判断一个人有没有发生心力衰竭 (CHF) ,准确率100%. 这是英国华威大学领衔的团队,用机器学习方法 ...

  2. python画结节图像_天池医疗AI大赛[第一季]:肺部结节U-Net图像分割

    Deep Learning Tutorial for Pulmonary Nodules Segmentation, using Keras 天池医疗AI大赛[第一季]:U-Net训练基于卷积神经网络 ...

  3. 腾讯医疗AI新突破:提出器官神经网络,全自动辅助头颈放疗规划 | 论文

    来源:量子位 腾讯医疗AI实验室又有新研究. 这次跟美国加州大学合作,在国际权威期刊<Medical Physics>发表最新研究成果: <器官神经网络:深度学习用于快速和全自动整体 ...

  4. 五、在测试集上评估图像分类算法精度(Datawhale组队学习)

    文章目录 配置环境 准备图像分类数据集和模型文件 测试集图像分类预测结果 表格A-测试集图像路径及标注 表格B-测试集每张图像的图像分类预测结果,以及各类别置信度 可视化测试集中被误判的图像 测试集总 ...

  5. 疫情过后,对医疗AI行业带来的机遇

    2020年本是医疗AI行业重新"洗牌"之年,相关企业将迎来最残酷的竞争.而疫情的爆发,体现了AI在逐渐取代人的部分机械劳动,能辅助医师对疾病进行快速诊断,提高诊疗效率.疫情过后,医 ...

  6. 训练集山准确率高测试集上准确率很低_拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 深度神经网络(DNN)如今已经无处不在,从下围棋到打星际,DNN已经渗透到图像识别.图像分割.机器翻译等各种领域,并且总是表现惊艳. 然而, ...

  7. 训练集山准确率高测试集上准确率很低_推荐算法改版前的AB测试

    编辑导语:所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西:如今很多软件都有这样的操作,对于此系统的设计也会进行测试:本文作者分享了关于推荐算法改版前的AB测试,我们一起 ...

  8. 谷歌医疗AI又有新进展:转移性乳腺癌检测准确率达99%

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI Google AI大战乳腺癌,现在进入2.0时代. 在最新公布的进展中,Google深度学习算法在转移性乳腺癌的检测精度测试中,准确率达到 ...

  9. 【深度学习】Pytorch实现CIFAR10图像分类任务测试集准确率达95%

    文章目录 前言 CIFAR10简介 Backbone选择 训练+测试 训练环境及超参设置 完整代码 部分测试结果 完整工程文件 Reference 前言 分享一下本人去年入门深度学习时,在CIFAR1 ...

最新文章

  1. 041_Popover弹出框
  2. php header 不起作用,php – symfony:setHttpHeader()不起作用,header()没有
  3. DataList之数据操作
  4. php按城市显示搜索结果,搜索结果页(通过数据库搜索)
  5. [HTTP] Cookie
  6. 前端怎么画三角形_WEB前端-CSS三角形绘制方法
  7. 求1 2 3 java_求1+2+3+...+n,Java代码实现
  8. SQL之间,MySQL在日期之间,而不是之间
  9. 怎么把kux格式转换成mp4?完美转换优酷kux格式
  10. 障碍期权定价 python_python障碍式期权定价公式
  11. 程序查询方式、程序中断方式和DMA方式
  12. 《领导力与沟通艺术》
  13. 什么是beacons - 在Web Analytics中的应用(网站分析的灯塔)
  14. APPSCAN的使用
  15. 重量级锁和轻量级锁(自旋锁)
  16. 隔离电源和非隔离电源的区别,
  17. 利用正则表达式来验证邮箱
  18. oracle找回删除过的数据吗,oracle数据库中找回删除且已提交的数据
  19. 自动登录XP其实很轻松
  20. Python趋势自动化描述最终(最新)

热门文章

  1. 米线店结账程序 装饰着模式_实验报告2_装饰者模式
  2. haproxy配置代理tomcat和nginx_你真的掌握LVS、Nginx及HAProxy工作原理吗?
  3. matlab指定间隔符,在matlab中为.dat文件指定小数分隔符[复制]
  4. 91.91p10.space v.php,luogu P1091 合唱队形
  5. mysql主从维护_mysql主从日常管理维护
  6. 论赵泽彬多终端应⽤下的架构设计
  7. html字符实体标签语法,HTML字符实体与文本格式化标签
  8. matlab三维选取二维,基于Matlab绘制二维和三维图形以及其他图形控制函数的使用方法...
  9. python图标icon_用Python提取exe图标icon
  10. linux安装程序过程,linux 应用程序安装过程