一种基于内省学习的案例推理属性权重调整方法

文档序号:27975908发布日期:2021-12-15 00:25阅读:104来源:国知局
一种基于内省学习的案例推理属性权重调整方法

1.本发明涉及人工智能领域及医疗辅助系统技术领域,具体涉及一种基于内省学习的案例推理属性权重调整方法。


背景技术:

2.脉搏波中蕴藏着丰富的心血管生理病理信息,脉搏波的波形特征如形态、强度、速率与节律等信息与心血管状态密切相关,临床上常利用脉搏波检测设备分析心血管功能。脉搏波检测设备可以得到大量波形特征信息,利用这些波形数据对心血管病的诊断提供辅助决策支持具有现实意义。
3.案例推理(cbr)是人工智能领域一种较新的问题求解和机器学习方法,其基本思想是利用过去解决类似问题的经验案例(或称源案例)进行推理求解新问题(或称目标案例)。利用案例推理对脉搏波数据所代表的心血管状态进行诊断时,可利用以前检测的脉搏波及相应的诊断结果建立历史案例库,当有新的待诊波形时,首先从历史库中检索出与当前待诊断脉搏波波形参数相似的历史记录,然后根据这些相似历史记录中的诊断结果为当前波形提供建议的诊断结果,该建议可为人们的日常检测或医生的临床检查提供辅助决策支持。
4.现有的将cbr应用于医疗辅助系统的技术,如中国专利cn110974260a公开的一种基于脑电特征的案例推理抑郁症识别系统,通常案例检索的成功与否直接关系到整个系统的性能优劣。cbr的检索目标是快速有效地从案例库中找到尽可能少的与问题描述最相似的案例。在检索策略方面主要有知识导引策略、模板检索策略以及knn检索策略等。其中,以相似度为检索原则的knn策略得到了广泛关注,但这种策略对于噪声或者不相关的数据比较敏感。这一问题的解决通常依赖于给案例属性分配不同的权重。确定权重的方法主要有主观法和客观法,主观分析常用的定权方法有:专家咨询法、调查统计法、无差异折衷法、相关分析法等,也包括应用较为广泛的层次分析法。由于这些传统的主观分析法过分依赖于主观判断和经验,会给相似案例检索的准确性造成影响。于是,一些客观分析法被相继提出,例如,遗传算法、信息熵等,但这些方法一旦确定权重便不再调整,即使案例库处于不断更新之中,实际是一种消极学习方式。因此,有必要从新的角度探索权重的动态调整方法,赋予其积极学习能力。


技术实现要素:

5.为了赋予应用案例推理的医疗辅助系统积极学习能力,使其能够解决权重的动态调整的技术问题,本发明提出的技术方案包括以下三个方面的内容:
6.第一方面,提出一种案例推理的属性权重调整应用程序,包括以下模块:
7.检索相似案例模块,被配置为:
8.获取心血管病案例的训练集b,遍历所述b中的所有n个目标案例,
9.对于每个目标案例进行包括如下步骤的迭代:
10.从心血管病案例的历史集a中检索出k个与所述目标案例最相似案例;
11.若所述最相似案例中有被正确分类的案例,更新所述被正确分类的案例的属性权重;
12.更新属性权重模块,被配置为:
13.增加所述被正确分类的案例与所述目标案例相匹配的属性的权重;
14.减少所述被正确分类的案例与所述目标案例不匹配的属性的权重;归一化模块,被配置为:
15.按式i计算得到归一化后的属性权重:
[0016][0017]
其中,ω

i
(t)表示第i项属性在第t次所述迭代后并归一化的权重,ω

i
(t)表示第i项属性在在第t次所述迭代后的权重,i=1,2,

,m,t=1,2,

