2023华为杯数学建模竞赛E题

一、前言

颅内出血(ICH)是由多种原因引起的颅腔内出血性疾病,既包括自发性出血,又包括创伤导致的继发性出血,诊断与治疗涉及神经外科、神经内科、重症医学科、康复科等多个学科,是临床医师面临的重要挑战。如何从疾病纷繁复杂的临床表现、体征以及辅助检查中寻找规律,进而认识疾病,是临床医师关注的问题。近年来,以深度学习(deeplearning)为代表的人工智能(AI)技术的进步,为我们提供了认识疾病的新方法。本文通过简单梳理人工智能术语,回顾既往相关研究,希望能够帮助临床医师更深入理解人工智能在颅内出血诊断与治疗中的作用。“人工智能”的概念于 20 世纪 50 年代提出,系指在理解智能(如学习、推理、思考、规划等)的基础上,通过人工方法实现的智能[1]。经典的人工智能主要借助各种算法学习数据中的规律,尤其是分类规律,主要方法是机器学习(ML)。经典算法往往不进行特征变换,或者仅进行一次特征变换或选择,即浅层学习方法,包括用于分类的线性判别分析(LDA)、决策树(DT)、支持向量机(SVM)和朴素贝叶斯(NB),以及K最近邻(KNN)、Logistic回归分析等,每种算法各有其局限性。为了克服经典算法的缺点,计算机学家提出基于对特征多次变换的深度学习方法,并成为近年来机器学习的热点。深度学习的基础是人工神经网络(ANN,以下简称神经网络),通过多层神经网络,借助反向传播(BP)算法,建立不同的网络结构,包括自编码机和受限波耳兹曼机(RBM)、卷积神经网络(CNN)、递归神经网络(RNN)等[2]。临床医师很早就希望借助人工智能技术提高颅内出血的诊断与治疗水平。早在CT尚未大学普及的20世纪80年代,美国罗彻斯特大学医学院的Panzer等[3]即报告了一种计算机辅助决策系统,通过患者的临床症状与体征辅助诊断脑出血,借助线性判别分析和朴素贝叶斯理论,以头部CT平扫作为诊断脑出血的“金标准”,其诊断准确
率仅为5% ~ 67%。1995年,Phillips等[4]研发一种自动分割脑胶质母细胞瘤瘤内出血的算法,基于1例脑胶质瘤患者的头部MRI图像,借助无监督的模糊C⁃均值(FCM)聚类算法,以影像学和病理学作为“金标准”,实现了血肿的自动分割。1998年,Zernikow等[5]报告了一种利用临床信息预测早产儿脑室内出血的模型,借助神经网络算法,最终该模型在验证集中的受试者工作特征曲线(ROC)曲线下面积(AUC)为0.94,优于借助Logistic回归分析构建的模型(AUC值0.88)。次年,Edwards等[6]对神经网络算法在颅内出血预后方面的应用进行探讨,该项研究共纳入81例幕上出血患者,由于未设置验证集和测试集,故仅报告其在训练集中的死亡预测准确率为 100%,优于 Logistic 回归分析的 79%。虽然以现有标准看,上述研究方法存在种种问题,结果也不尽如人意,但早在20世纪末,研究者即已展现出人工智能应用于颅内出血的几个重要方向,即临床决策支持体系(诊断、治疗、预后)和神经影像学分析,同时也展示出神经网络算法的潜力。

二、人工智能在颅内出血诊断中的应用

