CN117034142B - 一种不平衡医疗数据缺失值填充方法及*** - Google Patents
一种不平衡医疗数据缺失值填充方法及*** Download PDFInfo
- Publication number
- CN117034142B CN117034142B CN202311283938.4A CN202311283938A CN117034142B CN 117034142 B CN117034142 B CN 117034142B CN 202311283938 A CN202311283938 A CN 202311283938A CN 117034142 B CN117034142 B CN 117034142B
- Authority
- CN
- China
- Prior art keywords
- data
- patient
- filling
- generator
- patient data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000010276 construction Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 45
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000009826 distribution Methods 0.000 claims description 22
- 238000003745 diagnosis Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 201000010099 disease Diseases 0.000 claims description 7
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 7
- 238000003860 storage Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000036541 health Effects 0.000 description 4
- 229940079593 drug Drugs 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Public Health (AREA)
- Bioinformatics & Computational Biology (AREA)
- Epidemiology (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种不平衡医疗数据缺失值填充方法及***,本发明使用推土机距离构建生成器和判别器的损失,能够解决在训练过程中生成器可能出现消失梯度的问题;将患者标签作为监督信号加入到生成器中,增加生成器生成患者数据的多样性;增加了辅助分类器,对填补单元填补后的患者数据进行预测,并将预测结果反馈给生成器,提高生成器的生成效果;利用随机数填充患者数据的缺失部分,将填充后的患者数据作为生成器的输入,通过生成器学习缺失值与其他数据间的关系,避免了在训练过程中需要收集足够多完整样本的问题;生成器损失由三部分组成,通过构建不同的损失,让生成器从不同角度考虑填充的效果,从而提高填充结果的准确性。
Description
技术领域
本发明属于医疗信息技术领域,尤其涉及一种不平衡医疗数据缺失值填充方法及***。
背景技术
电子健康记录(EHR, Electronic Health Records)保存着患者就诊相关的信息,包含患者的基本信息、诊断信息、检查信息、用药信息等。这些信息为医疗数据挖掘提供基础。但由于收集设备故障、传输不稳定等因素,会导致电子健康记录存在大量的缺失数据。这些缺失数据不仅会增大统计分析的复杂性和难度,还会导致分析结果不准确。因此,解决电子健康记录中的缺失值填充问题,对提高数据挖掘的质量具有重要意义。
生成对抗网络(GAN, Generative Adversarial Networks)是一种捕获训练数据分布的神经网络,通过学***衡的,不同类型疾病患者数量相差较大,如果直接将GAN方法作用于不平衡的医疗数据缺失值填充时会存在一些问题。一方面,填充效果缺乏多样性,在不平衡的样本上,生成器通过只关注样本数量多的类型填充质量并忽视那些数据数量少的类型填充质量,以此来欺骗判别器,从而导致最后填充的数据只属于某类疾病的数据。另一方面,GAN方法在不平衡数据上训练,生成器更容易发生消失梯度问题。《Wasserstein GAN》文章指出,在最优判别器下,最小化生成器的损失等价于最小化真实分布和生成分布之间的JS散度(JSD,Jensen-Shannon Divergence),当真实分布和生成分布不重叠时或者重叠部分可以忽略时,JS散度就是固定常数log2,此时生成器出现梯度消失,难以进行网络训练。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于生成对抗网络的不平衡医疗数据缺失值填充方法及***,提高医疗数据缺失值的填充质量。
本发明的目的是通过以下技术方案实现的:
第一方面,本发明提供一种不平衡医疗数据缺失值填充方法,该方法包括:
利用医院的信息化***获取患者数据;
利用数据填充模型对患者数据中的缺失值进行填充;
所述数据填充模型包括数据处理单元、生成器、填补单元、判别器和辅助分类器;所述生成器和判别器构成生成对抗网络;
所述数据处理单元中,使用掩码矩阵记录患者原始数据中缺失值的位置,使用0预填充患者原始数据中的缺失值,使用随机数填充患者原始数据中的缺失值,并输入生成器;
所述生成器用于学习输入的患者数据的分布,生成新的患者数据,并输入填补单元,所述生成器的输入包括患者数据和患者标签;
所述填补单元用于利用生成器生成的新的患者数据对患者原始数据中的缺失值进行填补;
所述判别器用于对输入的每个患者数据进行辨别,判断是否为观察值,所述判别器的输入包括填补单元填补后的患者数据以及使用0预填充患者原始数据中的缺失值后的患者数据,输出为每个患者数据为观察值的概率;
所述辅助分类器用于对填补单元填补后的患者数据进行预测,将预测结果反馈给生成器;
训练过程包括预训练辅助分类器和正式训练数据填充模型,预训练过程中使用未缺失的患者数据对辅助分类器进行训练,确定辅助分类器网络参数,正式训练过程中辅助分类器网络参数不参与更新;正式训练过程中先训练判别器再训练生成器,判别器和生成器不断的对抗训练,直至数据填充模型收敛;
将需要填充缺失值的患者数据及患者标签输入训练好的数据填充模型,经过数据处理单元、生成器和填补单元后,输出填充后的患者数据。
进一步地,对获取的患者数据进行数据预处理后再输入数据填充模型,具体为:对离散型数据进行独热编码操作,对连续型数据进行最大最小值归一化操作。
进一步地,患者原始数据记为,其中/>表示第i个患者的原始数据,n为患者数量,k为特征数量;掩码矩阵记为/>,其中/>用于标记第i个患者原始数据中的观察值和缺失值,观察值取1,缺失值取0;使用0预填充患者原始数据中的缺失值,填充后的数据矩阵记为/>,其中/>表示使用0预填充第i个患者原始数据中的缺失值后的患者数据;创建随机矩阵记为/>,其中/>是随机生成的符合标准正态分布的随机数向量,用于填充第i个患者原始数据中的缺失值;使用随机矩阵中的随机数填充患者原始数据中的缺失值,填充后的数据矩阵记为/>,其中/>表示使用随机数填充第i个患者原始数据中的缺失值后得到的患者数据,/>,/>表示哈达玛积。
进一步地,所述生成器的损失函数由三部分组成,第一部分是计算生成器生成的观察值与实际观察值之间的差距,使用均方误差作为损失函数;第二部分是生成对抗网络的生成器损失,使用Wasserstein距离作为损失函数;第三部分损失是计算辅助分类器对填补单元填补后的患者数据的预测标签与患者真实标签之间的差距,使用交叉熵函数作为损失函数。
进一步地,述生成器的损失函数;
第一部分损失函数;
第二部分损失函数;
第三部分损失函数;
其中表示第i个患者数据作为输入时生成器的输出值,/>,G()表示经过生成器后得到的患者数据,yi表示第i个患者的真实标签,D()表示患者数据经过判别器后得到的结果,ti表示第i个患者原始数据经填补单元填补后的患者数据,/>表示辅助分类器对第i个患者的预测标签,/>和/>为超参数,·表示向量内积。
进一步地,所述填补单元中,利用生成器生成的患者数据填补患者原始数据X中的缺失值,填补后的数据矩阵记为/>,其中ti表示第i个患者原始数据经填补单元填补后的患者数据,/>,其中/>表示第i个患者数据作为输入时生成器的输出值。
进一步地,所述判别器的损失函数LD计算公式如下:
;
其中D()表示患者数据经过判别器后得到的结果,表示使用0预填充第i个患者原始数据中的缺失值后的患者数据,ti表示第i个患者原始数据经填补单元填补后的患者数据,·表示向量内积。
进一步地,所述判别器的损失函数LD计算公式如下:
;
其中D()表示患者数据经过判别器后得到的结果,表示使用0预填充第i个患者原始数据中的缺失值后的患者数据,ti表示第i个患者原始数据经填补单元填补后的患者数据,·表示向量内积。
进一步地,正式训练数据填充模型的过程中,首先输入包含缺失值的患者数据,判别器计算损失,梯度反向传播更新判别器网络参数;然后生成器计算损失,梯度反向传播更新生成器网络参数;判别器和生成器不断的对抗训练,直至数据填充模型收敛。
第二方面,本发明提供一种不平衡医疗数据缺失值填充***,该***包括数据获取模块、数据填充模型构建模块和数据填充模块;所述数据获取模块用于利用医院的信息化***获取患者数据;
所述数据填充模型构建模块用于构建及训练数据填充模型;所述数据填充模型包括数据处理单元、生成器、填补单元、判别器和辅助分类器,生成器和判别器构成生成对抗网络;
所述数据处理单元中,使用掩码矩阵记录患者原始数据中缺失值的位置,使用0预填充患者原始数据中的缺失值,使用随机数填充患者原始数据中的缺失值,并输入生成器;
所述生成器用于学习输入的患者数据的分布,生成新的患者数据,并输入填补单元,所述生成器的输入包括患者数据和患者标签;
所述填补单元用于利用生成器生成的新的患者数据对患者原始数据中的缺失值进行填补;
所述判别器用于对输入的每个患者数据进行辨别,判断是否为观察值,所述判别器的输入包括填补单元填补后的患者数据以及使用0预填充患者原始数据中的缺失值后的患者数据,输出为每个患者数据为观察值的概率;
所述辅助分类器用于对填补单元填补后的患者数据进行预测,将预测结果反馈给生成器;
训练过程包括预训练辅助分类器和正式训练数据填充模型,预训练过程中使用未缺失的患者数据对辅助分类器进行训练,确定辅助分类器网络参数,正式训练过程中辅助分类器网络参数不参与更新;正式训练过程中先训练判别器再训练生成器,判别器和生成器不断的对抗训练,直至数据填充模型收敛;
所述数据填充模块用于将需要填充缺失值的患者数据及患者标签输入训练好的数据填充模型,经过数据处理单元、生成器和填补单元后,输出填充后的患者数据。
第三方面,本发明提供一种不平衡医疗数据缺失值填充设备,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面所述的不平衡医疗数据缺失值填充方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现如第一方面所述的不平衡医疗数据缺失值填充法。
本发明的有益效果是:
1. 本发明使用推土机距离(Wasserstein距离)代替JS散度构建生成器和判别器的损失,Wasserstein距离相对JS散度具有优越的平滑特性,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近,能够解决在训练过程中生成器可能会出现消失梯度问题。
2. 本发明将患者标签作为监督信号加入到生成器中,帮助生成器在不平衡的医疗电子病历中能够识别不同的患者数据,增加生成器生成患者数据的多样性。
3. 本发明增加了辅助分类器,对填补单元填补后的患者数据进行分类预测,并将预测结果反馈给生成器,提高生成器的生成效果。
4. 本发明利用随机数填充患者数据的缺失部分,将填充后的患者数据作为生成器的输入,通过生成器学习缺失值与其他数据间的关系,避免了在训练过程中需要收集足够多完整样本的问题。
5. 本发明提出的生成器损失由三部分组成,分别为生成器生成的患者观察值与患者实际观察值之间的损失、判别器对生成器生成的患者缺失值的预测与真实值之间的损失、辅助分类器对填补单元填补后的患者数据的预测标签与患者真实标签之间的损失,通过构建不同的损失,让生成器从不同角度考虑填充的效果,从而提高填充结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一示例性实施例提供的不平衡医疗数据缺失值填充方法流程图;
图2为一示例性实施例提供的患者原始数据表格形式;
图3为一示例性实施例提供的数据填充模型架构示意图;
图4为一示例性实施例提供的数据处理单元处理过程示意图;
图5为一示例性实施例提供的不平衡医疗数据缺失值填充***结构图;
图6为一示例性实施例提供的不平衡医疗数据缺失值填充设备结构图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明提供一种不平衡医疗数据缺失值填充方法,如图1所示,该方法包括数据获取和数据填充两个部分,数据获取部分利用医院的信息化***提取患者结构化数据,数据填充部分利用数据填充模型对患者数据中的缺失值进行填充,下面详细阐述每个部分的具体实现流程。
一、数据获取
首先利用医院的信息化***提取患者结构化数据,这些数据包括患者基本信息、诊断结果、检查信息、用药信息等。
然后对提取的患者数据进行数据预处理,具体为:
对提取的离散型数据进行独热编码操作,离散型数据包括患者的诊断、用药等特征;
对提取的连续型数据进行最大最小值归一化操作,连续型数据包括患者的体重、年龄、血压等特征,最大最小值归一化公式为,其中xij表示第i个患者第j个特征的值,/>表示第j个特征中最小值,/>表示第j个特征中最大值。
最后将患者诊断结果作为患者标签,记作,其中n表示患者数量,/>为第i个患者的标签,u为提取的患者数据中诊断结果的疾病种类,在本实施例中为10。患者原始数据使用X表示,记作/>,其中/>表示第i个患者的原始数据,k为提取的患者特征数量。如图2所示,为患者原始数据X整理成的表格形式,其中每一行代表了一个患者的数据,xij表示第i个患者第j个特征的值,N表示患者该特征为缺失值。
二、数据填充
利用数据填充模型对患者数据中的缺失值进行填充。如图3所示,数据填充模型包括数据处理单元、生成器G、填补单元、判别器D以及辅助分类器C。其中生成器G和判别器D构成生成对抗网络。
具体地,数据处理单元的作用是使用随机数对患者原始数据的缺失值进行填充,由于数据获取部分获取到的患者原始数据包含缺失值,无法进行正常的数值运算,需要利用数据处理单元对含有缺失值的患者原始数据进行处理。生成器的作用是学习输入的患者数据的分布,生成新的患者数据。填补单元的作用是利用生成器生成的新的患者数据对患者原始数据的缺失值进行填补。判别器的作用是对输入的每个数据进行辨别,判断输入的数据是否为观察值(未缺失的值)。辅助分类器的作用是对填补后的患者数据进行预测,并将预测结果反馈给生成器。接下来分别对数据填充模型各个部分进行介绍。
2.1数据处理单元
由于数据获取部分获取到的患者原始数据包含缺失值,无法进行正常的数值运算,为了让这些数据能够进行正常的数值运算,需要数据处理单元对这些患者原始数据进行处理,处理过程包括两个部分。
第一部分是记录患者原始数据中缺失值的位置以及使用0预填充患者原始数据中的缺失值。首先使用掩码矩阵记录患者原始数据中缺失值的位置,掩码矩阵M中的掩码向量/>用于标记第i个患者原始数据中哪些位置为观察值,哪些位置为缺失值,并使用1表示观察值,0表示缺失值。例如[1,1,0,1]表示患者第三个特征为缺失值,其他特征都有观察值。然后使用0填充患者原始数据中的缺失值,并使用数据矩阵/>表示填充后的患者数据,其中/>表示用0预填充第i个患者原始数据中的缺失值后的患者数据。
第二部分是使用随机数填充患者原始数据中的缺失值。首先创建随机矩阵,其中/>是随机生成的符合标准正态分布的随机数向量,用于填充第i个患者原始数据中的缺失值,/>表示用于填充第i个患者原始数据中的第k个特征。然后使用/>表示使用随机数填充第i个患者原始数据中的缺失值后得到的患者数据,/>由/>计算得到,其中/>表示哈达玛积。并使用数据矩阵表示使用随机数填充了所有患者原始数据中的缺失值后的患者数据。
图4为数据处理单元处理过程的一个示例,其中通过数据获取部分获取的患者原始数据X包含缺失值;数据矩阵为使用0预填充患者原始数据X中的缺失值后的患者数据;随机矩阵Z中的数据为符合标准正态分布的随机数;掩码矩阵M用于标记患者原始数据X观察值和缺失值的位置。
2.2生成器
生成器用于学习输入的患者数据的分布并生成新的患者数据,它的输入包括患者数据和患者标签,其中患者标签是作为监督信号,让生成器能够了解每个患者的标签。生成器由三层全连接网络组成,每层节点数为k、k、k,其中k表示患者原始数据X的特征维度。前两层为隐藏层,最后一层为输出层,前两层的激活函数为ReLU,最后一层的激活函数为Tanh,并使用均方根反向传播函数(RMSprop函数)作为生成器的优化函数。使用数据矩阵
表示生成器的输出,其中/>表示第i个患者数据作为输入时生成器的输出值,/>表示使用随机数填充第i个患者原始数据中的缺失值后的患者数据,yi表示第i个患者的标签,G()表示经过生成器G后得到的患者数据。
整个生成器的损失由三部分组成:
第一部分损失L1是计算生成器生成的患者观察值与患者实际观察值之间的差距,这里使用均方误差作为这部分损失函数,当生成器生成的患者观察值与患者实际观察值之间的差距越小,表示生成器生成的患者观察值越接近患者实际观察值。
第二部分损失L2是传统生成对抗网络的生成器损失,这里使用Wasserstein 距离代替交叉熵作为损失函数。Wasserstein距离可以通过近似计算得到,其中D(T)表示填补单元填补后的患者数据T经过判别器D得到的结果,/>表示哈达玛积,M表示标记患者原始数据缺失值位置的掩码矩阵,E[]表示数学期望。当生成器生成的患者缺失值越接近真实值时,生成器生成的患者缺失值越容易被判别器判别为观察值,此时L2值也就越小,反之亦然。
第三部分损失L3是计算辅助分类器对填补单元填补后的患者数据的预测标签与患者真实标签之间的差距,这里使用交叉熵函数作为损失函数,当辅助分类器对填补单元填补后的患者数据的预测标签与患者真实标签之间的差距越小,表示填充的数据效果越好。
整个生成器的损失函数LG如下所示:
;
其中表示用0预填充第i个患者原始数据中的缺失值后的患者数据,/>表示第i个患者数据作为输入时生成器的输出值,/>表示哈达玛积,·表示向量内积,M为掩码矩阵,/>为掩码向量,记录了第i个患者原始数据中哪些位置为观察值(未缺失值),哪些位置为缺失值,/>是计算第i个患者的生成器生成的观察值与实际观察值之间的均方误差,/>表示使用随机数填充第i个患者原始数据中的缺失值后的患者数据,G()表示经过生成器G后得到的患者数据,yi表示第i个患者的真实标签,/>表示辅助分类器对第i个患者的预测标签;T表示填补单元填补后的患者数据,ti表示第i个患者数据经填补单元填补后的患者数据,D()表示患者数据经过判别器后得到的结果;/>和/>是超参数,在本实施例中分别为0.3,0.2。
2.3填补单元
填补单元是利用生成器生成的患者数据填补患者原始数据X中的缺失值,并输出填补后的患者数据,使用/>表示填补单元填补后的患者数据,其中ti表示第i个患者原始数据经填补单元填补后的患者数据,并且ti由/>计算得到,其中/>表示第i个患者数据作为输入时生成器的输出值,/>表示用0预填充第i个患者原始数据中的缺失值后的患者数据,mi表示第i个患者的掩码向量,/>表示哈达玛积。
2.4判别器
判别器的目的是判断输入的每个数据是否为观察值,其输入分别是填补单元填补后的患者数据T以及使用0预填充患者原始数据中的缺失值后的患者数据,其输出分别是对T和/>中每个数据为观察值的概率。判别器由三层全连接网络组成,每层节点数为k、k、k,其中k表示患者原始数据X的特征维度,前两层为隐藏层,激活函数为ReLU,最后一层为输出层,无激活函数,并使用RMSprop函数作为判别器的优化函数。判别器的损失是计算患者原始数据和填补单元填补后的患者数据之间的分布差异,使用Wasserstein距离代替JS散度来衡量患者原始数据和填补单元填补后的患者数据之间的分布差异。判别器的损失函数LD计算公式如下:
;
其中D()表示患者数据经过判别器后得到的结果,表示用0预填充第i个患者原始数据中的缺失值后的患者数据,mi表示第i个患者的掩码向量,ti表示第i个患者原始数据经填补单元填补后的患者数据。在训练过程中,当LD越小时,表示真实分布与生成分布的Wasserstein距离越小,数据填充训练得越好。
2.5辅助分类器
辅助分类器是对填补单元填补后的患者数据进行预测。在数据填充模型预训练过程中,首先使用未缺失的患者数据对辅助分类器进行训练,确定好辅助分类器的网络参数,在数据填充模型正式训练过程中,辅助分类器网络参数不参与更新。整个辅助分类器由三层全连接网络组成,前两层为隐藏层,最后一层为输出层。前两层的节点数人为设定,本实施例中分别设为128,64,最后一层的节点数为u,u为提取的患者数据中诊断结果的疾病种类,在本实施例中为10。前两层的激活函数为ReLU,最后一层的激活函数为Softmax。辅助分类器的损失是计算辅助分类器的预测标签与患者真实标签的差距,当差距越小,表示辅助分类器的预测效果越好,这里使用交叉熵函数作为辅助分类器的损失函数,辅助分类器的损失函数LC计算公式如下:
;
其中为第i个患者的标签,由患者数据中诊断结果通过独热编码操作得到,u为获取的患者数据中诊断结果的疾病种类,/>表示辅助分类器对第i个患者的预测标签,是长度为u的向量,向量里的每个值表示辅助分类器预测患者患对应疾病的概率,,ti表示第i个患者原始数据经填补单元填补后的患者数据,C()表示患者数据经过辅助分类器后得到的结果,·表示向量内积。
整个数据填充模型的训练分为以下两个阶段:
第一阶段是预训练过程,预训练目的是训练辅助分类器,确定辅助分类器网络参数。在训练辅助分类器时,首先初始化辅助分类器网络参数,然后使用未缺失的患者数据作为训练数据,计算辅助分类器的损失函数,梯度反向传播更新辅助分类器网络参数直至辅助分类器收敛。确定好辅助分类器网络参数后,在第二阶段数据填充模型的正式训练过程中,辅助分类器网络参数不参与更新。
第二阶段是训练数据填充模型过程,在数据填充模型训练过程中,训练策略是先训练判别器再训练生成器。在训练数据填充模型时,首先输入包含缺失值的患者数据,判别器计算损失,梯度反向传播更新判别器网络参数;然后生成器计算损失,梯度反向传播更新生成器网络参数,判别器和生成器不断的对抗训练,直至数据填充模型收敛;在训练初期,判别器很容易辨别哪些数据为观察值,哪些数据为填充值,随着训练深入,生成器学习到患者数据的分布,生成的数据很接近患者的观察值,判别器无法判断哪些数据为观察值,哪些数据为填充值,生成器和判别器达到了纳什均衡,此时训练的数据填充模型收敛。
待数据填充模型训练完毕后,就可以使用该模型对患者数据缺失值进行填充。在实施填充过程中,首先对需要填充的患者数据进行数据预处理,对需要填充的患者数据中离散型数据进行独热编码操作,对连续型数据进行最大最小值归一化操作。然后选取患者诊断结果作为患者标签,将含有缺失值的患者数据和患者标签作为数据填充模型的输入,经过数据处理单元、生成器以及填补单元,输出填充后的患者数据。
另一方面,本发明还提供了一种不平衡医疗数据缺失值填充***,如图5所示,该***包括数据获取模块、数据填充模型构建模块和数据填充模块;所述数据获取模块用于利用医院的信息化***获取患者数据;
所述数据填充模型构建模块用于构建及训练数据填充模型;所述数据填充模型包括数据处理单元、生成器、填补单元、判别器和辅助分类器,生成器和判别器构成生成对抗网络;
所述数据处理单元中,使用掩码矩阵记录患者原始数据中缺失值的位置,使用0预填充患者原始数据中的缺失值,使用随机数填充患者原始数据中的缺失值,并输入生成器;
所述生成器用于学习输入的患者数据的分布,生成新的患者数据,并输入填补单元,所述生成器的输入包括患者数据和患者标签;
所述填补单元用于利用生成器生成的新的患者数据对患者原始数据中的缺失值进行填补;
所述判别器用于对输入的每个患者数据进行辨别,判断是否为观察值,所述判别器的输入包括填补单元填补后的患者数据以及使用0预填充患者原始数据中的缺失值后的患者数据,输出为每个患者数据为观察值的概率;
所述辅助分类器用于对填补单元填补后的患者数据进行预测,将预测结果反馈给生成器;
训练过程包括预训练辅助分类器和正式训练数据填充模型,预训练过程中使用未缺失的患者数据对辅助分类器进行训练,确定辅助分类器网络参数,正式训练过程中辅助分类器网络参数不参与更新;正式训练过程中先训练判别器再训练生成器,判别器和生成器不断的对抗训练,直至数据填充模型收敛;
所述数据填充模块用于将需要填充缺失值的患者数据及患者标签输入训练好的数据填充模型,经过数据处理单元、生成器和填补单元后,输出填充后的患者数据。
与前述一种不平衡医疗数据缺失值填充方法的实施例相对应,本发明还提供了一种不平衡医疗数据缺失值填充设备的实施例。
参见图6,本发明实施例提供的一种不平衡医疗数据缺失值填充设备,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的一种不平衡医疗数据缺失值填充方法。
本发明提供的一种不平衡医疗数据缺失值填充设备的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。设备实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的设备,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本发明提供的一种不平衡医疗数据缺失值填充设备所在任意具备数据处理能力的设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中设备所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述设备中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种不平衡医疗数据缺失值填充方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (10)
1.一种不平衡医疗数据缺失值填充方法,其特征在于,包括:
利用医院的信息化***获取患者数据;
利用数据填充模型对患者数据中的缺失值进行填充;
所述数据填充模型包括数据处理单元、生成器、填补单元、判别器和辅助分类器;所述生成器和判别器构成生成对抗网络;
所述数据处理单元中,使用掩码矩阵记录患者原始数据中缺失值的位置,使用0预填充患者原始数据中的缺失值,使用随机数填充患者原始数据中的缺失值,并输入生成器;
所述生成器用于学习输入的患者数据的分布,生成新的患者数据,并输入填补单元,所述生成器的输入包括患者数据和患者标签;
所述填补单元用于利用生成器生成的新的患者数据对患者原始数据中的缺失值进行填补;
所述判别器用于对输入的每个患者数据进行辨别,判断是否为观察值,所述判别器的输入包括填补单元填补后的患者数据以及使用0预填充患者原始数据中的缺失值后的患者数据,输出为每个患者数据为观察值的概率;
所述辅助分类器用于对填补单元填补后的患者数据进行预测,将预测结果反馈给生成器;
训练过程包括预训练辅助分类器和正式训练数据填充模型,预训练过程中使用未缺失的患者数据对辅助分类器进行训练,确定辅助分类器网络参数,正式训练过程中辅助分类器网络参数不参与更新;正式训练过程中先训练判别器再训练生成器,判别器和生成器不断的对抗训练,直至数据填充模型收敛;
将需要填充缺失值的患者数据及患者标签输入训练好的数据填充模型,经过数据处理单元、生成器和填补单元后,输出填充后的患者数据。
2.根据权利要求1所述的一种不平衡医疗数据缺失值填充方法,其特征在于,对获取的患者数据进行数据预处理后再输入数据填充模型,具体为:对离散型数据进行独热编码操作,对连续型数据进行最大最小值归一化操作。
3.根据权利要求1所述的一种不平衡医疗数据缺失值填充方法,其特征在于,患者原始数据记为,其中/>表示第i个患者的原始数据,n为患者数量,k为特征数量;掩码矩阵记为/>,其中/>用于标记第i个患者原始数据中的观察值和缺失值,观察值取1,缺失值取0;使用0预填充患者原始数据中的缺失值,填充后的数据矩阵记为/>,其中/>表示使用0预填充第i个患者原始数据中的缺失值后的患者数据;创建随机矩阵记为/>,其中/>是随机生成的符合标准正态分布的随机数向量,用于填充第i个患者原始数据中的缺失值;使用随机矩阵中的随机数填充患者原始数据中的缺失值,填充后的数据矩阵记为
,其中/>表示使用随机数填充第i个患者原始数据中的缺失值后得到的患者数据,/>,/>表示哈达玛积。
4.根据权利要求3所述的一种不平衡医疗数据缺失值填充方法,其特征在于,所述生成器的损失函数由三部分组成,第一部分是计算生成器生成的观察值与实际观察值之间的差距,使用均方误差作为损失函数;第二部分是生成对抗网络的生成器损失,使用Wasserstein距离作为损失函数;第三部分损失是计算辅助分类器对填补单元填补后的患者数据的预测标签与患者真实标签之间的差距,使用交叉熵函数作为损失函数。
5.根据权利要求4所述的一种不平衡医疗数据缺失值填充方法,其特征在于,所述生成器的损失函数;
第一部分损失函数;
第二部分损失函数;
第三部分损失函数;
其中表示第i个患者数据作为输入时生成器的输出值,/>,G()表示经过生成器后得到的患者数据,yi表示第i个患者的真实标签,D()表示患者数据经过判别器后得到的结果,ti表示第i个患者原始数据经填补单元填补后的患者数据,/>表示辅助分类器对第i个患者的预测标签,/>和/>为超参数,·表示向量内积。
6.根据权利要求3所述的一种不平衡医疗数据缺失值填充方法,其特征在于,所述填补单元中,利用生成器生成的患者数据填补患者原始数据X中的缺失值,填补后的数据矩阵记为/>,其中ti表示第i个患者原始数据经填补单元填补后的患者数据,/>,其中/>表示第i个患者数据作为输入时生成器的输出值。
7.根据权利要求3所述的一种不平衡医疗数据缺失值填充方法,其特征在于,所述判别器的损失函数LD计算公式如下:
;
其中D()表示患者数据经过判别器后得到的结果,表示使用0预填充第i个患者原始数据中的缺失值后的患者数据,ti表示第i个患者原始数据经填补单元填补后的患者数据,·表示向量内积。
8.根据权利要求1所述的一种不平衡医疗数据缺失值填充方法,其特征在于,所述辅助分类器的损失函数LC计算公式如下:
;
其中为第i个患者的标签,由患者数据中诊断结果通过独热编码操作得到,u为患者数据中诊断结果的疾病种类,/>表示辅助分类器对第i个患者的预测标签,是长度为u的向量,向量里的每个值表示辅助分类器预测患者患对应疾病的概率,n为患者数量,,ti表示第i个患者原始数据经填补单元填补后的患者数据,C()表示患者数据经过辅助分类器后得到的结果,·表示向量内积。
9.根据权利要求1-8中任一项所述的一种不平衡医疗数据缺失值填充方法,其特征在于,正式训练数据填充模型的过程中,首先输入包含缺失值的患者数据,判别器计算损失,梯度反向传播更新判别器网络参数;然后生成器计算损失,梯度反向传播更新生成器网络参数;判别器和生成器不断的对抗训练,直至数据填充模型收敛。
10.一种不平衡医疗数据缺失值填充***,其特征在于,包括数据获取模块、数据填充模型构建模块和数据填充模块;所述数据获取模块用于利用医院的信息化***获取患者数据;
所述数据填充模型构建模块用于构建及训练数据填充模型;所述数据填充模型包括数据处理单元、生成器、填补单元、判别器和辅助分类器,生成器和判别器构成生成对抗网络;
所述数据处理单元中,使用掩码矩阵记录患者原始数据中缺失值的位置,使用0预填充患者原始数据中的缺失值,使用随机数填充患者原始数据中的缺失值,并输入生成器;
所述生成器用于学习输入的患者数据的分布,生成新的患者数据,并输入填补单元,所述生成器的输入包括患者数据和患者标签;
所述填补单元用于利用生成器生成的新的患者数据对患者原始数据中的缺失值进行填补;
所述判别器用于对输入的每个患者数据进行辨别,判断是否为观察值,所述判别器的输入包括填补单元填补后的患者数据以及使用0预填充患者原始数据中的缺失值后的患者数据,输出为每个患者数据为观察值的概率;
所述辅助分类器用于对填补单元填补后的患者数据进行预测,将预测结果反馈给生成器;
训练过程包括预训练辅助分类器和正式训练数据填充模型,预训练过程中使用未缺失的患者数据对辅助分类器进行训练,确定辅助分类器网络参数,正式训练过程中辅助分类器网络参数不参与更新;正式训练过程中先训练判别器再训练生成器,判别器和生成器不断的对抗训练,直至数据填充模型收敛;
所述数据填充模块用于将需要填充缺失值的患者数据及患者标签输入训练好的数据填充模型,经过数据处理单元、生成器和填补单元后,输出填充后的患者数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283938.4A CN117034142B (zh) | 2023-10-07 | 2023-10-07 | 一种不平衡医疗数据缺失值填充方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311283938.4A CN117034142B (zh) | 2023-10-07 | 2023-10-07 | 一种不平衡医疗数据缺失值填充方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117034142A CN117034142A (zh) | 2023-11-10 |
CN117034142B true CN117034142B (zh) | 2024-02-09 |
Family
ID=88630271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311283938.4A Active CN117034142B (zh) | 2023-10-07 | 2023-10-07 | 一种不平衡医疗数据缺失值填充方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117524318B (zh) * | 2024-01-05 | 2024-03-22 | 深圳新合睿恩生物医疗科技有限公司 | 新抗原异质数据整合方法及装置、设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165664A (zh) * | 2018-07-04 | 2019-01-08 | 华南理工大学 | 一种基于生成对抗网络的属性缺失数据集补全与预测方法 |
CN111833359A (zh) * | 2020-07-13 | 2020-10-27 | 中国海洋大学 | 基于生成对抗网络的脑瘤分割数据增强方法 |
EP3792830A1 (en) * | 2019-09-10 | 2021-03-17 | Robert Bosch GmbH | Training a class-conditional generative adverserial network |
CN113591954A (zh) * | 2021-07-20 | 2021-11-02 | 哈尔滨工程大学 | 一种工业***中缺失的时序数据的填充方法 |
CN116364290A (zh) * | 2023-06-02 | 2023-06-30 | 之江实验室 | 基于多视图对齐的血透表征识别与并发症风险预测*** |
-
2023
- 2023-10-07 CN CN202311283938.4A patent/CN117034142B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165664A (zh) * | 2018-07-04 | 2019-01-08 | 华南理工大学 | 一种基于生成对抗网络的属性缺失数据集补全与预测方法 |
EP3792830A1 (en) * | 2019-09-10 | 2021-03-17 | Robert Bosch GmbH | Training a class-conditional generative adverserial network |
CN111833359A (zh) * | 2020-07-13 | 2020-10-27 | 中国海洋大学 | 基于生成对抗网络的脑瘤分割数据增强方法 |
CN113591954A (zh) * | 2021-07-20 | 2021-11-02 | 哈尔滨工程大学 | 一种工业***中缺失的时序数据的填充方法 |
CN116364290A (zh) * | 2023-06-02 | 2023-06-30 | 之江实验室 | 基于多视图对齐的血透表征识别与并发症风险预测*** |
Non-Patent Citations (3)
Title |
---|
Miao X等. Generative semi-supervised learning for multivariate time series imputation.Proceedings of the AAAI Conference on Artificial Intelligence.2021,第35卷(第10期),第8983-8991页. * |
基于对抗自编码网络的水利数据补全方法;季琳雅;吕鑫;陶飞飞;曾涛;;计算机工程(04);全文 * |
面向机器学习模型安全的测试与修复;张笑宇等;电子学报;第50卷(第12期);第2884-2918页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117034142A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Heo et al. | Uncertainty-aware attention for reliable interpretation and prediction | |
CN109659033B (zh) | 一种基于循环神经网络的慢性疾病病情变化事件预测装置 | |
Ambekar et al. | Disease risk prediction by using convolutional neural network | |
WO2021120936A1 (zh) | 一种基于多任务学习模型的慢病预测*** | |
CN110957015B (zh) | 电子医疗记录数据的缺失值填充方法 | |
CN111798954A (zh) | 基于时间注意力机制和图卷积网络的药物组合推荐方法 | |
CN117034142B (zh) | 一种不平衡医疗数据缺失值填充方法及*** | |
CN111612278A (zh) | 生命状态预测方法、装置、电子设备及存储介质 | |
WO2024008043A1 (zh) | 一种基于因果关系挖掘的临床数据自动化生成方法及*** | |
CN116759041A (zh) | 一种考虑诊疗事件关系的医疗时序数据生成方法及装置 | |
Du et al. | The effects of deep network topology on mortality prediction | |
Aljawarneh et al. | Pneumonia detection using enhanced convolutional neural network model on chest x-ray images | |
CN116469534A (zh) | 医院叫号管理***及其方法 | |
WO2023184598A1 (zh) | 基于人工智能的心脏模拟器数据矫正***和方法 | |
CN113066531B (zh) | 风险预测方法、装置、计算机设备及存储介质 | |
CN114913984A (zh) | 基于区块链的神经网络联邦学习方法与*** | |
CN115035346A (zh) | 一种基于协作学习方法增强的阿尔兹海默病的分类方法 | |
CN113658688A (zh) | 基于无分词深度学习的临床决策支持方法 | |
Xing et al. | An Enhanced Vision Transformer Model in Digital Twins Powered Internet of Medical Things for Pneumonia Diagnosis | |
Li et al. | MVIRA: A model based on Missing Value Imputation and Reliability Assessment for mortality risk prediction | |
CN110289065A (zh) | 一种辅助生成医学电子报告的控制方法以及装置 | |
CN115762698B (zh) | 一种医疗慢病检查报告数据提取方法及*** | |
Lin et al. | A meta-fusion RCNN network for endoscopic visual bladder lesions intelligent detection | |
Rocheteau | Representation learning for patients in the Intensive Care Unit | |
US20240173012A1 (en) | Artificial Intelligence System for Determining Clinical Values through Medical Imaging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |