本公开涉及医疗数据挖掘技术领域,特别是涉及基于迁移学习的慢性阻塞性肺疾病预测系统、设备及介质。
背景技术:
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
慢性阻塞性肺疾病(copd)是一种常见的慢性呼吸道疾病,以持续性呼吸道症状和不完全可逆的气流受限为特点。慢阻肺气流受限呈进行性加重,并伴有对有害颗粒或气体,主要是吸烟所致的肺部异常炎症反应。在过去十年中,copd的发病率逐年提升且死亡率高,成为仅次于高血压、糖尿病的中国第三大常见慢性病。在中国,40岁以上人群copd患病率为9.9%,但由于诊断标准的差异与疾病认识的不足,其漏诊率高达70%,导致现有数据低估了慢阻肺的发病率与死亡率。因此,具有良好临床可靠性的预测数据挖掘模型是未来慢性阻塞肺疾病医疗和自我管理发展的重要目标。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
目前,基于数据挖掘和迁移学习相关理论,探索用于实现对慢性阻塞性肺疾病的诊断,利用疾病共有特征使用迁移学习对疾病的诊断系统尚未出现。
目前针对慢性阻塞性肺疾病预测系统的诊断精度不高。
技术实现要素:
为了解决现有技术的不足,本公开提供了基于迁移学习的慢性阻塞性肺疾病预测系统、设备及介质;
第一方面,本公开提供了基于迁移学习的慢性阻塞性肺疾病预测系统;
基于迁移学习的慢性阻塞性肺疾病预测系统,包括:
获取模块,其被配置为:获取慢性阻塞性肺疾病数据和待预测的a疾病数据,对慢性阻塞性肺疾病和待预测a疾病数据均进行预处理;
提取模块,其被配置为:从预处理后的待预测疾病数据中提取待预测a疾病的若干个特征;从预处理后的慢性阻塞性肺疾病数据中提取慢性阻塞性肺疾病数据的若干个特征;
相似度计算模块,其被配置为:计算待预测a疾病的所有特征与慢性阻塞性肺疾病数据的所有特征之间的相似度,对相似度高的待预测a疾病的特征赋予高权重,对相似度低的待预测a疾病的特征赋予低权重;
预测模块,其被配置为:将赋予权重后的待预测a疾病的特征进行加权融合,得到融合后的待预测a疾病的特征;将融合后的待预测a疾病的特征输入到预训练的基于迁移学习的弹性网络中,输出待预测a疾病是否会发展为慢性阻塞性肺疾病。
第二方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述系统中各个模块的功能。
第三方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述系统中各个模块的功能。
与现有技术相比,本公开的有益效果是:
使用弹性网络获得对疾病固有特征成分的认识,并完成对疾病的诊断;
通过特征提取获得copd数据集的最优特征子集;
构造预训练的基于迁移学习的弹性网络,并使用弹性网络和迁移学习相融合的参数初始化策略对迁移学习模型进行优化,并对迁移学习模型进行测试,且该模型具有网络结构简单、高效的特点,能够利用该网络实现待预测a疾病是否会发展为慢性阻塞性肺疾病的预测结果,是辅助医生进行诊断治疗的系统。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本公开实施例一的方法流程图;
图2为本公开实施例一的f1对比图;
图3为本公开实施例一roc对比图;
图4为本公开实施例一疾病分类图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一,本实施例提供了基于迁移学习的慢性阻塞性肺疾病预测系统;
如图1所示,基于迁移学习的慢性阻塞性肺疾病预测系统,包括:
获取模块,其被配置为:获取慢性阻塞性肺疾病数据和待预测的a疾病数据,对慢性阻塞性肺疾病和待预测a疾病数据均进行预处理;
提取模块,其被配置为:从预处理后的待预测疾病数据中提取待预测a疾病的若干个特征;从预处理后的慢性阻塞性肺疾病数据中提取慢性阻塞性肺疾病数据的若干个特征;
相似度计算模块,其被配置为:计算待预测a疾病的所有特征与慢性阻塞性肺疾病数据的所有特征之间的相似度,对相似度高的待预测a疾病的特征赋予高权重,对相似度低的待预测a疾病的特征赋予低权重;
预测模块,其被配置为:将赋予权重后的待预测a疾病的特征进行加权融合,得到融合后的待预测a疾病的特征;将融合后的待预测a疾病的特征输入到预训练的基于迁移学习的弹性网络中,输出待预测a疾病是否会发展为慢性阻塞性肺疾病。
进一步地,所述待预测a疾病数据,包括:支气管炎、肺气肿或哮喘疾病数据中的一种或多种。a只是一个符号,指代慢性阻塞性肺疾病的先期疾病中的一种或多种。
进一步地,所述对慢性阻塞性肺疾病和待预测a疾病数据均进行预处理;具体包括:
数据转换单元,用于将文字数据转换为数字数据;
数据筛选单元,用于将噪声数据剔除,噪声数据是指与待预测a疾病数据不相关的数据;噪声数据,例如在支气管炎数据集中含有的骨折数据。
数据填充单元,用于对缺失数据进行填充;
数据归一化单元,用于对数据进行归一化处理。
进一步地,所述数据归一化单元,其被配置为:采用被测者肺部机能检测项目测量值的最大值和最小值对格式转换后的被测者肺部机能检测项目测量值进行归一化处理,提高计算精度。
进一步地,所述从预处理后的待预测a疾病数据中提取待预测疾病的若干个特征;提取的待预测a疾病的若干个特征具体是指:
进一步地,所述从预处理后的待预测a疾病数据中提取待预测疾病的若干个特征,如气促、咳嗽、咳痰、呼吸困难、反复呼吸道感染等、呼吸急促等;采用过滤式特征选择算法来进行特征提取。
进一步地,采用过滤式特征选择算法来进行特征提取,包括:
对特征进行相关性分析,对相似度高的任意两个特征随机选择一种保留,删除另外一种;
对特征进行冗余性分析,提取出与a疾病相关性高于设定阈值的特征,以马尔科夫毯算法删除冗余特征。
进一步地,对特征进行相关性分析,具体步骤包括:
对每一个特征fi,计算其对称不确定性,计算公式为:
其中,mi(c|fi)max表示标签c与特征fi之间的最大互信息,公式为:
e(c)和e(fi)分别标签c与特征fi的信息熵。给定一个阈值η,若su(fi|c)≥η,则fi对于c来说是相关性高的特征,应该被保留;反之fi应该被删除。
进一步地,所述从预处理后的慢性阻塞性肺疾病数据中提取慢性阻塞性肺疾病数据的若干个特征;提取慢性阻塞性肺疾病数据的若干个特征具体是指:
进一步地,所述从预处理后的慢性阻塞性肺疾病数据中提取慢性阻塞性肺疾病数据的若干个特征,如慢性咳嗽、咳痰、气短、呼吸困难等;采用过滤式特征选择算法来进行特征提取。
进一步地,所述计算待预测a疾病的所有特征与慢性阻塞性肺疾病数据的所有特征之间的相似度,其中相似度是指欧式距离或余弦距离。
进一步地,所述对相似度高的待预测a疾病的特征赋予高权重,对相似度低的待预测a疾病的特征赋予低权重,其中高权重与低权重是相对而言的。
高权重,例如:0.6、0.8、0.9;低权重,例如:0.2、0.3、0.4等。
进一步地,所述预训练的基于迁移学习的弹性网络的训练过程,包括:
模型构建单元,其被配置为:构建自适应弹性网络(adaptiveelasticnet,aen);
训练集构建单元,其被配置为:构建训练集,所述训练集包括:已确认发展为慢性阻塞性肺疾病的若干患者的a疾病数据m、已确认未发展为慢性阻塞性肺疾病的若干患者的a疾病数据n、和已确认为慢性阻塞性肺疾病的若干患者的疾病数据p;
训练单元,其被配置为:
从已确认发展为慢性阻塞性肺疾病的若干患者的a疾病数据m中提取出特征集合m;
从已确认未发展为慢性阻塞性肺疾病的若干患者的a疾病数据n中提取出特征集合n;
从已确认为慢性阻塞性肺疾病的若干患者的所有疾病数据p中提取出特征集合p;
计算特征集合m与特征集合p的相似度,将相似度高的疾病数据m特征赋予高权重,将相似度低的疾病数据m特征赋予低权重;对疾病数据m的特征进行加权求和,得到融合特征m';将融合特征m'和会发展为慢性阻塞性肺疾病标签“-1”,作为负样本;
计算特征集合n与特征集合p的相似度,将相似度高的疾病数据n特征赋予高权重,将相似度低的疾病数据n特征赋予低权重;对疾病数据n的特征进行加权求和,得到融合特征n';将融合特征n'和未发展为慢性阻塞性肺疾病标签“ 1”,作为正样本;
将正样本和负样本,输入到自适应弹性网络中,对自适应弹性网络进行训练,当损失函数达到最小值时,停止训练,得到训练好的自适应弹性网络,训练好的自适应弹性网络即为预训练的基于迁移学习的弹性网络。
进一步地,所述将正样本和负样本,输入到自适应弹性网络中,对自适应弹性网络进行训练,是基于坐标下降法对自适应弹性网络进行训练和优化。
进一步地,所述坐标下降法在迭代循环中使用不同的坐标方向,在当前点处沿一个方向优化来获取最小值。
aen算法是将从源域获得的知识迁移到目标域中,帮助训练目标域中的其他疾病预测模型,实现疾病识别与分类。把迁移学习运用在疾病预测中:
第一步,获取源域知识,对是否患有copd进行诊断;将最优特征集fc分为源域训练数据集fs和目标域数据集ft,copd数据集为fs,其他疾病数据集则是ft。将源域数据与目标域数据一起进行训练,根据自适应弹性网络预测疾病:
在上式中,x代表数据集中的样本,f’(x)表示真实疾病类型,f(x)表示预测疾病类型。随机选择样本中的特征,然后遍历其他特征,若找到合适的特征,例如fev1小于70%,则放入该疾病分类的数据集,否则删除。通过将样本中的特征作为识别疾病的依据,实现对患者是否患有copd的诊断预测。
第二步,通过迁移学习对目标域中的其他疾病进行预测;患者可能同时患有多种疾病,疾病之间的症状多有类似或重叠,从而单一的疾病预测模型在现实生活中往往受到很大限制,因此引入迁移学习通过源域知识帮助学习目标领域的内容。多数样本数据通过模型的训练可以划分属于某种疾病,计算不同疾病样本的共同特征,如果有共同特征则记为1,否则记为0:
将数据集中涉及到的疾病及共有特征进行组合,构建医学疾病标签集,记为{c1,c2,...,ck},共有k种标签;将疾病特征合并构建特征集,记为{f1,f2,...,fm},共有m个特征。本发明采用编码的方式将数据表示为k维的疾病标签向量和m维的特征向量的组合。例如某位患者的疾病集合表示为{“过敏性哮喘、copd、心脏病……”},特征集合表示为{“气喘、咳嗽、呼吸困难……”},其标签向量和特征向量可以如下表示:
特征向量c:其中第i维表示疾病是否包含在这一集合中,若疾病集合包含疾病ci,则ci为1,否则为0。
特征向量f:其中第i维的值表示疾病特征中是否包含此特征fi,若疾病标签集合包含疾病fi,则fi为1,否则为0。
选择疾病共同特征ft1,ft2,...,ftk对目标域ft中的疾病进行迁移学习,训练出肺气肿、哮喘等疾病模型。
fk(x)=train(fk)(8)
将特征数据划分成k个集合,得到其初始中心点pc。根据余弦相似度,将集合中每个特征分配到与其最近的初始中心点所属数据簇中,当所有的特征数据被分配完成后,重新根据余弦距离求得每一簇的中心点,直到所有的数据点不再发生变化。其中,aen算法将迁移学习技术、弹性网络算法和聚类分析相结合解决高维数据问题。
其中,参数初始化具体步骤:
第一步,特征类别标签c可以分别取m个疾病特征,经softmax函数变换得到模型的预测概率,如公式(10)。其中αm表示第m个特征的输入,pm表示模型的预测概率。
第二步,使用交叉熵作为损失函数,表示如下式:
第三步,为了防止模型过拟合,在损失函数中加入权重衰减项作为正则化项,其中n代表训练集中数据的个数,λ为正则化系数,ω代表权重参数
第四步,选择精准率作为模型性能的度量指标,精准率的定义为:
其中,模型优化具体步骤:
第一步,利用坐标下降算法在循环迭代中使用不同的坐标方向,在当前点处沿一个方向优化来获取最小值。如果x1已给定,那么xi的第j个维度为
第二步,迭代搜索后可以获得不等式f(x1)≥f(x2)≥fx3)≥...,这一序列具有收敛性质。如果在某次迭代中,函数得不到优化,说明已获得最优值。
本实施例中的copd数据集是由临床医学科学数据中心提供。该数据集包括相关的人口学信息、电子病历信息、检验检查结果、健康自评分等以及5年随访信息,共360多个类型。该数据集不仅包含829名copd患者、1021名非copd患者和149例尚未确诊患者,在copd数据集中还包括心脏病、哮喘、肺气肿等多种与copd相关常见疾病,如表1所示。
表1本发明数据集相关内容
本实施例的目的是提供一种基于迁移学习的慢性阻塞性肺疾病预测系统,该系统包括:
将获取的样本数据进行数据处理模块:
第一步:对原始数据进行筛选,数据中的测试号、住院号、姓名、种族、科别与本发明无关,是非需求数据,因此将其直接删除掉;
第二步:进行填充数据,对筛选出的重要生理指标的缺失值进行填充;
第三步:数据格式转换,对特征属性值转换成数字等级;
第四步:数据归一化,对原始的fev1/fvc值归一化到0~1范围内,进一步提高计算精度。
将copd模型参数作为初始模型,训练疾病分类器模块:
定义如下:c是一个某疾病的标签数据集,其中包含了m个样本(xi,yi),i=1,2,...,m,yi∈t,t={0,1}是标签集合。设h是一个标签分类器,而zi=h(xi)是h对样本xi预测的标签。在医学数据集中评估机器学习算法的多分类性能通常是采用准确率:
(3)引入召回率和f1值作为评价本文模型的指标。
为了验证本发明模型的有效性,将本发明的模型与随机森林模型、朴素贝叶斯模型、决策树模型、逻辑回归模型和支持向量机模型在准确率、召回率、f1值三个方面进行实验评估,结果如表2所示。
表2本发明在准确率、召回率、f1值三方面实验评估结果
其次,本发明中除了与不同机器学习模型进行比较,还与传统迁移学习算法tradaboost和multi-tasklearning(mtl)进行了比较,如表3、图2、图3所示,本发明提出的taen模型在准确率、f1值和roc上均有提升。
表3本发明准确率对比图
最后,aen模型除了在预测性能上成效明显,在分类上亦取得了较大成功。在临床医学科学数据中心提供的数据集上,对支气管炎、肺气肿、copd以及它们的合并症肺癌、心脏病进行区分。如图4所示,aen方法可以有效地区分具有相同特征的不同疾病。
实施例二,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一所述的方法。
实施例四,本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
1.基于迁移学习的慢性阻塞性肺疾病预测系统,其特征是,包括:
获取模块,其被配置为:获取慢性阻塞性肺疾病数据和待预测的a疾病数据,对慢性阻塞性肺疾病和待预测a疾病数据均进行预处理;
提取模块,其被配置为:从预处理后的待预测疾病数据中提取待预测a疾病的若干个特征;从预处理后的慢性阻塞性肺疾病数据中提取慢性阻塞性肺疾病数据的若干个特征;
相似度计算模块,其被配置为:计算待预测a疾病的所有特征与慢性阻塞性肺疾病数据的所有特征之间的相似度,对相似度高的待预测a疾病的特征赋予高权重,对相似度低的待预测a疾病的特征赋予低权重;
预测模块,其被配置为:将赋予权重后的待预测a疾病的特征进行加权融合,得到融合后的待预测a疾病的特征;将融合后的待预测a疾病的特征输入到预训练的基于迁移学习的弹性网络中,输出待预测a疾病是否会发展为慢性阻塞性肺疾病。
2.如权利要求1所述的系统,其特征是,所述待预测a疾病数据,包括:支气管炎、肺气肿或哮喘疾病数据中的一种或多种。
3.如权利要求1所述的系统,其特征是,所述对慢性阻塞性肺疾病和待预测a疾病数据均进行预处理;具体包括:
数据转换单元,用于将文字数据转换为数字数据;
数据筛选单元,用于将噪声数据剔除;
数据填充单元,用于对缺失数据进行填充;
数据归一化单元,用于对数据进行归一化处理。
4.如权利要求1所述的系统,其特征是,所述从预处理后的待预测a疾病数据中提取待预测疾病的若干个特征;采用过滤式特征选择算法来进行特征提取。
5.如权利要求4所述的系统,其特征是,采用过滤式特征选择算法来进行特征提取,包括:
对特征进行相关性分析,对相似度高的任意两个特征随机选择一种保留,删除另外一种;
对特征进行冗余性分析,提取出与a疾病相关性高于设定阈值的特征,以马尔科夫毯算法删除冗余特征。
6.如权利要求4所述的系统,其特征是,所述计算待预测a疾病的所有特征与慢性阻塞性肺疾病数据的所有特征之间的相似度,其中相似度是指欧式距离或余弦距离。
7.如权利要求4所述的系统,其特征是,所述预训练的基于迁移学习的弹性网络的训练过程,包括:
模型构建单元,其被配置为:构建自适应弹性网络;
训练集构建单元,其被配置为:构建训练集,所述训练集包括:已确认发展为慢性阻塞性肺疾病的若干患者的a疾病数据m、已确认未发展为慢性阻塞性肺疾病的若干患者的a疾病数据n、和已确认为慢性阻塞性肺疾病的若干患者的疾病数据p;
训练单元,其被配置为:
从已确认发展为慢性阻塞性肺疾病的若干患者的a疾病数据m中提取出特征集合m;
从已确认未发展为慢性阻塞性肺疾病的若干患者的a疾病数据n中提取出特征集合n;
从已确认为慢性阻塞性肺疾病的若干患者的所有疾病数据p中提取出特征集合p;
计算特征集合m与特征集合p的相似度,将相似度高的疾病数据m特征赋予高权重,将相似度低的疾病数据m特征赋予低权重;对疾病数据m的特征进行加权求和,得到融合特征m';将融合特征m'和会发展为慢性阻塞性肺疾病标签“-1”,作为负样本;
计算特征集合n与特征集合p的相似度,将相似度高的疾病数据n特征赋予高权重,将相似度低的疾病数据n特征赋予低权重;对疾病数据n的特征进行加权求和,得到融合特征n';将融合特征n'和未发展为慢性阻塞性肺疾病标签“ 1”,作为正样本;
将正样本和负样本,输入到自适应弹性网络中,对自适应弹性网络进行训练,当损失函数达到最小值时,停止训练,得到训练好的自适应弹性网络,训练好的自适应弹性网络即为预训练的基于迁移学习的弹性网络。
8.如权利要求7所述的系统,其特征是,所述将正样本和负样本,输入到自适应弹性网络中,对自适应弹性网络进行训练,是基于坐标下降法对自适应弹性网络进行训练和优化;
所述坐标下降法在迭代循环中使用不同的坐标方向,在当前点处沿一个方向优化来获取最小值。
9.一种电子设备,其特征是,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1所述系统中各个模块的功能。
10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1所述系统中各个模块的功能。
技术总结