首页> 中国专利> 一种基于多分支链式神经网络的心血管疾病分类方法和装置

一种基于多分支链式神经网络的心血管疾病分类方法和装置

摘要

本发明涉及一种基于多分支链式神经网络的心血管疾病分类方法。针对传统的神经网络及机器学习模型在小数据集上分类性能较差、忽略标签之间相关性的问题,提出了一种多分支链式神经网络。该方法在各分支的神经网络中加入预测标签序列,以利用标签间的相关性;在不同分支中加入的预测标签序列均采用不同的相关性计算方式,以避免忽略标签间关系的多样性。为了测试该网络模型的性能,在医院方提供的心血管疾病数据集上进行实验,实验结果表明:多分支链式神经网络与及其他神经网络及机器学习模型相比,达到了较高的性能,大大提升了模型的泛化能力。

著录项

说明书

技术领域

本发明涉及前馈神经网络,属于深度学习领域,具体涉及一种基于多分支链式神经网络的心血管疾病分类方法和装置。

背景技术

传统监督学习中,一个样例仅与一个类别标签相关联,这类问题成为单标签分类问题。但在医学数据的诊断及分类问题中,一个病例样本可能同时具有多个不同的病历标签。例如,一个患者可能同时患有多种不同的疾病。本发明称这类问题为多标签分类问题。

多标签分类问题已逐渐成为机器学习领域一个新兴的热门研究点。在多标签分类中,最常见的方法就是问题转换法,即:通过将多标签分类问题转变为若干个单标签二分类问题获或多分类问题;BR(binary relevance)方法是最常用的方法,它将分类中每个标签都看作一个单独的标签,并针对其训练一个独立的分类器;该方法虽然有效,但往往忽略了标签之间的相关性,因此在数据量较小的医学数据集上无法取得良好的性能,并且当标签数较多时,分类器也随之增多,会大大增加分类过程中的计算量,增大资源消耗。LP(labelpowerset)是另一种常见的问题转化方法,他将训练数据中所有的标签组合都作为一种新的类别,通过这种方式将多标签分类问题转化为单标签多分类问题,该方法在一定程度上利用了标签之间的相关性,但随着标签数及数据量的增加,在大数据集上训练时,会占用过高的计算资源,在较小的数据集上又非常容易出现过拟合问题。

综上所述,问题转化方法不仅忽略了多标签中的相关性,而且在较大或者较小的数据集上都存在着计算资源消耗大和过拟合的严重问题。在多标签分类中,一个标签的信息往往会对模型学习另一个标签提供有用的信息,尤其在数据量较小而标签数较多的分类场景中,充分的利用多标签之间的相关性能够促进模型对数据特征的学习,有效增强模型在小数据集上的分类性能。从标签相关性方面入手,处理多标签分类问题已经逐渐成为多标签分类领域中一个新的研究方向,如最近的LEAD、ML-LOC等算法,都是基于标签之间的关系进行数据处理的方法。

多标签分类可描述为:一直在实数域R上的d维度空间X=R

Cheng等人基于标签关系处理的基础上提出了PC算法,对于未分类样本x,通过概率乘积规则计算出每种标签组合的概率:

但是该方法中采用的单分类器策略,并存在着标签的分类顺序问题;如果某个标签的分类结果出现错误,那么这个错误会严重干扰后续标签的错误。

多标签分类中,由于标签关系的计算方式不同,分类顺序也具有很大的不稳定性和多样性;read等人提出了EC算法,采取多个随机顺序投票的方式,仍基于单分类器模型,虽性能上取得了进展,但能良好的解决分类器的顺序问题。

如上文所述,问题转化方法存在着明显的缺陷,而前人提出的针对标签之间关系进行处理的方法,往往基于单个分类模型;而在分类中某个标签出现分类错误时,该错误会严重影响后续一系列标签的分类结果;因此在多标签分类中,不仅标签的分类顺序很重要,分类器的性能也十分关键,而单个分类模型的性能又非常有限。

发明内容

所以本发明为了解决上述问题,提出了一种基于多分支链式神经网络的心血管疾病分类方法,充分利用多标签之间的相关性并集成多个分类器的结果,根据投票决定最终分类结果,其具体实现如下:

