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

一种基于BP神经网络的食源性疾病致病因子预测的方法和系统

文献发布时间:2023-06-19 09:32:16


一种基于BP神经网络的食源性疾病致病因子预测的方法和系统

技术领域:

本发明属于致病因子预测技术领域,特别涉及一种基于BP神经网络的食源性疾病致病因子预测的方法和系统。

背景技术:

食源性疾病(foodborne disease)的定义为“人体摄入被污染的食品所引发的疾病,包括食品生产和制备过程中不同环节污染食品的寄生虫、化学物质和致病菌所引起的一类涵盖范围广的疾病”。食源性疾病对公共卫生、食品行业的健康发展以及社会稳定造成极大的危害,目前许多国家均已开展食源性疾病监测工作。食源性疾病监测体系目的在于鉴别和控制食源性疾病暴发、分析研判致病因子;鉴定易感人群、高风险食品和不良食品操作规程;明确特定致病菌的食源性传播途径;评估食源性疾病影响,减轻食源性疾病危害;制定食品安全评估计划;研究食源性疾病暴发溯源和预警战略措施,在对食源性疾病致病因子算分析预判算法实现方面,Logistic回归属于传统的统计方法过程易于理解但对于输入数据的要求比较高,其要求被分析的数据各个特征项之间是独立的;决策树算法对于输入数据无独立性要求,但其稳定性不好并且处理缺失数据困难;贝叶斯判别分析法应用于食源性疾病致病因子预测其稳定性好,但准确性低;SVM算法对于缺失数据敏感,所以本发明提供一种基于BP神经网络的食源性疾病致病因子预测的方法和系统来解决上述问题。

发明内容:

本发明的目的就在于为了解决上述问题而提供一种基于BP神经网络的食源性疾病致病因子预测的方法和系统,解决了现有小样本稀疏数据条件的属性选择与神经元准确定义问题以及大量含缺失项数据条件下的食源性疾病的致病因子的预测准确率、灵敏度及特异性低的缺点。

为了解决上述问题,本发明提供了一种技术方案:

一种基于BP神经网络的食源性疾病致病因子预测的方法,该预测方法包括以下步骤:

S1、数据采集,收集、整理食源性疾病事故案例,建立食源性疾病样本分析数据库,并对每个样本包含的特征项记录;

S2、确定训练集和测试集并进行属性选择与神经元定义;

S3、对缺失的数据进行预处理,将空值用NaN表示,为了构建准确率较好的深层BP神经网络食源性疾病致病因子预测模型,在训练网络前需要对含NaN的数据做处理;

S4、建立深层BP神经网络系统模型,并用上述训练集数据训练网络;

S5、将测试集数据输入模型,分析灵敏度和特异性。

作为优选,所述S1中数据采集来源于疾病预防控制中心形成的食源性疾病事故分析数据。

作为优选,所述S2中神经网络的输出层的2个神经元,分别为J7“致病因子”与J71“分类”,J7致病因子为字符串型变量,J71“分类”为整型变量,分别为“1=化学污染物2=致病菌3=病毒4=真菌毒素5=寄生虫6=有毒动物7=有毒植物”;

由此可见,该样本集中致病因子只有一个真菌毒素,为“霉菌”,没有寄生虫致病因子,主要以致病菌居多,于是可以将剩下的5种类别根据J7再进行细分。细分标准为,若J7中同种类型的样本数≥4,则将其单独划分为一类,否则不划分。于是增加J70属性,分别为:

0=氨基甲酸酯类农药,1=一般化学污染物,2=瘦肉精,3=钡盐,4=亚硝酸盐,5=有机磷酸酯类杀虫剂,6=致痉挛杀鼠剂,7=组胺,8=变形杆菌,9=一般致病菌,10=大肠埃希菌,11=大肠杆菌,12=弗氏柠檬酸杆菌,13=副溶血性弧菌,14=金黄色葡萄球菌,15=蜡样芽胞杆菌,16=沙门菌,17=阴沟肠杆菌,18=志贺菌,19=诺如病毒,20=霉菌,21=一般有毒动物,22=河豚毒素,23=一般有毒植物,24=菜豆,25=毒蘑菇,26=断肠草,27=曼陀罗,28=美洲商路叶,29=桐油,30=乌头碱

