掌桥专利:专业的专利平台
掌桥专利
首页

一种基于联邦学习的多临床分期疾病辅助分类方法及系统

文献发布时间:2024-01-17 01:26:37


一种基于联邦学习的多临床分期疾病辅助分类方法及系统

技术领域

本发明属于大数据、医疗技术领域,具体涉及一种基于联邦学习的多临床分期疾病辅助分类方法及系统。

背景技术

随着人工智能技术的迅速发展,传统的手写病历单子已经逐渐被电子病历所替代。基于电子病历进行机器学习训练,致使各种疾病辅助分类模型层出不穷。通过患者输入病理特征值来预测疾病分期,为医生看诊提供辅助建议。然而随着病历数据量增加以及数据保护意识的提升,现有的通过传统机器学习进行多临床分期疾病辅助分类模型训练存在一些缺陷:传统的机器学习模型,属于集中式学习,它需要将各方医院的患者数据进行整合,在整合的过程中,会增加隐私数据泄露的风险。同时也由于医疗数据隐私性高,存在部分医院不愿意共享数据,那么就形成数据孤岛的问题。

发明内容

本发明要解决的问题是提高分类模型的准确率及隐私数据的安全性,提出一种基于联邦学习的多临床分期疾病辅助分类方法及系统。

为实现上述目的,本发明通过以下技术方案实现:

一种基于联邦学习的多临床分期疾病辅助分类方法,包括一个中心服务端和多个愿意参与联邦学习并向中心服务端提交联邦学习任务的客户端,包括如下步骤:

S1、采集病例数据构建病例数据集,将病例数据集输入到客户端,进行分析处理,得到优化的病例数据集;

S2、客户端对步骤S1得到的优化的病例数据集进行XGGridBoost模型训练,得到完成训练的模型参数;

步骤S2的具体实现方法包括如下步骤:

S2.1、构建XGGridBoost初始模型为Obj,计算表达式为:

其中,T为叶子节点的数量,j为第j叶子节点,λ与γ分别为正则化项中控制正则化方式L1和正则化方式L2的正则化的超参数,G

S2.2、客户端对步骤S1得到的优化的病例数据集进行XGGridBoost模型训练,使用步骤S2.1构建的XGGridBoost初始模型进行训练,采用交叉熵作为损失函数,判断预测结果,计算表达式为:

其中,p(x

S3、将步骤S2得到的完成训练的模型参数进行加密处理、压缩处理,得到处理的模型参数发送给中心服务端;

步骤S3的具体实现方法包括如下步骤:

S3.1、将步骤S2得到的完成训练的模型参数采用差分隐私技术进行加密处理,计算表达式为:

P

其中,P

添加噪音的算法采用拉普拉斯算法,计算表达式为:

其中,q'(x)为添加拉普拉斯噪音后的结果,q(x)为原始数据,Δf为查询的敏感度,ε为隐私预算参数;

拉普拉斯噪音的密度函数f(z)的计算表达式为:

其中,z为随机变量取值,b为尺度参数,μ为位置参数,|z-μ|为z与μ的绝对距离;

S3.2、将步骤S3.1加密处理后的模型参数采用LZ77算法与Huffman编码进行结合,首先采用LZ77算法对加密处理后的模型参数进行压缩,然后计算每个压缩参数出现的频率,根据出现的频率,每次选择最小的两个节点合并成一个新的节点,权值相加作为新的节点的权值,不断重复这个过程,直到所有的节点合并成一个根节点,构建Huffman树,最后将每个压缩参数按照生成的Huffman编码进行二进制转换,然后将所有的二进制代码连接,得到处理的模型参数;

S3.3、将步骤S3.2得到的处理的模型参数发送给中心服务端;

S4、中心服务端对接收的处理的模型参数进行解压缩,然后对解压缩的模型参数进行安全聚合,并使用近似算法确定最佳分割点,然后中心服务端将最佳分割点发送给多个客户端;

S5、多个客户端接收最佳分割点后,判断本地决策树是否达到最大深度,判断为否,则根据得到的最佳分割点信息作为本地决策树构建下一层,并重新分配样本进行迭代模型训练,判断为是,则停止构建决策树完成训练,输出训练模型。

进一步的,步骤S1的具体实现方法包括如下步骤:

S1.1、采集病例数据,然后将患者的个人信息、病史信息、体格检查、生化检测、作为特征值,将医生的诊断结果作为标签,然后对病历中存在的错误数据进行剔除,构建病历数据集F1;

S1.2、对步骤S1得到的病历数据集F1进行缺失值填充,得到补充数据的病历数据集F2;

S1.3、对步骤S1.2得到的补充数据的病历数据集F2进行诊断结果无关特征值删除,得到诊断相关数据集F3;

S1.4、对步骤S1.3得到的诊断相关数据集F3进行关联性分析,然后删除诊断相关数据集F3中关联性低的特征值,得到优化的病例数据集F4。

进一步的,步骤S1.2的具体实现方法包括如下步骤:

S1.2.1、对于患者的身高、体重的缺失值,分别计算男性、女性的身高与体重平均值,进行缺失值填充;

S1.2.2、对于腰围与臀围的缺失值,将臀围与腰围分别作为因变量,身高、体重的特征值作为自变量,使用多元线性回归进行预测填充;

S1.2.3、对于生化检测的缺失值,采用基于决策树的集成学习算法进行预测填充。

进一步的,步骤S1.3中的诊断结果无关特征值包括患者的证件号、手机号、个人信息特征值、看诊后的医嘱用药特征值。

进一步的,步骤S1.4的具体实现方法包括如下步骤:

S1.4.1、基于卡方检验法对步骤S1.3得到的诊断相关数据集F3进行关联度分析,卡方检验法的计算表达式为:

其中,f

S1.4.2、基于方差分析法对步骤S1.3得到的诊断相关数据集F3进行关联度分析,方差分析法的计算表达式为:

其中,SSA为组间平方和,SSE为组内平方和,相应的SSA/(k-1)为组间方差,SSE/(n-k)为组内方差,F为方差比;

S1.4.3、将经过关联性分析的患者的查体数据、血样检测结果,尿样检测结果作为特征值集合,患者的诊断结果作为标签集合,构成优化的病例数据集F4。

进一步的,步骤S4的具体实现方法包括如下步骤:

S4.1、中心服务端使用步骤S3.2构建的Huffman树,逐个取出二进制编码并从树的根节点开始比对,直到找到相应的字符为止,然后进行LZ77解码,根据压缩时所用的窗口大小和滑动距离,逐个将匹配数据从滑动窗口中取出,并拼接在一起,得到解压缩的模型参数;

S4.2、对步骤S4.1得到的解压缩的模型参数进行安全聚合,并使用近似算法确定最佳分割点,首先根据特征分布的百分位数,提出候选划分点,接着,将特征映射到候选点划分的分桶中,聚合统计信息,对每个桶内的样本统计值G、H进行累加统计,最后在累加统计量上确定最佳分割点,利用打分函数Gain确定最佳分割点,计算表达式为:

其中,G

选取最大的Gain值,作为最佳分割点;

S4.3、中心服务端将步骤S4.2得到的最佳分割点发送给多个客户端。

一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的一种基于联邦学习的多临床分期疾病辅助分类方法的步骤。

本发明的有益效果:

本发明所述的一种基于联邦学习的多临床分期疾病辅助分类方法,在联邦学习训练过程中,还包括:在客户端本地训练完成后,使用LHC无损数据压缩算法对模型参数进行压缩,减少数据传输量;同时在中心服务端对参数进行解压缩。引入压缩算法用来提高联邦学习的训练性能。

本发明所述的一种基于联邦学习的多临床分期疾病辅助分类方法,采用联邦学习框架,提高了隐私数据的安全性,解决数据孤岛的问题。同时提出使用密文压缩算法,减少数据传输量,提高了模型训练性能。在此训练过程中,综合三个客户端进行模型训练,提高了模型的准确性。

本发明所述的一种基于联邦学习的多临床分期疾病辅助分类方法,针对于痛风病数据集进行实验,痛风病具体的分期阶段为:慢性关节炎期,急性关节炎期,间歇期三种。三个医院客户端数据量分别为18900,23450,20829;将三方数据集进行整合,使用传统的训练方式在本地进行训练,最后实验结果的平均准确率为80.75%;通过使用本发明的分类方法,最后实验结果的平均准确率为85.33%,其中慢性关节炎预测准确率为85%,急性关节炎预测准确率为91%,间歇期预测准确率为80%,可以发现提高了模型的预测准确率。

附图说明

图1为本发明所述的一种基于联邦学习的多临床分期疾病辅助分类方法的流程图;

图2为本发明所述的一种基于联邦学习的多临床分期疾病辅助分类方法的联邦学习的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明,即所描述的具体实施方式仅仅是本发明一部分实施方式,而不是全部的具体实施方式。通常在此处附图中描述和展示的本发明具体实施方式的组件可以以各种不同的配置来布置和设计,本发明还可以具有其他实施方式。

因此,以下对在附图中提供的本发明的具体实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定具体实施方式。基于本发明的具体实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他具体实施方式,都属于本发明保护的范围。

为能进一步了解本发明的发明内容、特点及功效,兹例举以下具体实施方式,并配合附图1-附图2详细说明如下:

具体实施方式一:

一种基于联邦学习的多临床分期疾病辅助分类方法,包括一个中心服务端和多个愿意参与联邦学习并向中心服务端提交联邦学习任务的客户端,包括如下步骤:

S1、采集病例数据构建病例数据集,将病例数据集输入到客户端,进行分析处理,得到优化的病例数据集;

进一步的,步骤S1的具体实现方法包括如下步骤:

S1.1、采集病例数据,然后将患者的个人信息、病史信息、体格检查、生化检测、作为特征值,将医生的诊断结果作为标签,然后对病历中存在的错误数据进行剔除,构建病历数据集F1;

S1.2、对步骤S1得到的病历数据集F1进行缺失值填充,得到补充数据的病历数据集F2;

进一步的,步骤S1.2的具体实现方法包括如下步骤:

S1.2.1、对于患者的身高、体重的缺失值,分别计算男性、女性的身高与体重平均值,进行缺失值填充;

S1.2.2、对于腰围与臀围的缺失值,将臀围与腰围分别作为因变量,身高、体重的特征值作为自变量,使用多元线性回归进行预测填充;

多元线性回归为一个因变量与多个自变量之间的相关关系,其公式可以描述为:

f(x

其中,x

S1.2.3、对于生化检测的缺失值,采用基于决策树的集成学习算法进行预测填充;

生化检测项缺失率较低,使用基于决策树的集成学习算法训练出多个决策树模型,得到每个特征在不同决策树中的重要性分值。然后根据这些重要性分值,选取重要性比较高的特征向量作为输入特征,以这些输入特征作为自变量,使用回归模型对含有缺失值的样本进行预测,得到缺失值的填充结果。在得到多个决策树模型的预测结果后,使用这些结果的平均值来作为最终结果,从而对缺失值进行填充;

S1.3、对步骤S1.2得到的补充数据的病历数据集F2进行诊断结果无关特征值删除,得到诊断相关数据集F3;

进一步的,步骤S1.3中的诊断结果无关特征值包括患者的证件号、手机号、个人信息特征值、看诊后的医嘱用药特征值;

S1.4、对步骤S1.3得到的诊断相关数据集F3进行关联性分析,然后删除诊断相关数据集F3中关联性低的特征值,得到优化的病例数据集F4;

进一步的,步骤S1.4的具体实现方法包括如下步骤:

S1.4.1、基于卡方检验法对步骤S1.3得到的诊断相关数据集F3进行关联度分析,卡方检验法的计算表达式为:

其中,f

上式中分子则代表实际值与期望值的偏差,分母则表示标准化过程。卡方值越大,说明两个变量的相关程度越高;

S1.4.2、基于方差分析法对步骤S1.3得到的诊断相关数据集F3进行关联度分析,方差分析法的计算表达式为:

其中,SSA为组间平方和,SSE为组内平方和,相应的SSA/(k-1)为组间方差,SSE/(n-k)为组内方差,F为方差比;

F值越大说明水平差异越大,自变量对因变量的影响也就越大。

S1.4.3、将经过关联性分析的患者的查体数据、血样检测结果,尿样检测结果作为特征值集合,患者的诊断结果作为标签集合,构成优化的病例数据集F4;

S2、客户端对步骤S1得到的优化的病例数据集进行XGGridBoost模型训练,得到完成训练的模型参数;

具体的,使用XGGridBoost模型进行训练,它将XGBoost与Grid Search结合,通过对病历数据集训练一棵决策树,然后计算出每个样本的预测值与真实值的残差,这些残差被用来训练下一颗树。它通过不断迭代训练树,直到残差越来越小,并最终构建一个基于决策树的梯度提升模型。在训练过程中,引入Grid Search指定超参数的范围和步长,通过不同的组合进行交叉验证,并选择性能最好的组合作为最终超参数进行训练和预测。

进一步的,步骤S2的具体实现方法包括如下步骤:

S2.1、构建XGGridBoost初始模型为Obj,计算表达式为:

其中,T为叶子节点的数量,j为第j叶子节点,λ与γ分别为正则化项中控制正则化方式L1和正则化方式L2的正则化的超参数,G

S2.2、客户端对步骤S1得到的优化的病例数据集进行XGGridBoost模型训练,使用步骤S2.1构建的XGGridBoost初始模型进行训练,采用交叉熵作为损失函数,判断预测结果,计算表达式为:

其中,p(x

交叉熵损失函数能够衡量两个不同概率的分布程度,交叉熵值越小,表示模型的预测结果越好;

S3、将步骤S2得到的完成训练的模型参数进行加密处理、压缩处理,得到处理的模型参数发送给中心服务端;

进一步的,步骤S3的具体实现方法包括如下步骤:

S3.1、将步骤S2得到的完成训练的模型参数采用差分隐私技术进行加密处理,计算表达式为:

P

其中,P

在差分隐私中,隐私保护的目标是对P

添加噪音的算法采用拉普拉斯算法,计算表达式为:

其中,q'(x)为添加拉普拉斯噪音后的结果,q(x)为原始数据,Δf为查询的敏感度,ε为隐私预算参数;

拉普拉斯噪音的密度函数f(z)的计算表达式为:

其中,z为随机变量取值,b为尺度参数,μ为位置参数,|z-μ|为z与μ的绝对距离;

S3.2、将步骤S3.1加密处理后的模型参数采用LZ77算法与Huffman编码进行结合,首先采用LZ77算法对加密处理后的模型参数进行压缩,然后计算每个压缩参数出现的频率,根据出现的频率,每次选择最小的两个节点合并成一个新的节点,权值相加作为新的节点的权值,不断重复这个过程,直到所有的节点合并成一个根节点,构建Huffman树,最后将每个压缩参数按照生成的Huffman编码进行二进制转换,然后将所有的二进制代码连接,得到处理的模型参数;

具体的使用LHC无损数据压缩算法作为压缩算法,该算法是将LZ77算法与Huffman编码进行结合,首先进行初始化,将输入的模型参数分为多个无重叠的块,然后将输入的指针设置为每个块中模型参数的开头,同时创建空字典,用来存储已经遍历过的模型参数;从输入的模型参数当前位置开始,向前查找一段子串,使得该子串在已经遍历过的模型参数中出现过;如果可以找到,则记录该子串在字典中的位置与长度,否则将该位置的单个参数在字典中记录下来。输出记录下来的位置与长度,以及未找到的单个参数。然后将指针移动到下一个未处理的位置,将已经遍历过的参数与新的参数加到字典中。经过多次循环遍历,完成整个模型参数的压缩。然后使用Huffman编码将出现频率较高的字符使用较短的编码,出现频率较低的字符使用较长的编码。具体为计算每个参数出现的频率,根据出现的频率构建Huffman树,每次选择最小的两个节点合并成一个新的节点,权值相加作为新的节点的权值,不断重复这个过程,直到所有的节点合并成一个根节点。最后将每个参数按照生成的Huffman编码进行二进制转换,然后将所有的二进制代码连成一串,即可得到压缩后的数据。

S3.3、将步骤S3.2得到的处理的模型参数发送给中心服务端;

S4、中心服务端对接收的处理的模型参数进行解压缩,然后对解压缩的模型参数进行安全聚合,并使用近似算法确定最佳分割点,然后中心服务端将最佳分割点发送给多个客户端;

进一步的,步骤S4的具体实现方法包括如下步骤:

S4.1、中心服务端使用步骤S3.2构建的Huffman树,逐个取出二进制编码并从树的根节点开始比对,直到找到相应的字符为止,然后进行LZ77解码,根据压缩时所用的窗口大小和滑动距离,逐个将匹配数据从滑动窗口中取出,并拼接在一起,得到解压缩的模型参数;

在解压缩过程中,会根据已经解压的数据和尚未解压的数据不断更新滑动窗口,并根据匹配长度和距离来从窗口中找到压缩后的字节数据进行解压缩;

S4.2、对步骤S4.1得到的解压缩的模型参数进行安全聚合,并使用近似算法确定最佳分割点,首先根据特征分布的百分位数,提出候选划分点,接着,将特征映射到候选点划分的分桶中,聚合统计信息,对每个桶内的样本统计值G、H进行累加统计,最后在累加统计量上确定最佳分割点,利用打分函数Gain确定最佳分割点,计算表达式为:

其中,G

选取最大的Gain值,作为最佳分割点;

S4.3、中心服务端将步骤S4.2得到的最佳分割点发送给多个客户端;

S5、多个客户端接收最佳分割点后,判断本地决策树是否达到最大深度,判断为否,则根据得到的最佳分割点信息作为本地决策树构建下一层,并重新分配样本进行迭代模型训练,判断为是,则停止构建决策树完成训练,输出训练模型。

通过遵循上述步骤,客户端与中心服务端协同构建了一个多临床分期疾病辅助分类模型,每个客户端都可以在本地通过分类模型进行疾病预测。

本发明的优势在于,传统的机器学习训练需要整合多方数据集,然后进行模型训练。在此过程中,存在隐私数据泄露的风险,且存在部分数据方不愿意共享数据,形成数据孤岛的问题。本发明提出基于联邦学习的多临床疾病分期辅助分类方法,在机器学习的基础上融合联邦学习框架,解决了隐私数据泄露的风险以及数据孤岛的问题。同时采用密文压缩算法,有效的减少了数据传输量,提高了联邦学习训练性能。

具体实施方式二:

一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的一种基于联邦学习的多临床分期疾病辅助分类方法的步骤。

本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的一种基于联邦学习的多临床分期疾病辅助分类方法的步骤。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然在上文中已经参考具体实施方式对本申请进行了描述,然而在不脱离本申请的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本申请所披露的具体实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本申请并不局限于文中公开的特定具体实施方式,而是包括落入权利要求的范围内的所有技术方案。

相关技术
  • 多临床分期疾病的辅助分类方法、设备及存储介质
  • 一种基于联邦元学习的罕见疾病分类方法
技术分类

06120116215976