迄今已有多项研究借助机器学习方法,自动识别 各 类 神 经 影 像 中 的 颅 内 出 血 。 2018 年 Chilamkurthy 等[7]在 Lancet 发表了一种新算法并取得较为准确的结果,该算法可以判断5种不同类型的颅内出血,同时识别颅骨骨折和中线偏移,纳入20 个医疗中心 313 318 例颅内出血患者的头部 CT图像,随机选择23 263例作为验证集,余290 055例作为训练集,同时另收集491例颅内出血患者的头部CT图像作为测试集。该模型采用深度学习方法,以3位放射科医师的独立判断作为诊断标准,最终该算法在验证集中诊断颅内出血、脑出血、破入脑室、硬膜下出血、硬膜外出血和蛛网膜下腔出血的ROC 曲线 AUC 值分别为 0.92、0.90、0.96、0.92、0.93和 0.90,在测试集中的 AUC 值分别为 0.94、0.95、0.93、0.95、0.97 和 0.96;该算法诊断颅骨骨折、中线偏移和占位效应的效果也较好,其在验证集中的AUC值分别为0.92、0.93和0.86,在测试集中AUC值分别为0.96、0.97和0.92[7]。此后,不断有学者尝试通过改良算法以提高训练效率。2019年,Ye等[8]尝试新的深度学习构架,借助三维卷积神经网络串联递归神经网络的结构,通过更少的头部CT平扫图像(1836 例脑出血和 1000 例正常对照)获得了与Chilamkurthy等[7]相似的结果,该算法在验证集中诊断脑出血的ROC曲线AUC值 ≥ 0.98,判断5种脑出血亚型的AUC值 > 0.80,并且证实该算法优于正在接受培训的低年资放射科医师的人工诊断。同年,Ker 等 [9]则 尝 试 通 过 对 CT 图 像 进 行 阈 值 转 换(thresholding)的预处理以提高卷积神经网络算法的训练效率,仅通过399例患者的头部CT平扫图像即将判断颅内出血的 F1 评分从 0.71 ~ 0.90 提高至0.93 ~ 0.95。此外,还有学者不断探索更接近真实世界的算法。2017 年,Prevedello 等[10]展示了一种在多种颅内病变的情况下判断颅内出血的算法,纳入100 例包括脑出血、颅内占位性病变和脑积水的颅内病变,22例急性缺血性卒中和124例正常对照,基于头部CT平扫图像,借助卷积神经网络算法,分别以脑组织窗和卒中窗进行训练,最终该算法在测试集中诊断颅内病变的脑组织窗ROC曲线AUC值为0.91,卒中窗 AUC 值为 0.81。2016 年,Qi 等[11]构建了自动识别脑微出血(CBMs)模型,共320例脑微出血患者的头部 MRI 图像借助串联三维卷积神经网络算法,最终诊断灵敏度达93%。

三、人工智能在颅内血肿分割中的应用

颅内出血的出血量、出血部位和出血时间是影响治疗决策和预后的重要因素,能否准确在图像上分割血肿是采用人工智能技术进行更深入分析的第一步。目前有多项研究探索了多种自动分割方法,但尚未取得突破性进展。此类研究主要以影像学专家手动分割血肿作为评价算法分割的“金标准”。2018年,Chang等[15]报告一种可以大致识别头部 CT 图 像 出 血 部 位 的 算 法 ,借 助 边 框 回 归(bounding boxes regression)方 法 ,以 基 于 兴 趣 区(ROI)的混合三维和(或)二维模板评估血肿,再借助卷积神经网络算法进行深度学习,以10 159例颅内出血患者的头部CT平扫图像为训练集,最终该算法在测试集中诊断颅内出血的ROC曲线AUC值为0.98,识别脑出血、硬膜下出血和(或)硬膜外出血、蛛网膜下腔出血的Dice值分别为0.93、0.86和0.77,但该算法无法自动标记血肿边界和计算血肿量。2016 年,德国海德堡大学附属医院 Scherer 等[16]在Stroke发表了一种算法,可以直接分割头部CT平扫图像中的血肿,纳入的58例脑出血患者包括训练集28例、验证集30例,基于体素的随机森林法,由两位研究者分别独立手工分割血肿、脑组织和蛛网膜下腔出血,最终在验证集中该算法与手动分割的一致性相关系数(CCC)为 0.99,与多田公式的一致性相关系数为0.82,虽然多田公式计算的血肿体积明显大于手动分割,但三者之间差异无统计学意义。2019 年,Cho 等[17]通过新的深度学习框架,报告一种可以更精准识别、自动分割血肿的算法,借助卷积神经网络和全卷积网络(FCN),对135 974例颅内出血患者头部CT平扫图像脑组织窗和卒中窗进行自动分割,最终通过串联2个卷积神经网络和1 个全卷积网络可以提高分割效果,使分割准确率达80%、回归率达 82%。亦有学者尝试通过头部 MRI图像提高分割的准确性,Morrison 等[18]描述了一种半自动分割脑微出血的算法,通过自动分割血肿并经人工纠正,最终在测试集中该算法与手工分割的一致性相关系数达0.97。