,n,m表示属性总数,n表示所述b中的案例个数,即所述迭代次数;
[0018]
计算最优权重模块,被配置为:
[0019]
基于第t次所述迭代后的m项属性权重,对所述训练集b进行案例推理分类,并计算案例推理分类的准确率;
[0020]
将最大的分类准确率所对应的m项属性权重记录为基于内省学习的案例推理的最优属性权重。
[0021]
第二方面,提出一种心血管病的诊断装置,所述装置加载有案例推理的属性权重调整应用程序。
[0022]
第三方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储有案例推理的属性权重调整应用程序的所有计算机程序/指令和相关数据。
[0023]
本发明借鉴内省学习的原理对权重进行全局优化调整,可以随着案例库的更新对权重进行迭代学习,达到提高cbr系统性能的目的。
附图说明
[0024]
图1、一些案例推理的属性权重调整应用程序的模块图;
[0025]
图2、一些心血管病诊断装置的工作流程图。
具体实施方式
[0026]
一些实施方式涉及的案例推理的属性权重调整应用程序,包括如图1所示的主要模块:
[0027]
检索相似案例模块,被配置为:
[0028]
获取心血管病案例的训练集b,遍历b中的所有n个目标案例,对于每个目标案例进行包括如下步骤的迭代:
[0029]
从心血管病案例的历史集a中检索出k个与目标案例最相似案例;
[0030]
若最相似案例中有被正确分类的案例,更新被正确分类的案例的属性权重;
[0031]
更新属性权重模块,被配置为:
[0032]
增加被正确分类的案例与目标案例相匹配的属性的权重;
[0033]
减少被正确分类的案例与目标案例不匹配的属性的权重;
[0034]
归一化模块,被配置为:
[0035]
按式i计算得到归一化后的属性权重:
[0036][0037]
其中,ω

i
(t)表示第i项属性在第t次迭代后并归一化的权重,ω

i
(t)表示第i项属性在在第t次迭代后的权重,i=1,2,

,m;t=1,2,

,n;m表示属性总数,n表示b中的案例个数,即迭代次数;计算最优权重模块,被配置为:
[0038]
基于第t次迭代后的m项属性权重,对训练集b进行案例推理分类,并计算案例推理分类的准确率;
[0039]
将最大的分类准确率所对应的m项属性权重记录为基于内省学习的案例推理的最优属性权重。
[0040]
需要说明的是,训练集b中的所有案例都可以视为目标案例,因此本实施方式包括:训练集b共有n个案例,将这n个案例视为目标案例。在每次迭代更新权重时:首先,取训练集b中的一条案例(视为目标案例),分别从历史集a中检索出k个最相似案例。然后对比这些相似案例与目标案例,如果相似案例与该目标案例类别相同,则增加相似案例中与目标案例相匹配的属性的权重,并减少该相似案例中与该目标案例中不匹配的属性的权重。
[0041]
计算案例推理分类的准确率(acctr)的方法包括:每次迭代后会有一组属性权重,按照这组权重可以对b中的每条案例进行案例推理分类。如果推理得到的分类类别与b中该案例真实类别相同,则表示分类正确,否则分类不正确;案例推理分类的准确率(acctr)等于b中分类正确的案例个数在总案例数(n)的占比。
[0042]
其中,心血管病案例通过采集包括表1中的各项属性并将各项属性和诊断结果表示为为如下的二元组形式:
[0043]
c
k
=(x
k
;y
k
),k=1,2,

,p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0044]
其中,p是案例数据库中的案例总数;x是每一条案例的问题描述;y是该案例的类别。x和y可分别表示为:
[0045]
x
k
=(x
1,k
,x
2,k
,...,x
i,k
,...,x
m,k
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0046]
y
k
=y
k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0047]
其中,x
i,k
(i=1,...,m)表示第k条案例的第i个属性的描述值,m是案例属性的个数;是第k条案例的类别。将新案例的问题描述表示为x=(x1,x2,...,x
i
,...,x
m
),新案例的类别记为y,为待求量。
[0048]
表1心血管病数据集属性信息
[0049]
[0050][0051]
将案例数据库中的所有案例分为a、b两部分。a作为权重调整过程的历史库,a中的案例的属性权重将随着内省学习进行迭代更新;b作为训练集,b中的案例用于训练历史库中案例的属性权重。采用下面的公式进行权重的调整:
[0052]
权重增加:
[0053]
ω
i
'(t)=ω
i
(t)+δ
i
/m且ω
i
'(t)≥0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0054]
权重减少:
[0055]
ω
i
'(t)=ω
i
(t)