根据本发明实施例的第一方面,提供了一种基于分类学习的快速智能跟踪方法,包括以下步骤:

计算各标签之间的关系,统计标签数量,根据标签数量及相关性得到降序的标签序列;

将数据的特征X输入神经网络,根据对应的标签序列对序列中第一个标签进行分类,得到分类结果后将此标签及结果加入X;

再根据X对序列中第二个标签进行分类,得出第二个标签及结果再加入X;

重复上述步骤,对序列中所有标签进行分类,形成一个分支的链式分类结构;

对不同分支的链式神经网络采用不同的标签序列,集成所有分支的分类结果,最终以投票的方式得出分类结果。

在一些实施例中,基于前述方案,标签相关性计算方法为三种不同的相关性计算方法。

在一些实施例中,基于前述方案,标签相关性计算方法为皮尔逊相关系数法、互信息法、卡方检验法。

根据本发明实施例的第二方面,提供了一种基于多分支链式神经网络的心血管疾病分类装置,所述装置包括:

计算模块,用于计算各标签之间的关系,统计标签数量,根据标签数量及相关性得到降序的标签序列;

分类模块,用于将数据的特征X输入神经网络,根据对应的标签序列对序列中第一个标签进行分类,得到分类结果后将此标签及结果加入X;再根据X对序列中第二个标签进行分类,得出第二个标签及结果再加入X;

投票模块,用于对不同分支的链式神经网络采用不同的标签序列,集成所有分支的分类结果,最终以投票的方式得出分类结果。

根据本发明实施例的第三方面,提供了一种计算设备,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述基于分类学习的快速智能跟踪方法的步骤。

根据本发明实施例的第四方面,提供了一种计算机可读介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述基于分类学习的快速智能跟踪方法的步骤。

本发明实施例可以包括以下有益效果:本发明提出了一种基于多分支链式神经网络的心血管疾病分类方法。该方法在各分支的神经网络中加入预测标签序列,以利用标签间的相关性,提高模型在小数据集上的分类性能;在不同分支中加入的预测标签序列均采用不同的相关性计算方式,以充分利用标签间关系的多样性,进一步提升模型的分类性能。

附图说明

图1为本申请实施提供的一种基于多分支链式神经网络的心血管疾病分类方法示意图;

图2为本申请实施提供的一种基于多分支链式神经网络的心血管疾病分类方法中分支数和average precision关系的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。

基于前人方法的特点及存在的缺陷,本发明提出了一种基于多分支链式神经网络的心血管疾病分类方法,解决了上述问题。总体结构如附图1所示,可以看出,本发明采取了多分支集成策略,加入多种不同的标签序列,充分利用了标签相关性及关系多样性,最终对各分支输出进行集成并投票得出最终输出;即使在单个分类器中出现上文中所述的分类错误,也会在集成投票中被稀释,大大增强模型的鲁棒性。

其中各分支采用的分类标签序列计算方法为:

假设数据集中样本数为k,k个样本对应的标签为:{y

w=[w

其中:y

根据所有标签统计结果w进行降序排列,得到各标签标出现频率序列S(w)。

标签相关性计算方法为:

1.皮尔逊相关系数法;可定义为:

其中n为待计算的特征数,i代表第i个特征;X为待计算特征,

2.互信息法:

其中x,y分别代表特征和标签,p(x,y)代表特征和标签的联合概率分布函数,p(x)、p(y)分别是特征和标签的边缘概率分布函数。

3.卡方检验法:

其中n为特征数,x

根据上文中标签的频率序列S(w),首先取序列中第一个标签l

为了避免标签序列可能产生的分类结果不稳定,采用多分支结果集成投票的方式进行稀释。投票方法如表1,其中B为分支,Y为标签:

表1多分支链式神经网络分类器的集成投票过程

该投票方法会产生一个置信度向量V,表着各标签投票后的置信度;由公式:

Y=f

计算出最终的分类结果。该公式为结果判定公式,根据置信度向量中的值判定最终分类结果,其中t为判断阈值,设为0.5。

本发明所有实验均采用GTX1080TI平台、NSORFLOW开源框架;选用医院所提供的心血管疾病诊断数据作为评估数据集;该数据集较小,样本数为8036,其中选取了65维特征作为训练特征。实验中采用的对比算法有EC、PC、LEAD、ML-KNN、BSVM、BPNN。其中考虑了标签相关性的方法为EC、PC、LEAD,未考虑相关性的方法为KNN、BSVM及BPNN(神经网络)。

本发明采用新型的多分支集成结构,该结构中各分支均使用基于标签序列的链式分类策略。标签序列的生成使用互信息增益、相关系数等方式计算各标签之间的关系,统计标签数量,根据标签数量及相关性得到降序的标签序列,因为标签序列中排名靠前的标签在数据中出现频率较高,因此出现误分的可能性也较小;同样,序列中相邻的标签相关性也最高,即:某样本出现该标签时继而出现相邻标签的概率最高;分类过程中,分类器按照标签序列中的标签顺序进行分类,可以充分利用标签之间的相关性,很大程度上避免了因数据不足而导致分类器在单个标签分类时产生的过拟合问题,有利于提高模型分类性能。

多标签之间的相关性计算根据不同的方式及评价指数得到的标签序列也有所不同,因此在使用不同标签序列进行分类时,性能存在很大的不稳定性和多样性。该模型集成多个链式神经网络,对不同标签序列进行分类,最终将分类结果通过投票的方式进行集成,得到最终的分类结果。

根据前述的心血管疾病诊断数据,输入数据的特征,如:BMI、血压、药物服用情况等,记为X,然后将X输入到神经网络,根据对应的标签序列,如:缺血性卒中、大出血、小出血、心源性死亡等临床症状的序列,对序列中第一个标签,如上述序列中的缺血性卒中进行分类,得到分类结果。结果为1表示出现该症状,结果为0表示不出现该症状。然后将此标签及结果加入X,再根据X对序列中第二个标签,如上述序列中的大出血进行分类;得出第二个标签及结果。同样地,结果为1表示出现该症状,结果为0:表示不出现该症状再加入X。以此步骤,对序列中所有标签(示例为7个)进行分类,形成某一分支的链式分类结构。三个分支的链式神经网络采用不同的标签序列,集成所有分支的分类结果,即各临床症状是否出现。最终以投票的方式得出最终分类结果。

本发明需要集成多个分支结果以进行投票,因此针对集成的分支个数进行了实验,以average precision为评估指标,实验结果如附图2所示;

从附图2可以看出,当集成投票的分支数达到一定数量时,因为标签序列产生的分类错误更容易被稀释,模型性能达到较好的性能;但考虑到分支较多会导致较高的复杂度和计算资源,因此选择分支数为3;后续实验也都基于3分支的模型进行。

使用Hamming loss、one-error、coverage、ranking loss、average precision等作为评估指标,训练方式采用K折交叉验证。实验结果如表2所示。

表2多分支链式神经网络分类器和其他方法在数据集上的实验结果比较

表3多分支链式神经网络分类器中三个分支的单独性能试验结果比较

根据以上实验数据,可以看出:

如表2所示,注重标签关系的方法如EC、PC、LEAD,在除one-error外的四项指标中均优于忽略标签关系的方法;这说明标签相关性在小数据集上分类起到了至关重要的作用;本发明在Hamming loss、one-error、coverage、ranking loss、average precision五项指标中均优于其他方法,其中在average precision上最为突出,表明本发明充分利用了不同标签序列的多样性;优先判断出现频率较大及高相关度的标签,很大程度上避免了后续标签错误信息的出现,有效减少了错误率。

如表3所示,本发明中采用不同标签序列的三个分支的性能存在较大差异,这表明标签序列的不同对分类性能影响较大;对多分支输出进行集成投票的策略,可以有效的稀释标签序列带来的负面影响。

本发明针对传统的神经网络及机器学习模型在小数据集上分类性能较差、不能充分利用标签之间相关性的问题,通过对前人方法的分析和比较,提出了一种基于多分支链式神经网络的心血管疾病分类方法。该方法在各分支的神经网络中加入预测标签序列,以利用标签间的相关性,提高模型在小数据集上的分类性能;在不同分支中加入的预测标签序列均采用不同的相关性计算方式,以充分利用标签间关系的多样性,进一步提升模型的分类性能。实验结果表明:多分支链式神经网络与及其他神经网络及机器学习模型相比,达到了较高的性能,大大提升了模型的泛化能力,为临床诊断提供重要依据。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号