四、人工智能在预测颅内出血进展中的应用

颅内出血后血肿扩大、继发缺血性卒中等亦是临床医师关注的问题,目前其相关研究较少。Tan等[19]探索一种以“斑点征”为基础、自动预测血肿进展的算法,该研究纳入42例脑出血患者,基于双源CT增强图像,借助朴素贝叶斯理论进行机器学习,自动识别对比剂外渗等特点,最终发现两种影像学特征(血肿内总碘含量和血肿最亮处局部碘含量)并建立新的评分系统,该算法在测试集中的灵敏度和特异度均高于人工识别。Tanioka等[20]报告一种预测颅内出血后迟发性缺血性卒中模型,分析95例动脉瘤性蛛网膜下腔出血(aSAH)患者12项临床变量和血清细胞基质蛋白(MCPs)表达变化,借助随机森林法构建预测模型,最终预测准确度达 95%,该算法的重要影响因素是3种细胞基质蛋白表达水平和颅内动脉瘤位置。Ramos 等[21]结合临床变量与头部CT平扫图像构建预测缺血性卒中的模型,借助最小冗余最大相关性(mRMR)、支持向量机和偏最小二乘回归进行机器学习,发现317例动脉瘤性蛛网膜下腔出血患者包含 CT 平扫图像信息的模型ROC曲线AUC值为0.74,高于仅依靠临床信息构建的模型(AUC 值为 0.68)。Park 等[22]采用与 Ramos等[21]相似的算法,通过结合临床信息与生命体征等项指标,最终在验证集中该算法的ROC曲线AUC值为0.77。机器学习方法亦应用于预测微小动脉瘤的破裂风险,Kim 等[23]采用三维数字减影血管造影术(3D⁃DSA)自动识别动脉瘤并构建预测模型,共纳入368例微小动脉瘤患者,借助卷积神经网络算法,最终该模型在测试集中预测微小动脉瘤破裂的准确率达77%


五、人工智能在预测颅内出血预后中的应用

一直以来,预测颅内出血的转归是临床医师关注的问题,已通过传统的分析方法构建出一些可预测预后的评分、量表,随着人工智能技术的发展,使得处理大量临床数据、构建出更准确的模型成为可能。Gupta等[24]构建了脑出血结局模型(ICHOP)以预测出院后 3 和 12 个月改良 Rankin 量表(mRS)评分,采集575例脑出血患者逾200项变量,根据随机森林法筛选相关因素并以线性回归构建预测模型,其预测出院后 3 和 12 个月 mRS 评分的 ROC 曲线AUC值分别为0.89和0.87,优于传统的脑出血评分(AUC 值为 0.84 和 0.81)。Zafar 等[25]展示其预测动脉瘤性蛛网膜下腔出血患者 Glasgow 预后分级(GOS)模型,共纳入153例患者计473项变量,包括临床特点、生理参数等,采用Logistic回归分析和多元多水平方法构建预测模型,该模型预测死亡和独立生活的 ROC 曲线 AUC 值分别为 0.92 和 0.95。Rohaut 等[26]报告了预测脑出血患者短期意识恢复的模型,纳入的 158 例脑出血患者中 105 例意识良好、53例意识丧失,采集所有受试者的头部MRI 图像,通过弹性网络的 Logistic 回归分析构建预测模型,其预测脱离重症监护病房时意识状况的ROC曲线AUC值为0.74,通过MRI图像判断行MRI扫描时意识状况的AUC值亦为0.74。


六、部分参考文献

