一种基于上下文概率神经网络的房颤心脏病诊断方法
文献发布时间:2023-06-19 13:49:36
技术领域
本发明属于房颤心脏病诊断技术领域,特别涉及基于上下文概率神经网络的房颤心脏病诊断方法。
背景技术
通过计算机的技术对房颤心脏病进行诊断,主要方法是根据已知的数据集进行训练得到模型,测试数据进行测试,并得到诊断的效果,如:该患者有无房颤心脏病,如果有房颤心脏病,是属于哪种类型等。利用计算机相关技术对房颤心脏疾病进行诊断,可以减轻医生人工诊断的负担,并且诊断结果可以用于参考,减少误判率。
目前采用的房颤心脏诊断技术效率不高,主要是采用人工诊断,应用于临床的系统也比较少,诊断准确率也不是很理想。
发明内容
本发明的目的是为克服上述现有技术存在的缺点和不足,提供基于上下文概率神经网络的房颤心脏病诊断方法。通过在国际标准数据集Heart上测试,和其他两种房颤心脏诊断算法进行对比,该算法的整体诊断效果较优于其它两种诊断算法。
本发明技术方案:
基于上下文概率神经网络的房颤心脏病诊断方法,包括以下步骤:
第1步、构造上下文概率神经网络;
第2步、遗传算法优化上下文概率神经网络;
第3步、对于测试集中的数据,根据优化后的上下文概率神经网络,对数据进行识别,并输出结果。
第1步中所述的构造上下文概率神经网络具体过程:
神经网络模式层的每一个神经元,是通过训练数据集的输入和输出同时进行构造。
第2步中所述的遗传算法优化上下文概率神经网络包含以下步骤:
第2.1步、初始化训练数据和测试数据:将Heart原始数据集分为训练集和测试集;随机选择80%的数据作为训练集,剩下的20%作为测试集。Heart数据集一共有270个模式,13个输入变量,2类;
第2.2步、构造上下文概率神经网络;
第2.2.1步、输入层。所有的输入-输出对,都是来自于训练数据集;
第2.2.2步、模式层。模式层中的神经元都是基于上下文的模式神经元。模式层的输出是通过高斯函数来实现,表达式如下所示:
其中,X表示输入数据,p表示测量空间的维数,m表示模式的总数,i表示第i个模式层,X
第2.2.3步、总和层。计算前一层输出的总数;
第2.2.4步、输出层。根据总和层计算总的输出;
第2.3步、遗传算法优化构造的上下文概率神经网络;
第2.3.1步、遗传算法初始化。初始化需要优化的上下文概率神经网络的参数,包括:输入变量的个数,哪些输入变量被选择,聚类的个数,上下文文本的数量;
第2.3.2步、遗传算法的杂交。具体的方法包括:
第2.3.2.1步、从种群中随机选择两个个体;
第2.3.2.2步、根据杂交概率,进行杂交操作;
第2.3.2.3步、产生后代,如果后代不是合适的个体,取消杂交操作;
第2.3.3步、遗传算法的变异。具体的方法包括:
第2.3.3.1步、从种群中随机选择一个个体;
第2.3.3.2步、根据变异概率,进行变异操作;
第2.3.3.3步、产生后代,如果后代不是合适的个体,取消变异操作;
第2.3.4步、输出最优的上下文概率神经网络;
通过PI或EPI进行评价,得到最优的上下文概率神经网络。其中,PI是用来评价训练数据的性能,EPI是评价测试数据的性能。具体的表达式如下:
PI(orEPI)=(1-F/N)*100%
其中,F表示错误分类模型的数量,N表示训练数据或测试数据的所有模式;
根据上下文概率神经网络的房颤心脏病诊断方法,并输出最终的识别结果。所述的方法是:根据遗传算法优化的上下文概率神经网络,通过测试集中的数据进行输入,对数据进行识别,并输出最终的识别结果。
本发明的优点和有益效果:
本发明将上下文概率神经网络进行房颤心脏病诊断。首先构造上下文概率神经网络,然后采用经典的遗传算法进行优化上下文概率神经网络,最后将优化后的上下文概率神经网络进行房颤心脏病诊断。在测试集上进行识别出最终结果。该发明与传统的方法相比,能够提高房颤心脏病诊断的准确率。
附图说明
图1是本发明基于上下文概率神经网络的房颤心脏病诊断方法的算法流程图;
图2是Heart数据集预处理流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的详细说明。
图1对本发明提供的基于上下文概率神经网络的房颤心脏病诊断方法进行了详细步骤说明,本发明提供的方法包括以下步骤:
第1步、构造上下文概率神经网络;
神经网络模式层的每一个神经元,是通过训练数据集的输入和输出同时进行构造。
第2步、遗传算法优化上下文概率神经网络;
遗传算法优化上下文概率神经网络主要包含以下步骤:
第2.1步、初始化训练数据和测试数据:将Heart原始数据集分为训练集和测试集。随机选择80%的数据作为训练集,剩下的20%作为测试集。Heart数据集一共有270个模式,13 个输入变量,2类;
第2.2步、构造上下文概率神经网络;
第2.2.1步、输入层。所有的输入-输出对,都是来自于训练数据集;
第2.2.2步、模式层。模式层中的神经元都是基于上下文的模式神经元。模式层的输出是通过高斯函数来实现,表达式如下所示:
其中,X表示输入数据,p表示测量空间的维数,m表示模式的总数,i表示第i个模式层,X
第2.2.3步、总和层。计算前一层输出的总数;
第2.2.4步、输出层。根据总和层计算总的输出;
第2.3步、遗传算法优化构造的上下文概率神经网络;
第2.3.1步、遗传算法初始化。初始化需要优化的上下文概率神经网络的参数,包括:输入变量的个数,哪些输入变量被选择,聚类的个数,上下文文本的数量。
第2.3.2步、遗传算法的杂交。具体的方法包括:
第2.3.2.1步、从种群中随机选择两个个体;
第2.3.2.2步、根据杂交概率,进行杂交操作。设置杂交概率为0.2,随机生成0 到1之间的数,如果小于0.2,进行杂交操作,如果大于0.2,不做杂交操作;
第2.3.2.3步、产生后代,如果后代不是合适的个体,取消杂交操作;
第2.3.3步、遗传算法的变异。具体的方法包括:
第2.3.3.1步、从种群中随机选择一个个体;
第2.3.3.2步、根据变异概率,进行变异操作。设置变异概率为0.1,随机生成0 到1之间的数,如果小于0.1,进行变异操作,如果大于0.1,不做变异操作;
第2.3.3.3步、产生后代,如果后代不是合适的个体,取消变异操作。
第2.3.4步、输出最优的上下文概率神经网络;
通过PI或EPI进行评价,得到最优的上下文概率神经网络。其中,PI是用来评价训练数据的性能,EPI是评价测试数据的性能。具体的表达式如下:
PI(orEPI)=(1-F/N)*100%
其中,F表示错误分类模型的数量,N表示训练数据或测试数据的所有模式。
第3步、根据优化后的上下文概率神经网络,对于测试集中的数据进行识别,并输出最终的识别结果。
我们将本发明所提供的基于上下文概率神经网络(Context-based probabilityneural network,CNN)的房颤心脏病诊断方法,它的准确率与K近邻算法(K-nearstneighbors, KNN)、禁忌搜索K近邻算法(Tabu search K-nearst neighbors,TS-KNN)两种方法进行对比,实验结果如表1所示。本实验中,我们采取随机取样的方法采样,作为训练数据和测试数据,每次抽取80%样本作为训练集,剩下的20%作为测试集。Sample_X表示测试数据集,其中X 表示第X次随机抽样:
实验结果表明,本发明的房颤心脏病诊断准确率在多数情况下优于其他两种房颤心脏病诊断诊断方法。
表1.在国际标准数据集正确检测率的比较
- 一种基于上下文概率神经网络的房颤心脏病诊断方法
- 一种基于小概率神经网络的电路故障诊断方法及装置