同时,如果J7中同时出现两个或三个致病因子,例如“变形杆菌、副溶血性弧菌、致病性大肠埃希菌”,则将其看作两个或三个不同的样本。将“不明原因”样本丢弃,此时样本量为849。

对于本文的食源性疾病致病因子预测模型,K=30.

输出层:30个神经元,分别对应着J70中的30中不同的致病因子。

作为优选,所述S3中数据

作为优选,所述S4中包括以下步骤

1)、采用深层BP神经网络构建食源性疾病致病因子预测模型;

2)、基于真实样本数据的数学模型建模;

3)、建立计算机应用模型;

4)、基于计算机应用模型,获得致病因子预判结果。

作为优选,所构建预测模型中深层BP神经网络主要包括两个阶段:前向传播阶段和误差反向传播阶段;

前向传播阶段:传播方向为输入层→隐藏层→输出层,根据每层的输入值计算出输出值

输入层第i个节点的输出为:

第l-1层隐含层第个节点输出为:

输出层第个节点输出为:

误差反向传播阶段:即对于训练样本输入数据x

其中L(x)为误差函数,可以为均方误差。训练的目标是使J(W,b;x,y)最小化。采用梯度下降方法沿前向传播阶段的反方向逐层返回,对各层神经元节点的权值和阈值进行修正:

通过上述训练使误差逐步减小,修改后的网络的最终输出接近目标输出值。

上述模型中,n

x

y

f

作为优选,所述基于真实样本数据的数学模型建模是基于上述深层神经网络原理和前述步骤定义的神经元,构建深层BP神经网络构建高血压预测模型,其包括输入层、L层隐藏层、输出层;

输入层:包括96个神经元特征属性;

隐藏层:取L层隐藏层,每个隐藏层n个神经元。

输入处理函数:‘fixunknowns’即对输入数据预处理;

传递函数:对于隐藏层奇数层传递函数为tan-sigmoid型函数

输出层:30个神经元,分别对应着J70中的30中不同的致病因子。

网络训练函数:量化共轭梯度法。

作为优选,所述建立计算机应用模型根据数学模型,应用python的内置BP神经网络函数设置上述相应参数编写程序实施计算机仿真建模,建立深层神经网络的食源性疾病致病因子预测应用模型,利用训练集数据对深层BP神经网络进行训练并保存训练出的网络net,用测试集数据对net输出结果进行测试并分析其准确率、灵敏度和特异性。

作为优选,所述S5中根据计算公式:

其中Ac表示训练集的准确率(Accuracy),Se表示训练集的灵敏度(Sensitivity),Sp表示训练集的特异性(Specificity),TAc表示测试集的准确率(Accuracy of the testset),TSe表示测试集的灵敏度(Sensitivity of the test set),TSp表示测试集的特异性(Specificity of the test set)。

可得到BP神经网络食源性疾病致病因子判别模型的系统性能。

根据深层BP神经网络预测致病因子的ROC曲线,可以看出50层隐藏层,每层200个神经元的深层BP神经网络预测模型对于预测效果是最好的,确定深层BP神经网络预测模型的隐藏层数为50,隐藏层神经元个数为200。

一种基于BP神经网络的食源性疾病致病因子预测的系统,该系统包括数据采集模块、数据储存模块、数据归一化模块、数据预处理模块、神经元训练模块、BP神经网络预测模块、WEB服务器和移动设备;

所述数据采集模块用于采集食源性疾病数据;

所述数据储存模块用于存储数据采集模块获取的数据;

所述数据归一化模块用于将食源性疾病数据划分为训练样本集和测试样本集,并进行数据归一化;

所述数据预处理模块用于训练网络前对含空值的数据做处理;

所述神经元训练模块用于对神经网络进行训练;

所述BP神经网络预测模块用于构建神经网络预测模型;

