机器学习VS放射科医生
编译:张小阳博士
斯坦福大学的研究人员开发出一种机器学习的算法,CheXnet。它能比放射科医生更好地利用胸部X片诊断肺炎,而且在短短一个月内就完成了超越。
实现超越的是斯坦福大学兼职教授吴安竹领导的机器学习小组,他们在9月26日国立卫生研究院NIH发布数据后受到启发,开始接受挑战。
NIH的数据集包括112,120张胸部X光片、14种可能的诊断,和一些初级算法。 吴教授请四名斯坦福放射科医师对420张片子进行注释,标明可疑的肺炎迹象。他们之所以选择肺炎,是因为这种病特别难用X光确诊,但每年大约有100万美国人患病。
在一周内,研究人员开发出名为CheXnet的算法。它能比之前的算法更准确地从原始数据中发现14种病理学中的10种病理。经过大约一个月的培训之后,研究小组发表文章称14种病理都被攻克。确切的说,CheXnet比四位放射科医师能更准确地诊断肺炎。
科学家从敏感性角度考察CheXnet的表现,也就是说,它是否能正确识别现有的肺炎病例,以及如何避免误报。 你猜怎么样?虽然四名放射科医生各有千秋,但是,CheXnet的表现比他们都厉害。
斯坦福大学图
420张X光片的测试结果显示,ChexNet在灵敏度(正确识别阳性)和特异性(正确识别阴性)方面优于四名放射科医师。个体放射科医师用橙色X表示,他们的平均表现用绿色X表示,ChexNet的表现用蓝色曲线表示。
机器学习的算法还能根据X光片生成热图。利用颜色标明最可能患有肺炎的区域,这可以极大地辅助放射科医生进行诊断。
斯坦福大学图
我太激动了。我希望斯坦福大学的所有放射科医师都能马上接受这项技术,因为我对这种技术能带来的好处深有体会。
去年十二月,我十八岁的儿子到斯坦福急诊室就诊。他发着高烧并咳嗽。 医生怀疑他感染肺炎,所以安排了X光胸片检查。 但片子结果被认为是阴性的,所以儿子在医院输液后,领了一些发烧药,就回家了。
一周后,他再次回到急诊室。这次,他感到晕眩,体温比上次就诊时还要高,而且他对退烧药没有反应。但是,他的胸部X光片仍然为阴性。医生进行了所有可以想到的疾病测试,但还是没能确认病因。所以,儿子在再次输液后,又被放回了家。
两天之后,我们接到放射科的电话,周末的X光检查结果已改为肺炎。这是一个放射科医生错过了两次的诊断。确诊之后,抗生素在24小时内立即发挥功效。
下一次,如果我再带孩子去医院急诊室,我会直接要求咨询CheXnet。
文献:
Perry, “Stanford algorithm can diagnose Pneumonia better than radiologists.”IEEE Spectrum, November17 2017, spectrum.ieee.org/the-human-os/biomedical/diagnostics/stanford-algorithm-can-diagnose-pneumonia-better-than-radiologists
______________________________________
欢迎分享
转载需注明“来自‘科技小羊’公众号”
欢迎在科技小羊公号平台微信留言
重要声明:
科技小羊平台提供的信息仅代表个人观点,仅供参考,不承担任何法律责任。科技小羊挑选文章中的内容不能替代专业医生和医务人员的建议,若采纳,请读者自行承担后果和风险。
- go语言base64加密解密的方法
- Go语言轻量级线程Goroutine用法实例
- Go语言的队列和堆栈实现方法
- Go语言使用sort包对任意类型元素的集合进行排序的方法
- TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现
- [go语言]吐槽:怎么样实现支持并发访问的数据集合更好?
- 利用缓冲信道来实现网游帐号验证消息的分发和等待
- Buffered channel、slice和mutex的简单性能测试
- 原子读写性能简单测试
- 从小白变RSA大神,附常用工具使用方法及CTF中RSA典型例题
- select多路选择的模拟实现
- 初学者需要注意的问题-变量的作用域
- 在 Go 语言中,正确的使用并发
- Injectify:一款执行MiTM攻击的工具
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记
- AnimatedList 介绍及使用
- Flutter之SliverAppBar
- OpenGL ES 环境搭建
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
- docker-compose 安装jenkins的正确姿势 实践笔记
- windows安装nginx注册为服务的正确姿势 并设置开机自启 实践笔记
- windows navicat连接oracle11G 自用 实践笔记
- docker安装官方redis集群并集群连接测试 的正确姿势 自用 实践笔记
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装
- Centos7安装轻量级TCP转发工具rinetd注册为服务的正确姿势 并设置开机自启 实践笔记 自用
- Connection open error . Connection Timeout Expired. The timeout period elapsed during the post-login
- macbook-12-2015款 安装win10系统 自用 实践笔记
- OpenGL ES 之attribute