白旭飞
摘要 本文针对现有糖尿病并发症分类研究以统计为主,缺乏有效数学模型的问题,提出了基于深度卷积神经网络的糖尿病并发症分类模型。首先进行数据预处理,将糖尿病数据进行降维和向量化;其次采用深度卷积神经网络对并发症进行分类,并与SVM、决策树、BP神经网络等经典方法进行了对比。实验结果表明,本文提出的基于深度卷积网络的糖尿病并发症分类模型准确性高于其它模型,能够为糖尿病并发症提供有效地辅助诊断。
【关键词】深度学习 卷积神经网络 糖尿病并发症分类
我国慢性病患者人数居世界首位,尤其是糖尿病及并发症发展迅速,已成为严重的公共健康问题,因此亟需糖尿病及并发症相关研究模型。传统模型大多是基于概率的统计模型,该类模型通过概率统计方法,来定性分析糖尿病及并发症,具有操作简单、泛化性差、自更新能力弱等问题。
近年来,多层次多样化医疗服务加快了信息化和医疗行业融合进程,改变了医学行业的传统研究方式,催生出大量新型技术,来分析糖尿病的发病趋势及其并发症的分类研究等。KadiI等人[7]通过详细对比2000年至2015年的149篇相关文献,表明神经网络和支持向量机模型能够获得更高的准确性,论证了神经网络在医疗辅助分析中的有效性。刘明等人[8]通过卷积神经网络对T波的候选段进行分类,由于卷积神经网络有稀疏连接、权值共享的特性,并且对微小平移具备不变性且对噪声不敏感,有效解决了T波形态分类问题,实现了从侧面诊断心肌缺血症状。王丽苹等人[9]设计构建了一个统计分类和个体时间序列相结合的混合模型(ECG-MTHC),实验表明,该方法在等样本量下可改善分类结果。
本文在深入研究深度学习模型的基础上,提出一种基于卷积神经网络的糖尿病并发症分类模型,通过神经网络自主学习糖尿病并发症的特征,大大提高了并发症识别的准确性。为提高鲁棒性、减少过拟合,本文采用交叉验证的方式训练网络,并采用softmax分类。在进行分类时本文选择了肾病(10.52%)、高血压(8.67%)、冠心病(8.30%)、糖尿病酮症(4.43%)和其它等5个选项进行分类。首先通过收集构建糖尿病并发症相关数据集合,并对数据集合进行扩展和预处理,然后构建合适的卷积神经网络框架结构并调整网络各个参数,最后将训练好的卷积神经网络应用于糖尿病并发症分类中。
1 数据预处理
经过数据预处理,可以改正错误数据,补充缺失数据,统一数据的格式,去除冗余的数据,最终将数据的类型统一起来,通过精炼数据的信息内容,让数据的格式一致和集中存储。该过程不仅让数据的学习成为可能,并且让数据的规律更清晰从而减少数据学习时所需要的成本。本文中,数据预处理主要解决如下三个问题:
1.1 数据定性和并发症选择
不同因素之间的量纲往往不同。比如镁(mmol/L)和尿蛋白定性试验(mg/dl)的单位差距极大。因此为解决量纲问题,本文参考联合国世界卫生组织糖尿病血糖诊断标准、中国国家统计局《中国成人血脂异常防治指南》等标准,并结合部分医院建议对先将数据进行了定性判断(以甘油三酯为例,甘油三脂低:低于0.45、甘油三酯正常:0.45-1.69mmol/L、甘油三酯高:高于1.69)。通过该方法,可以在数据大小关系的情况下,将有量纲的值转换为无量纲的值,方便不同量纲之间的比较和运算。
由于糖尿病并发症众多,选择哪些并发症作为模型的分类将决定研究的价值所在。本文采用统计的方式,对于多种并发症的确定,直接来源于数据中的“诊断”项。经过统计,发现并发症多集中于前五(占34.90%),因此本文中并发症选择了肾病(10.52%)、高血压(8.67%)、冠心病(8.30%)、糖尿病酮症(4.43%)四个相关并发症以及其它症状,进行下一步研究。
1.2 糖尿病数据的降维处理
由于高维数据会提高机器学习的时间复杂度,为提高神经网络的学习效率,需要对糖尿病数据进行降維处理,目前较普遍的方法为消去数据冗余属性。但是糖尿病并发症的多个因素之间往往具有一定的相关性,因此采用主成分因素分析,删除因素中紧密相关的冗余项,在保持因素信息不变的情况下减少因素数量,降低模型复杂度。再经过KMO和Bartlett球形检验,生化和尿常规的KMO值均大于50%,且Bartlett球形检验小于40%,适合进行因子分析。通过计算累计解释总方差,得到合适的分组项。随着因素的增加,累计解释总方差不断增加,一般取85%以上较为合适。因此这里分别选择11项生化和10项尿常规因素,它们的解释总方差分别为85.795%和88.767%。
1.3 数据向量化
由于卷积神经网络模型的特殊性,单条记录作为输入值进行计算会大大降低网络速度。本文选择将单条记录作为一条行向量,将多条行向量组合成矩阵输入进神经网络中。上一步的降维处理解决了数据依赖性和冗余性的问题,所以本文的数据可以直接变为矩阵,在变换时将数据中“正常范围”的数据设为“0”,偏高值设为“1”,偏低值设为“-1”,以此类推通过一系列变换,可以得到对应的疾病模型的矩阵。由于这些数据之间的无关性,矩阵中列之间交换并不影响结果,因此列变换后的结果也应该充分考虑。理论上n列矩阵应该有n!的排列方式,由于这些排列数据量太大,因此选择10-11种可能性进行排列并统一为一个矩阵,从而减少计算次数。
本文中,由于通过降维处理解决了数据的依赖问题,每个数据只拥有两个编码规则:
1.3.1 属性编码
即每个独立的样本中含有的属性的数量,表示为x=[x1,x2,...,xn],其中xi表示该样本中第i个属性,n为预设的属性数量(即列长度)。
1.3.2 位置编码
由于卷积时,属性的位置不同,其卷积会出现差异性,因此这里采用位置编码的方式。举例来说,样本1和样本2都拥有相同的两个属性“性别”和“年龄”,样本1两属性相邻则记录他们的距离d为1,样本2相隔两个属性则他们的距离d为3。具体地,每个属性xi与其他属性的距离,在位置编码中以向量形式存在。
对于某一个属性xi,其值有属性分量ei和距离分量di,则可以表示为:xi=[ei+di]T,同理其样本表示为:x=[x1,x2,...,xn]
数据预处理的整体过程如图1所示。
经过数据预处理,将机器难以理解的糖尿病数据转变为卷积神经网络善于处理的数据形式(512*512的矩阵)。从而为下一步卷积神经网络的建立奠定基础。
2 基于深度卷积网络的糖尿病并发症分类模型
卷积神经网络模型由Lecun Yan在1989年提出,经过十多年的发展已成为一种经典而广泛应用的网络结构,其局部连接、权值共享和池化特性对于网络的简化和模型的容错能力有较大的帮助。其基本结构包括:输入层、卷积层、池化层、全连接层和输出层构成。一般来说,对于卷积神经网络会有一个卷积层和一个池化层交替设置。其中输入层是将数据输入的结构;卷积层由多个特征面组成,每个特征面由多个神经元组成,卷积层作用为提取特征,其卷积运算可以看作小矩阵(卷积核)在大的矩阵上连续滑动,并进行成乘法或者加法的运算,这种运算包括了目标矩阵之间的空间关系;池化层同样由多个特征面组成,是将已经卷积运算的矩阵通过聚合处理,降低维度,其主要有两种不同的操作:最大池化和平均池化。全连接层则是将之前的所以特征进行总结的结构,并映射到样本空间中,其公式为y=Wx+b,其中W为权重,b为偏执量;输出层一般为Softmax分类器,其
该过程将数据映射到(0,1)空间中,并且这些值的概率之和为1,输出结构则为概率最高的分类结构。其常见卷积神经网络卷积层和池化层结构如图2所示。
2.1 Resnet网络结构
本文构建了基于卷积神经网络的糖尿病并发症分类模型。模型包括CNN模型训练及测试、疾病分类结果两部分。在选择网络上,本文选择Resnet网络,该网络相比其它的卷积网络,增加了残差结构,该结构的增加解决了网络较深入时的梯度爆炸和弥散问题(通过引入快捷通道),从而支持CNN网络的多层处理。其残差结构如图3所示。通过该结构,可以使得其结果更容易优化,即使较多层,也可以快速的运算,且不会出现无法收敛的问题,优化后,本文神经网络速度得到了提升。
2.2 网络参数设置
其中在卷积层,通过滑动窗口抽取局部变量。具体地,设滑动窗口为w,其卷积核矩阵为f=[f1,f2,...,fw],则通过卷积核可以等到特征矩阵s=[s1,s2,...,s3],si=g(∑fTj+1xTj+1+b),其中g为对应函数,b偏置量。因此不同的卷积核可以得到不同的特征。
本文卷积网络由于是一个5分类问题,因此所需全连接层可以适当减少。本模型中拥有4个卷积层,在每一个卷积层后均有池化层。前2个卷积层卷积核大小为5×5,后两个卷积层卷积核为3×3。具体网络参数如表1所示。其中卷积层用于卷积操作,从而提取数据特征;池化层通过对小样本(局部数据采样)减少数据量,保留总体特征;Fc是全连接层通过正向和反向传递进行计算。
深度卷积神经网络模型不仅有基础结构,还有激活函数,学习率等等配置,相关配置如(1)样本设置,通过对样本的调整,将每一个样本统一为512*512大小,便于计算。(2)模型学习速率为0.01,batch的大小为32,正则化系数为0.001。(3)优化函数为AdamOptimization函数。(4)激活函数为relu函数。采用交叉验证的方式并采用earlystop策略。
2.3 分类器选择
本文选择较为常见的softmax,通过将其与全连接层相连接,得到对应的概率分布情况,且输出值之后为1,通过选择最大的概率来进行分类,其输出概率计算为:
2.4 深度卷积网络结构
经过对于网络的不同参数和分类的器等的设计,本文针对糖尿病并发症的5分类问题(肾病、高血压、冠心病、糖尿病酮症和其它)采用如图4所示的网络结构。
该模型中卷积层用于提取特征,池化层则是通过在小样本下采样取得新特征,全连层每一个神经元与前一层所有神经元相互连接,最后一层则是softmax进行分类。
3 实验结果与分析
3.1 数据集
本文实验数据来自国家临床医学科学数据中心(301医院)提供的“糖尿病数据”,其中全血糖化血红蛋白测定(简称糖化)667条记录,每条记录拥有3项有效项;尿常规测定(简称尿常规)619条记录,每条记录拥有17项有效项;生化测定(简称生化)625条记录,每条项有25项有效项。由于数据并非按照时间进行记录,本次研究中时间作为无关项被删除。参考联合国世界卫生组织糖尿病血糖诊断标准、中国国家统计局《中国成人血脂異常防治指南》和数据中的诊断结果等标准,并结合部分医院建议。本文对部分离散指标进行了赋值(如男、女性别分别对应0、1值),其数据集合详细信息如表2所示。
针对深度卷积网络模型的训练,将数据集合进行进一步划分为三部分:训练集、验证集、测试集。
(1)训练集:该集合为训练过程中采用的数据集合,该集合参与模型的参数调整和模型的训练。由于本文采用交叉验证的方法,因此这里训练集的数据占全部数据的十分之七。
(2)验证集:该集合为每次周期结束后,用来进行当前模型准确率计算的数据集。该集合在迭代周期、学习率等方面起作用,本文中的验证集占全部数据的十分之二。
(3)测试集:该集合为用于模型测试部分的数据。在模型经过训练和验证后用于测试的集合,本文中该集合占全部数据的十分之一。
3.2 结果分析
为验证本文提出的基于深度卷积神经网络的糖尿病并发症分类模型的有效性,分别将其与SVM、决策树、BP神经网络等经典模型进行对比。其结果如表3所示。
从表3可以看出,对于糖尿病并发症的分类问题,本文提出的基于深度卷积神经网络的分类模型准确率达到86%,基于BP神经网络的分类模型准确度达到72%,决策树模型准确度为69%,基于SVM的分类模型准确度为75%。而且可以看出BP神经网络的准确度和SVM的准确度较为接近。通过该表可以清晰的看出,本文模型的准确度优于经典的SVM、决策树、BP神经网络模型,可以为糖尿病并发症提供有效的辅助诊断。
为了更为清晰的对比不同模型的特点,下面对各种分类模型进行ROC曲线比较。ROC曲线以灵敏度(真阳性)为纵坐标,以特异性(假阳性)为横坐标绘制的曲线。该曲线越靠近左上角,其准确度越高;其面积越大,诊断结果越好。如图5所示,其中带有叉形、三角形、星形和正方形标记的曲线分别代表本文模型、SVM、BP神经网络和决策树的ROC曲线,通过该曲线,可以明显看出,本文模型无论是在准确性还是诊断结果方面,都优于其它经典模型,从而表明了深度卷积网络适用于解决糖尿病并发症的分类问题。
4 结论
糖尿病并发症诊断是一个多分类问题,通过TensorFlow深度学习框架,采用卷积神经网络进行并发症的识别,准确率达到86%以上。实验结果表明,在并发症分类问题上,通过较少的全连接层就能得到很好的结果,为下一步的研究奠定经验。本文由于数据有限,只能进行较少的分类,随着数据的增加,并发症的种类和准确度都将会进一步提高。
参考文献
[1]张启新.糖尿病健康教育研究进展(综述)[J].继续医学教育,2012,26(03):59-62.
[2]米生权.中国成人个体糖尿病发病风险预测模型的建立及验证[D].中国疾病预防控制中心,2011.
[3]刘丹红,许跟起.糖尿病人群发展状况预警建模研究[J].数学物理学报,2014,34(03):495-511.
[4]KampooKanokporn,TeanpaisanRawe e,Ledder Ruth G.,McBain Andrew J..Oral Bacterial Communities in Individuals with Type 2 Diabetes Who Live in Southern Thailand. Applied and Environmental Microbiology. 2014,80(2):662-671.
[5]Motala AA, Esterhuizen T, Pirie FJ, Omar MA. The prevalence of metabolic syndrome and determination of the optimal waist circumference cutoff points in a rural South African community. Diabetes Care.2011.34(4): 1032-1037.
[6]Marchuk Yu.F., FedivO.I.,Ivashchuk I.O., Andriychuk D.R.. Polarization- correlation diagnostics and differentiation of cholelithiasis in patients with chronic cholecystitis combined with diabetes mellitus type 2. Proceedings of SPIE-The International Society for Optical Engineering. 2011:1080-1089.
[7]Kadi I, Idri A, Fernandez-Aleman J L. Knowledge discovery in cardiology: A systematic literature review[J]. International journal of medical informatics, 2017, 97: 12-32.
[8]劉明,李国军,郝华青等.基于卷积神经网络的T波形态分类[J].自动化学报,2016(09):1339-1346.
[9]王丽苹.融合领域知识的心电图分类方法研究[D].华东师范大学,2013.
[10]解坤,张俊芳.基于KMO-Bartlett典型风速选取的PCA-WNN短期风速预测[J].发电设备,2017,31(02):86-91.
[11]Lecun Y,Bottou L,Bengio Y,et al. Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324