δ
i
/m且ω
i

(t)≥0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0056]
其中,ω
i
(t)是第i个属性第t次迭代前的权重;ω
i
'(t)是第i个属性第t次迭代后的过程权重;δ
i
/m决定权重的变化量,m是案例属性的个数,对于不同的分类问题,如果属性个数不同,即使δ
i
相同,权重的变化量也不相同。但是对于同一个案例库而言,m是固定不变的,因此权重的变化主要与δ
i
有关,这里δ
i
的取值区间为[0.01,0.2],并且需满足式(4)和式(5)更新后的权重大于零。
[0057]
一些实施方式的应用程序检索相似案例模块配置的检索过程包括以下步骤:
[0058]
计算a中的每个案例x与目标案例c
k
的相似度s(x,c
k
);
[0059]
将a中的案例根据相似度排序,依次选取相似度最大的k个案例作为最相似案例。
[0060]
需要说明的是,相似度s(x,c
k
)包括多种计算方式获得的对相似度的加权度量,不同的度量方式具有不同的计算公式。例如一些更具体的实施方式中,相似度s(x,c
k
)的计算过程包括按照式ii计算的步骤:
[0061][0062]
其中,x表示a中的案例,c
k
表示目标案例,s(x,c
k
)表示案例x与目标案例c
k
的相似
度,ω
i
表示第i项属性的最优属性权重,x
i
表示案例x的第i个属性的值,x
i,k
表示目标案例c
k
的第i个属性的值。
[0063]
还有一些更具体的实施例的相似度计算过程包括式iii计算的步骤:
[0064][0065]
一些实施方式的应用程序,更新属性权重模块被配置为还包括以下步骤:
[0066]
设置阈值;
[0067]
若被正确分类的案例的第i项属性与目标案例的第i项属性的差的绝对值不超过阈值,则第i项属性为匹配属性;
[0068]
若被正确分类的案例的第i项属性与目标案例的第i项属性的差的绝对值超过阈值,则第i项属性为不匹配属性。
[0069]
例如,案例库中的两个案例c
i
=(x
i
;y
i
)和c
ii
=(x
ii
;y
ii
),其中,x
i
=(x
1,i
,x
2,i
,

,x
i,i
,

,x
m,i
),x
ii
=(x
1,ii
,x
2,ii
,

,x
i,ii
,

,x
m,ii
),若满足|x
i,i
,

x
i,ii
|≦ξ,则称案例c
i
与案例c
ii
的第i个属性为匹配属性,否则称为不匹配属性。其中ξ为判断属性是否匹配的阈值,表示两个案例同一属性的接近程度。
[0070]
一些实施方式的应用程序,检索相似案例模块配置的检索过程还包括:基于k最近邻检索策略(k

nearest neighbor,knn)从a中检索出k个与目标案例的最近邻案例作为最相似案例。
[0071]
一些实施方式的应用程序,通过哈希编码方法对案例数据降维处理,在此基础上,基于近似最近邻搜索策略(approximate nearest neighbor,ann)从a中检索出k个与目标案例的近似最近邻案例作为最相似案例。
[0072]
一些实施方式的应用程序,检索相似案例模块还被配置为:通过交叉验证法逐步调整k值。需要说明的是,k值较大可以减少学习的估计误差,但是学习的近似误差会增大,与输入实例较远的训练实例也会对预测起作用,使预测发生错误,k值增大模型的复杂度会下降。因此,k的初始赋值取一个比较小的值。
[0073]
一些心血管病的诊断装置,加载有案例推理的属性权重调整应用程序。
[0074]
一种更具体的实施方式步骤如下:
[0075]
步骤1:案例表示;
[0076]
将历史数据库中的源案例表示为如下的二元组形式
[0077]
c
k
=(x
k
;y
k
),k=1,2,