[1]    Wang RZ, Feng M, Liu XH. Applying artificial intelligence technology promote the development of neurosurgery[J]. Zhongguo
[2]    Wei Qin Xi Shen Jing Wai Ke Za Zhi, 2018, 23:241⁃243[. 王任直,冯铭, 刘小海. 利用人工智能技术促进神经外科学科发展[J]. 中国微侵袭神经外科杂志, 2018, 23:241⁃243.]
[3]    Hu Y, Luo DY, Hua K, Lu HM, Zhang XG. Overview on deeplearning[J]. Zhi Neng Xi Tong Xue Bao, 2019, 14:1⁃19[. 胡越, 罗东阳, 花奎, 路海明, 张学工. 关于深度学习的综述与讨论[J].智能系统学报, 2019, 14:1⁃19.]
[4]    Panzer RJ, Feibel JH, Barker WH, Griner PF. Predicting the likelihood of hemorrhage in patients with stroke[J]. Arch Intern Med, 1985, 145:1800⁃1803.
[5]    Phillips WE 2nd, Velthuizen RP, Phuphanich S, Hall LO, Clarke LP, Silbiger ML. Application of fuzzy C ⁃ means segmentation technique for tissue differentiation in MR images of a hemorrhagic glioblastoma multiforme[J]. Magn Reson Imaging, 1995, 13:277⁃290.
[6]    Zernikow B, Holtmannspoetter K, Michel E, Theilhaber M,Pielemeier W, Hennecke KH. Artificial neural network for predicting intracranial haemorrhage in preterm neonates[J]. Acta Paediatr, 1998, 87:969⁃975.
[7]    Edwards DF, Hollingsworth H, Zazulia AR, Diringer MN. Artificial neural networks improve the prediction of mortality inintracerebralhemorrhage[J]. Neurology, 1999, 53:351⁃357.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

只需4步使用Redis缓存优化Node.js应用

介绍 通过API获取数据时,会向服务器发出网络请求,收到响应数据。但是,此过程可能非常耗时,并且可能会导致程序响应时间变慢。 我们使用缓存来解决这个问题,客户端程序首先向API发送请求,将返回的数据存储…

【CANoe/CANalyzer脚本】通过CAPL发送NM帧报文测试网络管理

优质博文推荐阅读(单击下方链接,即可跳转): Vector工具链 CAN Matrix DBC CAN Matrix Arxml 一、在CANoe/CANalyzer中创建Program Node 在Measurement Setup中,创建Program Node; 接着导入下面的Demo:N…

go 语言 负载均衡 为反向代理添加负载均衡 拓展ReverseProxy

