机器学习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
______________________________________
欢迎分享
转载需注明“来自‘科技小羊’公众号”
欢迎在科技小羊公号平台微信留言
重要声明:
科技小羊平台提供的信息仅代表个人观点,仅供参考,不承担任何法律责任。科技小羊挑选文章中的内容不能替代专业医生和医务人员的建议,若采纳,请读者自行承担后果和风险。
- 可能是地球上最好用的 Mac 词典工具
- 经典Java面试题收集
- alert日志中的一条ora警告信息的分析(59天)
- golang 详解defer
- 猫哥网络编程系列:HTTP PEM 万能调试法
- 分析函数牛刀小试 (59天)
- 猫哥网络编程系列:详解 BAT 面试题
- SpringMVC中@RequestBody引起的400异常处理,返回校验失败具体信息
- 关于primary key和unique index的奇怪问题 (58天)
- 在centos7上安装Jenkins
- Spring resource bundle多语言,单引号format异常
- String的内存模型,为什么String被设计成不可变的
- Ubuntu安装Java8和Java9
- session跟踪失效的问题和分析(57天)
- 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 数组属性和方法
- Android保存联系人到通讯录的方法
- Android学习之本地广播使用方法详解
- Android编程获取图片数据的方法详解
- Android垂直滚动控件ScrollView使用方法详解
- Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】
- Android ExpandableRecyclerView使用方法详解
- Android开发之SD卡文件操作分析
- Android学习之Broadcast的简单使用
- Android 仿微信自定义数字键盘的实现代码
- RN在Android打包发布App(详解)
- Android开发之使用SQLite存储数据的方法分析
- Android进度条控件progressbar使用方法详解
- Android自定义view利用Xfermode实现动态文字加载动画
- Android自定义控件实现下拉刷新效果
- Android实现文件解压带进度条功能