,p
ꢀꢀꢀꢀꢀꢀ
(1)
[0078]
其中,p是历史数据库中的源案例的总数;是每一条源案例的问题描述;是该案例的类别。和可分别表示为
[0079]
x
k
=(x
1,k
,x
2,k
,...,x
i,k
,...,x
m,k
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0080]
y
k
=y
k
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0081]
其中,表示第k条案例的第i个属性的描述值,m是案例属性的个数;是第k条案例的类别。将新案例的问题描述表示为x=(x1,x2,...,x
i
,...,x
m
),新案例的类别记为y,为待求量。
[0082]
步骤2:案例属性权重的内省学习;
[0083]
首先将历史数据库中的p个案例分为a、b两部分。a作为权重调整过程的历史库,a
中的案例的属性权重将随着内省学习进行迭代更新;b作为训练集,b中的案例用于训练历史库中案例的属性权重。案例属性权重的内省学习训练过程如下:
[0084]
2.1:令t=0,为历史库a中的每个属性分配平均权重,是第个属性第0次迭代的权重;
[0085]
2.3:按最近邻检索策略计算在均权重下训练集b的分类准确率,记为;
[0086]
2.4:t=t+1,顺序取训练集b中的第t条案例(记为目标案例d),利用最近邻检索策略从历史库a中检索出k个最相似的近邻案例(记为近邻案例);
[0087]
2.5:分别对k个近邻案例采用下述基于成功驱动的权重更新策略的权重调整算法,进行属性权重的学习更新;基于成功驱动的权重更新策略为:存在一条案例分类成功时,匹配属性的权重增加,同时不匹配属性的权重减少(简记为gmu+gud)。即当检索到的近邻案例具有和目标案例d相同的类别(分类成功)时,增大案例中与案例d匹配的属性的权重,同时减小案例中与案例d不匹配的属性的权重。如此,案例与案例d的相似度将增大,保证在求解案例d时,相似案例更能被检索到。采用下面的公式进行权重的调整:
[0088]
权重增加:
[0089]
ω
i
'(t)=ω
i
(t)+δ
i
/m且ω
i
'(t)≥0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0090]
权重减少:
[0091]
ω
i
'(t)=ω
i
(t)

δ
i
/m且ω
i