所述WEB服务器用于存储预测结果数据,并将预测结果发送至移动设备。

本发明的有益效果:

本发明所述的一种基于BP神经网络的食源性疾病致病因子预测的方法和系统,建立深层BP神经网络模型,通过增加神经网络隐藏层的层数改进网络结构,优化网络计算复杂度,建立食源性疾病流行病学致病因子精准分析预测网络模型,并通过带有自学习功能的动态迁移网络实时更新迭,提高了食源性疾病致病因子预测的判别模型网络的执行效率和灵敏度;对缺失的数据进行预处理,重构了含缺失项的数据并对其进行分析,使之参与有效网络计算;对非数值特征项数据进行编码,将文本数据转化为数值数据便于分析;确定影响食源性疾病致病因子预测的特征项并进行编码,确定输入层的神经元;对于一些食源性疾病致病因子样本量较少的自学习性,自学习,通过日后的使用,样本量的增加,从而增加目前小样本致病因子的预测概率,为食源性疾病现场数据信息采集、致病因子分析预判、实验室检验支持以及医学辅助诊断提供理论与实践基础。

附图说明:

为了易于说明,本发明由下述的具体实施及附图作以详细描述。

图1为本发明的预测方法示意图;

图2为本发明的深层BP神经网络示意图;

图3为本发明的深度BP神经网络的模型示意图;

图4为本发明的深层BP神经网络预测致病因子的ROC曲线示意图;

图5为本发明的预测系统示意图。

具体实施方式:

如图1-5所示,本具体实施方式采用以下技术方案:一种基于BP神经网络的食源性疾病致病因子预测的方法,该预测方法包括以下步骤:

S1、数据采集,收集、整理食源性疾病事故案例,建立食源性疾病样本分析数据库,并对每个样本包含的特征项记录;

S2、确定训练集和测试集并进行属性选择与神经元定义;

S3、对缺失的数据进行预处理,将空值用NaN表示,为了构建准确率较好的深层BP神经网络食源性疾病致病因子预测模型,在训练网络前需要对含NaN的数据做处理;

S4、建立深层BP神经网络系统模型,并用上述训练集数据训练网络;

S5、将测试集数据输入模型,分析灵敏度和特异性。

其中,所述S1中数据采集来源于疾病预防控制中心形成的食源性疾病事故分析数据。

其中,所述S2中神经网络的输出层的2个神经元,分别为J7“致病因子”与J71“分类”,J7致病因子为字符串型变量,J71“分类”为整型变量,分别为“1=化学污染物2=致病菌3=病毒4=真菌毒素5=寄生虫6=有毒动物7=有毒植物”。

其中,所述S3中数据

其中,所述S4中包括以下步骤

1)、采用深层BP神经网络构建食源性疾病致病因子预测模型;

2)、基于真实样本数据的数学模型建模;

3)、建立计算机应用模型;

4)、基于计算机应用模型,获得致病因子预判结果。

其中,所构建预测模型中深层BP神经网络主要包括两个阶段:前向传播阶段和误差反向传播阶段;

前向传播阶段:传播方向为输入层→隐藏层→输出层,根据每层的输入值计算出输出值

输入层第i个节点的输出为:

第l-1层隐含层第个节点输出为:

输出层第个节点输出为:

误差反向传播阶段:即对于训练样本输入数据x

其中L(x)为误差函数,可以为均方误差。训练的目标是使J(W,b;x,y)最小化。采用梯度下降方法沿前向传播阶段的反方向逐层返回,对各层神经元节点的权值和阈值进行修正:

通过上述训练使误差逐步减小,修改后的网络的最终输出接近目标输出值。

上述模型中,n

x

y

f

其中,所述基于真实样本数据的数学模型建模是基于上述深层神经网络原理和前述步骤定义的神经元,构建深层BP神经网络构建高血压预测模型,其包括输入层、L层隐藏层、输出层;

输入层:包括96个神经元特征属性;