随机负载 package randomimport ("errors""math/rand" )type RandomBalance struct {//当前索引curIndex int//存储负载均衡的地址rss []string//观察主体//conf LoadBalanceConf }func (r *RandomBalance) Add(params ...string) error {if len(params) …

什么是WhatsApp群发,WhatsApp协议,WhatsApp云控

那么WhatsApp群控云控可以做什么呢? 1、获客 自动化引流,强大的可控性,产品快速拓客 2、导流 一键式傻瓜化自动加好友,群发,朋友圈营销 3、群控 一键式拉群好友,建群,进群 …

Android 12修改usb tp触摸唤醒

前言 Android 12系统休眠时,需要不管接什么型号usb tp都能够触摸唤醒。 Android12系统中,usb tp要能够触摸唤醒,需要在frameworks/native/services/inputflinger/reader/mapper/TouchInputMapper.cpp中将mParameters.wake赋值为true&#xff…

Spring Boot2.7生成用于登录的图片验证码

先在 pom.xml 注入依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version> </dependency>然后 需要在配置文件中声明一下DefaultKaptcha 的 bean对象 然后 我们…

Python之网络编程

一、网络编程 互联网时代,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 网络编程就是如何在程序中实现两台计算机的通信。 Python语言中,提供了大量的内置模块和第三方模块用于支持各种网络访问,而且Python语言在网络通信方面的优点特别突出,远远领先其他语…

解决MySQL8.0本地计算机上的MySQL服务启动后停止没有报告任何错误

1.启动MySQL的错误信息如下 &#xff08;1&#xff09;“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。” &#xff08;2&#xff09;又在PowerShell中运行"net start MySQL"&#xff0c;服务启动失败。“MySQL 服务无法启…

数据分享|R语言生态学种群空间点格局分析:聚类泊松点过程对植物、蚂蚁巢穴分布数据可视化...

全文链接 :https://tecdat.cn/?p33676 点模式分析&#xff08;点格局分析&#xff09;是一组用于分析空间点数据的技术。在生态学中&#xff0c;这种类型的分析可能在客户的几个情境下出现&#xff0c;但对数据生成方式做出了特定的假设&#xff0c;因此让我们首先看看哪些生态…

【LeetCode】——双指针(快慢指针)/多指针

个人主页 代码仓库 C语言专栏 初阶数据结构专栏 Linux专栏 前言 大家好&#xff01;这是新开的LeetCode刷题专栏&#xff0c;这个专栏不只是随便的拿一些我练过的题讲解&#xff0c;而是总结我在刷题中的一些方法适用于一大类的题&#xff0c;是给大家提供这一大类题的解题…

爬虫使用Selenium生成Cookie

在爬虫的世界中&#xff0c;有时候我们需要模拟登录来获取特定网站的数据&#xff0c;而使用Selenium登录并生成Cookie是一种常见且有效的方法。本文将为你介绍如何使用Selenium进行登录&#xff0c;并生成Cookie以便后续的爬取操作。让我们一起探索吧&#xff01; 一、Seleni…

深度学习自学笔记一:神经网络和深度学习

神经网络是一种模拟人脑神经元之间相互连接的计算模型&#xff0c;它由多个节点&#xff08;或称为神经元&#xff09;组成&#xff0c;并通过调整节点之间的连接权重来学习和处理数据。深度学习则是指利用深层次的神经网络进行学习和建模的机器学习方法。 假设有一个数据集&a…

企业架构LNMP学习笔记53

PHP扩展安装&#xff1a; server01和server03上安装redis扩展&#xff1a; 解压编译安装&#xff1a; shell > tar xvf redis-4.3.0.tgz shell > cd redis-4.3.0 shell > phpize shell > ./configure && make && make install 配置文件php.ini&…

HTML5day02综合案例2

案例展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>注册信息</title> </head> &l…

记一次MySQL安装过程中遇到的问题

由于太久没用MySQL&#xff0c;今天在重装MySQL时遇到一个问题&#xff0c;被卡了近2个小时。。。。。。 由于我本人原先安装过MySQL&#xff0c;所以在重装的时候必须要先卸载原先的MySQL。 下面先给出正确的卸载流程&#xff08;作者就是在卸载的时候操作失误导致安装过程被…

使用python处理MNIST数据集

文章目录 一. MNIST数据集1.1 什么是MNIST数据集1.2MNIST数据集文件格式1.3使用python访问MNIST数据集文件内容 附录程序源码 一. MNIST数据集 1.1 什么是MNIST数据集 MNIST数据集是入门机器学习/识别模式的最经典数据集之一。最早于1998年Yan Lecun在论文:[Gradient-based l…

MyBatis基础之SqlSession

SqlSession 线程安全问题 当你翻看 SqlSession 的源码时&#xff0c;你会发现它只是一个接口。我们通过 MyBatis 操作数据库&#xff0c;实际上就是通过 SqlSession 获取一个 JDBC 链接&#xff0c;然后操作数据库。 SqlSession 接口有 3 个实现类&#xff1a; #实现类1Defa…

【Verilog语法】比较不同计数器的运算方式,其中有一个数是延迟打一拍的效果,目的是使得两个计数器的结果相同。

比较不同计数器的运算方式&#xff0c;其中有一个数是延迟打一拍的效果&#xff0c;目的是使得两个计数器的结果相同。 1&#xff0c;第一种2&#xff0c;第二种3&#xff0c;第三种 第三种方案&#xff0c;完成实现。 1&#xff0c;第一种 &#xff08;1&#xff09;RTL modu…

索引(含B树、B+树)

1、索引&#xff08;index&#xff09; 索引是在数据库表的字段上添加的&#xff0c;是为了提高查询效率存在的一种机制。 一张表的一个字段可以添加一个索引&#xff0c;当然&#xff0c;多个字段联合起来也可以添加索引。 索引相当于一本书的目录&#xff0c;是为了缩小扫描…