(t)≥0
ꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0092]
其中,ω
i
(t)是第i个属性第t次迭代前的权重;ω
i
'(t)是第i个属性第t次迭代后的过程权重;δ
i
/m决定权重的变化量,m是案例属性的个数,对于不同的分类问题,如果属性个数不同,即使δ
i
相同,权重的变化量也不相同。但是对于同一个案例库而言,m是固定不变的,因此权重的变化主要与δ
i
有关,这里δ
i
的取值区间为[0.01,0.2],并且需满足式(5)和式(6)更新后的权重大于零。
[0093]
2.6:据式(7)对更新后的属性权重进行归一化操作,得到第t次迭代学习后的属性的最终权重并保存;
[0094][0095]
其中,ω
i”(t)是第i个属性第t次迭代后的最终权重。
[0096]
2.7:根据第t次迭代的新权重对训练集中的所有案例重新进行分类,并计算训练集的新准确率acc
tr
(t)。若t<n
tr
,则转2.4;否则,转到2.8;
[0097]
2.8:根据训练集的最大准确率,选择对应的权重为当前内省学习策略下的最优权重。权重的内省学习训练过程结束。
[0098]
步骤3:案例检索;
[0099]
根据步骤2得到的属性权重,按knn检索策略,计算新案例x与源案例c
k
的相似度
[0100][0101]
其中,ω
i
是第i个特征属性的权重,根据步骤2获得,满足
[0102][0103]
将历史数据库中的p个案例与新案例的相似度s(x,c1),s(x,c2),...s(x,c
p
)按从大到小排列,依次选出最大的k个相似度,进而得到与新案例最相似的k个近邻案例。
[0104]
步骤5:案例重用;
[0105]
从这k个近邻案例中选出个数最多的类别y
q
作为待求新案例的类别,则
[0106]
y=y
q
ꢀꢀꢀꢀꢀꢀꢀ
(10)
[0107]
步骤6:案例存储;
[0108]
将新问题的描述x=(x1,x2,

,x
m
)及其相应的类别y=y
q
存储于式(1)所示的历史数据库中,用于下一次的案例分类。至此,历史数据库中案例记录的总数为p+1个。
[0109]
为验证方法的有效性,以下的若干对照例选取uci(university of california irvine)资源库中的heart(statlog heart data set)数据集,基本信息如表2所示。表2中的阳性表示患者,阴性表示正常。
[0110]
表2数据集基本信息
[0111][0112]
为了比较不同权重调整方法对cbr分类器的性能影响,每个数据集采用四种cbr分类器,分别为传统的采用均权重的cbr分类器(简记为ew)、内省学习权重的cbr分类器(简记为gmu+gud)、遗传算法优化权重的cbr分类器(简记为ga)和信息熵优化权重的cbr分类器(简记为en)。
[0113]
采用五折交叉验证,以保证结果的客观性。每一折实验中,数据集被分为五份,其中一份为测试集,另外四份(为表述方便,称为案例库)用于训练权重。对于gmu+gud和ga而言,案例库中的三份做历史库,剩余一份称作训练集,历史库中案例的属性权重通过内省学习或遗传算法迭代调整,训练集中的案例用于调整历史库中案例的权重,测试集用于测试采用内省学习或遗传算法调整属性权重后的性能。对于其他的分类器,除一份作为测试集外,其余四份都作为历史库,历史库用于训练权重,测试集用于测试分类器采用训练后的权重的性能。
[0114]
cbr分类器进行案例检索时采用knn检索策略,k表示选择的近邻个数,k的取值不同,所得的结果也不相同。为了消除k值不同对结果的影响,本实验中k值取5。另外,内省学习权重调整中的权重调整量为0.015/m,m是案例属性的个数(本实验中m=14),匹配属性的阈值ξ
match
取0.01。遗传算法中种群大小设为20,交叉概率为0.4,变异概率为0.05,进化代数为10。表3是采用不同分类器进行实验的平均准确率。
[0115]
表3各数据集采用不同分类器的平均准确率(%)
[0116][0117]
通过表3可以看出,ew分类器的准确率最低,其它分类器的准确率大多有所提高,这说明权重调整可以提高分类器的性能。gmu+gud分类器的准确率最高,说明内省学习的权
重调整方法具有较好的效果。
[0118]
为了比较不同的权重调整方法是否显著提高分类性能,可进行t检验,以判断两个样本平均数与各自所代表的总体的差异是否显著。当h=0时,表示无显著差异;h=1时,表示有显著差异。p大于0.05表示无差异或差异不明显;p小于0.05时,表示有差异或差异明显,p值越小差异越显著。表3是采用不同权重调整方法与均权重的成对t检验结果(显著水平为0.05)。
[0119]
表4不同权重调整方法与均权重方法的t检验
[0120][0121]
由表4可见,ew

(gmu+gud)的h是1,p小于0.05,说明内省学习的权重调整方法可以显著提高cbr分类器的准确率。而ew

en和ew