J31","J32","J33","J431","J432","J531","J532","J533","Q","Q11","Q13","Q14","Q15","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10","Q12","Q16","Q17","Q18","Q19","Q20","Q21","Q22","Q23","Q24","Q25","Q26","Z","Z1","Z21","Z22","Z23","Z24","Z3","Z4","Z5","Z111","Z112","Z113","Z114","Z115","Z116","Z117","Z118","Z119","Z1110","Z1111","Z1112","H","H1","H2","H3","X","X1","X2","X3","X4","M","M1","M2","M3","M4","S","S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","S11","S12","S13","S14","S15","S161","S162","S163","S164","S165","P","P1","P2","P3","P4","P5";

隐藏层:取L层隐藏层,每个隐藏层n个神经元,具体如下表;

Number of neurons and layers in the hidden layer

输入处理函数:‘fixunknowns’即对输入数据预处理;

传递函数:对于隐藏层奇数层传递函数为tan-sigmoid型函数

输出层:30个神经元,分别对应着J70中的30中不同的致病因子。

网络训练函数:量化共轭梯度法。

其中,所述建立计算机应用模型根据数学模型,应用python的内置BP神经网络函数设置上述相应参数编写程序实施计算机仿真建模,建立深层神经网络的食源性疾病致病因子预测应用模型,利用训练集数据对深层BP神经网络进行训练并保存训练出的网络net,用测试集数据对net输出结果进行测试并分析其准确率、灵敏度和特异性。

其中,所述S5中根据计算公式:

其中Ac表示训练集的准确率(Accuracy),Se表示训练集的灵敏度(Sensitivity),Sp表示训练集的特异性(Specificity),TAc表示测试集的准确率(Accuracy of the testset),TSe表示测试集的灵敏度(Sensitivity of the test set),TSp表示测试集的特异性(Specificity of the test set);

可得到BP神经网络食源性疾病致病因子判别模型的系统性能,如下表

一种基于BP神经网络的食源性疾病致病因子预测的系统,该系统包括数据采集模块、数据储存模块、数据归一化模块、数据预处理模块、神经元训练模块、BP神经网络预测模块、WEB服务器和移动设备;

所述数据采集模块用于采集食源性疾病数据;

所述数据储存模块用于存储数据采集模块获取的数据;

所述数据归一化模块用于将食源性疾病数据划分为训练样本集和测试样本集,并进行数据归一化;

所述数据预处理模块用于训练网络前对含空值的数据做处理;

所述神经元训练模块用于对神经网络进行训练;

所述BP神经网络预测模块用于构建神经网络预测模型;

所述WEB服务器用于存储预测结果数据,并将预测结果发送至移动设备。

具体的:一种基于BP神经网络的食源性疾病致病因子预测的方法和系统,使用时,首先,数据采集,收集、整理食源性疾病事故案例,建立食源性疾病样本分析数据库,并对每个样本包含的特征项记录,确定训练集和测试集并进行属性选择与神经元定义,对缺失的数据进行预处理,将空值用NaN表示,为了构建准确率较好的深层BP神经网络食源性疾病致病因子预测模型,在训练网络前需要对含NaN的数据做处理,建立深层BP神经网络系统模型,并用上述训练集数据训练网络,将测试集数据输入模型,分析灵敏度和特异性,建立深层BP神经网络模型,通过增加神经网络隐藏层的层数改进网络结构,优化网络计算复杂度,建立食源性疾病流行病学致病因子精准分析预测网络模型,并通过带有自学习功能的动态迁移网络实时更新迭,提高了食源性疾病致病因子预测的判别模型网络的执行效率和灵敏度;对缺失的数据进行预处理,重构了含缺失项的数据并对其进行分析,使之参与有效网络计算;对非数值特征项数据进行编码,将文本数据转化为数值数据便于分析;确定影响食源性疾病致病因子预测的特征项并进行编码,确定输入层的神经元;对于一些食源性疾病致病因子样本量较少的自学习性,自学习,通过日后的使用,样本量的增加,从而增加目前小样本致病因子的预测概率,为食源性疾病现场数据信息采集、致病因子分析预判、实验室检验支持以及医学辅助诊断提供理论与实践基础。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。

技术分类

06120112204530