ga的h是0,p值均不小于0.05,说明遗传算法分配权重、熵权重与均权重的差异均不明显。t检验的结果进一步表明,相对遗传算法、信息熵的权重优化方法,内省学习的权重调整方法对cbr分类器性能的改善更显著。
[0122]
通过以上对照例,可见基于成功驱动策略的内省学习的权重调整方法可以显著提高cbr分类器的分类准确率。
[0123]
进一步的,建立基于改进的cbr的心血管病辅助诊断系统,如图2所示。该系统主要包括心血管病数据库、特征提取、案例检索、案例重用、案例修正、案例存储等主要的案例推理过程以及方便用户与系统进行信息交换的人机交互部分。
[0124]
本说明书中描述的主题的实施方式和功能性操作可以在以下中实施:数字电子电路,有形实施的计算机软件或者固件,计算机硬件,包括本说明书中公开的结构及其结构等同体,或者上述中的一者以上的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即,一个或多个有形非暂时性程序载体上编码的计算机程序指令的一个或多个模块,用以被数据处理设备执行或者控制数据处理设备的操作。作为替代或者附加,程序指令可以被编码在人工生成的传播信号上。计算机存储介质可以是机器可读存储装置、机器可读的存储基片、随机或者串行存取存储器装置或者上述装置中的一种或多种的组合。
[0125]
计算机程序(还可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或者代码)可以以任意形式的编程语言而被写出,包括编译语言或者解释语言或者声明性语言或过程式语言,并且计算机程序可以以任意形式展开,包括作为独立程序或者作为模块、组件、子程序或者适于在计算环境中使用的其他单元。计算机程序可以但不必须对应于文件系统中的文件。程序可以被存储在保存其他程序或者数据的文件的一部分中,例如,存储在如下中的一个或多个脚本:在标记语言文档中;在专用于相关程序的单个文件中;或者在多个协同文件中,例如,存储一个或多个模块、子程序或者代码部分的文件。计算机程序可以被展开为执行在一个计算机或者多个计算机上,计算机位于一处,或者分布至多个场所并且通过通信网络而互相连接。
[0126]
在本说明书中描述的处理和逻辑流程可以由一个或多个可编程计算机执行,该计算机通过运算输入数据并且生成输出而执行一个或多个的计算机程序,以运行函数。
[0127]
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失存储器、介质和存储器装置,作为实例,包括:半导体存储器装置,例如,eprom、eeprom和闪速存储器装置;磁盘,例如,内置硬盘或者可移动磁盘;磁光盘;cd

rom和dvd

rom盘。处理器和存储器可以补充以或者并入至专用逻辑电路。
[0128]
本说明书中描述的主题的实施方式可以在计算系统中实施,该计算系统包括例如数据服务器这样的后端组件,或者包括例如应用服务器这样的中间组件,或者包括例如客户端计算机这样的前端组件,该客户端计算机具有图形用户界面或者网络浏览器,用户可以通过图形用户界面或者网络浏览器而与本说明书中描述的主题的实施进行交互,或者该计算机系统包括一个或多个这种后端组件、中间组件或者前端组件的任意组合。系统中的组件可以通过例如通信网络的任意形式或介质的数字数据通信而互相连接。通信网络的实例包括局域网络(“lan”)和广域网络(“wan”),例如,因特网。
[0129]
虽然本说明书包含很多具体的实施细节,但是这些不应当被解释为对任何发明的范围或者对可以要求保护的内容的范围的限制,而是作为可以使特定发明的特定实施方式具体化的特征的说明。在独立的实施方式的语境中的本说明书中描述的特定特征还可以与单个实施方式组合地实施。相反地,在单个实施方式的语境中描述的各种特征还可以独立地在多个实施方式中实施,或者在任何合适的子组合中实施。此外,虽然以上可以将特征描述为组合作用并且甚至最初这样要求,但是来自要求的组合的一个或多个特征在一些情况下可以从该组合去掉,并且要求的组合可以转向子组合或者子组合的变形。
[0130]
相似地,虽然以特定顺序在附图中描述了操作,但是不应当理解为:为了实现期望的结果,要求这样的操作以示出的特定顺序或者以顺序次序而执行,或者所有图示的操作都被执行。在特定情况下,多任务处理和并行处理可以是有利的。此外,上述实施方式中的各种系统模块和组件的分离不应当理解为在所有实施方式中要求这样的分离,并且应当理解程序组件和系统可以通常被一体化在单个软件产品中或者打包至多个软件产品中。
[0131]
已经描述了主题的特定实施方式。其他实施方式在以下权利要求的范围内。例如,在权利要求中记载的活动可以以不同的顺序执行并且仍旧实现期望的结果。作为一个实例,为了实现期望的结果,附图中描述的处理不必须要求示出的特定顺序或者顺序次序。在特定实现中,多任务处理和并行处理可以是有优势的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1