1.本发明涉及多分类器融合算法技术领域,特别是一种根据多分类器识别结果进行训练样本扩充的分类方法。
背景技术:2.分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。分类器的常规任务是利用给定的类别、已知的训练数据来学习分类规则,然后对未知数据进行分类(或预测),在目标识别、天气预报、信号处理、图像分类等众多领域广泛应用,目前学者们已经提出了多种成熟的分类器。不同分类器的分类表现差异与其所分类数据的统计分布特征、先验知识、训练数据样本的大小以及分类器本身的结构等多个因素相关联。学者们曾对各种分类器的表现进行了比较研究,基本结论是:没有哪一个分类器是“万灵丹(panacea)”(giacinto and roli,1997);fern
á
ndez-delgado(2014)应用了179个分类器对121个数据集(uci数据库)进行分类预测,结果发现分类器的性能与数据集有关,有些分类器在特定数据集上性能较好,但是泛化能力很弱,有些分类器在某些数据集上性能较差,但换个数据集就很好;因此,不同的分类器之间有一定的互补性。多个分类器结合(multiple classifiers combination)的方法又称为多分类器融合(multiple classifiers fusion),或多分类器系统(multiple classifier systems),目的就是利用适当方法将现有的各种分类算法结合起来以提高分类精度。目前多分类器融合算法主要采用多个分类器结果进行加权或非加权投票,以投票结果形成最终分类结果,其相比单分类器方法通常分类精度较高,但耗时较长。
技术实现要素:3.本发明的发明目的是,在前期不明确哪种分类方法效果最优的情况下,提供一种根据多分类器识别结果进行训练样本扩充的分类方法,通过多分类器结果相互迭代验证,逐步扩增训练样本,并通过多分类器结果比较,剔除识别效果较差的分类器,提升分类速度和精度。
4.为达到上述目的,本发明所采用的技术方案是:
5.根据多分类器识别结果进行训练样本扩充的分类方法,包括以下内容:
6.步骤s10.准备程序:选择多种分类所用的分类方法;在待分类数据集中选定包括各个类别的初始的训练样本,形成初始的训练样本集;
7.步骤s20.分类识别程序:采用各个分类方法和训练样本集分别对待分类数据集数据进行分类识别,得到各个分类方法的待分类数据集分类结果;
8.步骤s30.认同率计算程序:根据待分类数据集分类结果,计算每个数据的分类结果认同率;其中,认同率是指被认定是同一个分类结果的分类方法个数占所有参与的分类方法的总数的比例;
9.步骤s40.样本扩充程序:将分类结果认同率与其预设阈值比对,以获得新的训练
样本,扩充训练样本集;
10.步骤s50.迭代程序:根据扩充后的训练样本集,判定并执行下一次迭代分类;若训练样本占比率不达标,则执行前述步骤s20-s50操作,否则执行后述步骤s60操作;其中,样本占比率是指训练样本集的数据个数占全部待分类数据集的比例;
11.步骤s60.输出程序:将末次迭代运算的最大认同分类结果作为该待分类数据集的最终的数据分类结果;其中,最大认同分类结果是指本次数值最大的分类结果认同率所对应的分类结果。
12.其中,步骤s40的具体内容如下:将分类结果认同率与其预设阈值比对,当某一数据的分类结果认同率大于等于该认同率阈值时,将该数据作为新的训练样本,加入到该数据对应的分类结果认同类别的训练样本中,扩充训练样本集。
13.步骤s50的具体内容如下:根据扩充后的训练样本集,获得训练样本占比率;当训练样本占比率小于其预设阈值,且连续两次迭代的训练样本占比率的差值大于差值预设阈值,则判定需执行下一次迭代分类,采用扩充后的训练样本集和本次迭代所采用的分类方法重复执行前述s20-s50操作,否则执行后述s60操作。
14.由于采用上述技术方案,本发明具有以下有益效果:
15.1.本发明的根据多分类器识别结果进行训练样本扩充的分类方法,在前期不明确哪种分类方法效果最优的情况下,通过多分类器结果相互迭代验证,逐步扩增训练样本,提升分类精度,最终可取得与最优方法最为接近的分类结果。
16.2.本发明采用多种分类算法同时进行运算,计算过程相比单独的分类方法耗时长,可通过多分类器结果比较,在迭代过程中剔除识别效果较差的分类器,提升分类速度,并减轻错误分类对最终分类结果的干扰。
附图说明
17.图1是本发明的分类方法实例1流程图。
18.图2是本发明的分类方法实例2流程图。
19.图3是本发明的分类方法实例2数据处理流程图。
20.图4是本发明的待分类的水稻冠层图。
21.图5是图4的各类别样本区域图。
22.图6是图4的各类别验证区域图。
23.图7是图4的本发明分类方法的最终分类结果图。
24.图8是图4的其它分类方法第一次迭代(独立运算)分类结果图;其中,图8(a)为最大似然,图8(b)为神经网络,图8(c)为支持向量机,图8(d)为平行六面体,图8(e)为最小距离,图8(f)为马氏距离。
具体实施方式
25.以下结合附图对发明的具体实施进一步说明。
26.实施例1
27.参见图1,本实施例的根据多分类器识别结果进行训练样本扩充的分类方法,包括以下内容:
28.步骤s10.准备程序:选择多种分类所用的分类方法;在待分类数据集中选定包括各个类别的初始的训练样本,形成初始的训练样本集;其中,分类方法及训练样本集的前后准备顺序可根据需要相互调换,或同时进行准备;
29.步骤s20.分类识别程序:采用各个分类方法和训练样本集分别对待分类数据集数据进行分类识别,得到各个分类方法的待分类数据集分类结果;
30.步骤s30.认同率计算程序:根据待分类数据集分类结果,计算每个数据的分类结果认同率;其中,认同率是指被认定是同一个分类结果的分类方法个数占所有参与的分类方法的总数的比例;
31.步骤s40.样本扩充程序:将分类结果认同率与其预设阈值比对,以获得新的训练样本,扩充训练样本集;
32.步骤s50.迭代程序:根据扩充后的训练样本集,判定并执行下一次迭代分类;若训练样本占比率不达标,则执行前述步骤s20-s50操作(返回执行步骤s20),否则执行后述步骤s60操作;其中,样本占比率是指训练样本集的数据个数占全部待分类数据集的比例;
33.步骤s60.输出程序:将末次迭代运算的最大认同分类结果作为该待分类数据集的最终的数据分类结果;其中,最大认同分类结果是指本次数值最大的分类结果认同率所对应的分类结果。
34.其中,步骤s40的具体内容如下:将分类结果认同率与其预设阈值比对,当某一数据的分类结果认同率大于等于该认同率阈值时,将该数据作为新的训练样本,加入到该数据对应的分类结果认同类别的训练样本中,扩充训练样本集。
35.步骤s50的具体内容如下:根据扩充后的训练样本集,获得训练样本占比率;当训练样本占比率小于其预设阈值,且连续两次迭代的训练样本占比率的差值大于差值预设阈值,则判定需执行下一次迭代分类,采用扩充后的训练样本集和本次迭代所采用的分类方法重复执行前述s20-s50操作,否则执行后述s60操作。
36.如上述,本发明的根据多分类器识别结果进行训练样本扩充的分类方法,在前期不明确哪种分类方法效果最优的情况下,通过多分类器结果相互迭代验证,逐步扩增训练样本,提升分类精度,最终可取得与最优方法最为接近的分类结果。
37.参见图2,作为一选项,基于前述实例,在一实例中,该分类方法在迭代过程中筛选分类器数量。在多分类器融合算法中,分类器的选择会影响最终的分类结果,分类器的数量则关系到分类运算的时间效率。具体如下:
38.该分类方法在步骤s30与步骤s50之间还具有下述步骤:
39.准分计算程序:基于分类结果认同率,计算各分类方法的正确分类的准分率;其中,准分率是指以最大认同分类结果为真值依据,某一种分类方法的分类结果的正确分类的比例;
40.筛选程序:基于各分类方法的准分率,将该准分率与其预设阈值比对,筛选更新下一次迭代分类所采用的多种分类方法。
41.其中,筛选程序具体内容如下:将各分类方法的准分率与其预设阈值比对,当准分率小于该准分率阈值时将该分类方法剔除,否则选用该分类方法,筛选更新得到下一次迭代分类所采用的多种分类方法。
42.准分计算程序及筛选程序可置于步骤s30和步骤s40之间;可置于步骤s40和步骤
s50之间;还可如图2所示分别置于步骤s30和步骤s40之间、步骤s40和步骤s50之间,此时定义为步骤s32及步骤s42。
43.如上述,本发明采用多种分类算法同时进行运算,计算过程相比单独的分类方法耗时长,可通过多分类器结果比较,在迭代过程中剔除识别效果较差的分类器,提升分类速度,使其具有较好的分类运算的时间效率,并减轻错误分类对最终分类结果的干扰。
44.参见图3,作为一选项,基于前述实例,在一实例中,给出该分类方法的具体数据处理流程实例,包括以下步骤:
45.1)选择多种此次进行分类所需要采用的分类方法,如图3所示分类方法1至分类方法n。
46.2)在待分类的数据集中选定各个类别的样本,形成训练样本集。
47.3)采用各分类方法和训练样本集分别对数据进行分类识别,得到各个分类方法的数据集分类结果,如图3所示分类结果r1至分类结果rn。
48.4)计算数据集中每个数据的分类结果认同率;其中,认同率是指被认定是同一个分类结果的分类方法个数占所有参与的分类方法的总数的比例。
49.5)根据分类结果认同率形成最大认同分类结果;其中,最大认同分类结果是指本次数值最大的分类结果认同率所对应的分类结果。
50.6)设定分类结果认同率阈值(此案例中设为100%),当某一数据的分类结果认同率大于等于该认同率阈值时,认为该数据的分类结果具有较高的可信度,将该数据作为新的训练样本,加入到该分类结果认同类别的训练样本中,扩充训练样本集。
51.7)计算扩展后的训练样本占比率;其中,样本占比率是指训练样本集的数据个数占全部待分类数据集的比例。
52.8)计算各分类方法的准分率,如图3所示准分率c1至cn;以最大认同分类结果为真值依据,某一种分类方法的分类结果与最大认同分类结果比对的正确分类的比例(如百分率),反映了该分类结果与最大认同分类结果的匹配程度。
53.9)设定准分率阈值(此案例中设为0.7)(错分率是大于0.3),当准分率小于准分率阈值时在下一轮次迭代分类中淘汰该分类方法;此步骤一方面可去除分类精度低的分类方法,减少运算过程,另一方面可以减轻错误分类对最终分类结果的干扰。
54.10)设定训练样本占比率阈值(即各个方法认同的分类结果,此案例中设为0.9),当训练样本占比率小于占比率阈值,采用第6)步中扩充后的训练样本集和第9)步中确定的分类方法,重复第3)-9)步操作,直至训练样本占比率大于等于设定的占比率阈值,或连续两次迭代的训练样本占比率的差值小于等于其预设差值阈值。例如,连续两次迭代的训练样本占比率相同,即训练样本不再增加,各个分类方法不能再找到更多认同的分类结果;还可另设判断接近的差值阈值范围,当连续两次迭代的训练样本占比率的差值处于差值阈值范围以内时,可认为训练样本不再增加。
55.11)将最后一次迭代运算的最大认同分类结果作为最终的数据分类结果输出。
56.实施例2
57.基于前述实施例1,本实施例2给出了水稻冠层覆盖分类实例,具体如下:
58.冠层覆盖度是评估作物长势、预测作物产量的有用指标。通常可通过数码相机拍摄作物冠层图片,运用分类算法对图片进行分类识别,划分图像中不同类别的区域,获取图
片中叶片冠层范围并计算其占比率,即可得到作物的冠层覆盖度。
59.本案例中使用数码相机拍摄的水稻冠层图像(见图4)作为待分类数据,该图像大小为850*650,共552500个像素,有r、g、b共3个图层。利用前述分类方法对图像进行分类,识别出图像中的水稻冠层叶片、水体、土壤、阴影等4类,各类别标识见图5-图7的左下角及图8的下角。首先在图像中分别选取4种类别的训练样本,划定的训练样本区域(见图5)。为了分析分类结果的准确性,采取人工目视解释的方式选取图像中的叶片、水体、土壤、阴影等区域(见图6)作为验证样本,用于与分类结果进行比对验证。各类别训练样本及验证样本像素个数见下表1。
60.表1.各类别训练样本及验证样本个数
[0061][0062]
本案例中分类方法选用了平行六面体法、最小距离法、最大似然法、马氏距离法、神经网络、支持向量机等6种图像分类较常用的监督分类方法进行运算;设定分类结果认同率阈值为100%;设定准分率阈值为0.7;设定训练样本占比率阈值为0.9,迭代终止条件设为训练样本占比率大于0.9或连续两次迭代训练样本占比率相同。
[0063]
使用envi/idl软件编写代码程序执行上述专利方法的运算过程。程序中按照envi软件中对各分类方法的默认参数进行预设,其中平行六面体法、最小距离法、最大似然法、马氏距离法的标准差阈值均默认采用训练样本集的标准差;最大似然法不设置似然度阈值;马氏距离法不设置最大误差距离。
[0064]
神经网络模型各参数设置如下:活化函数选择对数函数,隐藏层数量为3,训练贡献阈值为0.9,权重调节速度为0.2,训练冲量为0.9,判定训练终止的均方根(rms)阈值为0.1,最大迭代次数为100。
[0065]
支持向量机参数设置如下:内积核函数采用三次多项式形式,分类概率域值为0.5,惩罚系数为75,偏置系数为2,gamma系数默认取图像波段数的倒数,此案例为1/3。
[0066]
程序运行时首先选取待分类的图像(见图4),然后选取人工划定的各类别训练样本集(见图5),最后选取运算结果输出路径。程序将在选定的输出路径中输出每次迭代的各分类方法的分类结果、最大认同分类结果、训练样本占比率、参与分类的方法、各分类方法的准分率、新的训练样本集、迭代次数等运算结果。
[0067]
迭代运算过程中各分类方法准分率及样本占比率变化如下表2所示。在第一次迭代运算中,平行六面体法、最小距离法、马氏距离法的准分率分别为0.402621、0.564147、0.64891,低于设置的准分率阈值0.7,因此该3种分类方法在第一次迭代后被淘汰,不再参与往后的迭代运算;而剩余的另3种分类方法在后面的迭代运算中准分率均大于0.7,一直参与迭代运算,直至整个运算终止。
[0068]
表2.分类方法准分率及样本占比率变化过程
[0069][0070]
从表2中可见,样本占比率最高值并非出现在最后一次迭代中,而是在第7次迭代达到了最高,在随后的迭代运算中有所下降,说明分类算法基于训练样本的分类识别认同率已趋于饱和,不同的分类算法间不能再产生一致认同的样本,新扩充的训练样本反而降低了不同分类方法间的认同比例。因此再经过后两次的样本调整后,共同认可的样本不再增加,第10次迭代后,样本占比率为0.537689,与第9次迭代的样本占比率相同,达到了程序设置的迭代终止条件,从而结束迭代运算。最后一次迭代的最大认同分类结果即为最终的分类结果,最终分类结果如图7所示。
[0071]
为了分析各分类算法的精度,将不同分类算法的分类结果与人工目视解释选取的验证样本区域进行比对验证。同时,为了分析本专利方法与单个分类方法的效果差异,以及迭代运算过程中分类效果的变化,分别对各分类方法的第一次迭代运算结果、样本占比率最高一次(第7次)的迭代运算结果和最后一次(第10次)迭代运算结果进行精度分析。
[0072]
在第一次迭代运算时,各分类方法均采用了人工选取的初始训练样本,可视为各分类方法基于初始训练样本的独立运算。为了更直观地展示各分类方法与本专利方法的效果差异,将各分类方法第一次迭代运算的分类结果(即基于初始训练样本的各分类方法独立运算的分类结果)分别罗列在图8中,对比各方法的分类效果。
[0073]
采用总体精度和kappa系数两个参数来评价各个方法的分类准确率。总体精度是指验证区域中所有类别被正确分类的百分率。kappa系数是统计学中评估一致性的指标,可以用来衡量分类精度。kappa系数计算结果在-1~1间,通常认为kappa》=0.75时,两者一致性好;0.4《=kappa《0.75时,两者一致性一般;kappa《0.4时,两者一致性差。kappa系数的计算方法如下:
[0074][0075]
其中,po是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度。
[0076]
假设每一类的真实样本个数分别为a1,a2,...,ac,而预测出来的每一类的样本个数分别为b1,b2,...,bc,总样本个数为n,则:
[0077][0078]
如此精度分析结果如下表3所示。
[0079]
表3.各分类方法精度分析
[0080][0081]
从精度分析结果表3中可见,第一次迭代运算结果中,平行六面体法的总体精度为38.51%,kappa系数仅为0.19,分类结果图8(d)也显示分类结果与图像实际情况偏差较大,有大量区域未能进行分类识别;最小距离法和马氏距离法的总体精度、kappa系数均较低,分类结果图8(e)及图8(f)中显示相当多部分的叶片冠层被误识别为阴影或土壤,最小距离法还将部分叶片冠层误识别为水体。精度分析结果说明这3种方法的分类结果与验证样本的一致性较差,分类精度较低,不适用于该图像的分类识别,往后的迭代运算需要将这3种方法淘汰。表2中各分类方法准分率的变化过程证实了该3种方法在第一次迭代后被淘汰。因此,该方法筛选结果也说明依据准分率阈值淘汰精度低的分类方法合理且可行。
[0082]
本案例本技术分类方法的最终分类结果总体精度为92.13%,kappa系数为0.80,表现出较好的分类效果,分类精度在各分类结果中排名第二,仅次于神经网络方法的第一次迭代运算结果,其总体精度为92.89%,kappa系数为0.81。与其他各分类方法的结果相比,本技术方法的分类精度并非最高,但与最高精度分类结果最为接近。可见,在前期不明确哪种分类方法效果最优的情况下,使用本技术分类方法可取得与最优方法更为接近的分类结果。
[0083]
当然,本技术方法采用多种分类算法同时进行运算,因此计算过程相比单独的分类方法耗时长,若是已知最优分类方法,直接采用最优分类方法所得分类精度及效率最佳。
[0084]
需要指出的是,上述实施例的实例可以根据实际需要优选一个或两个以上相互组合,而多个实例采用一套组合技术特征的附图说明,在此就不一一展开说明。
[0085]
上述说明是针对本发明较佳可行实施例的详细说明和例证,但这些描述并非用以限定本发明所要求保护范围,凡本发明所提示的技术教导下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利保护范围。
技术特征:1.一种根据多分类器识别结果进行训练样本扩充的分类方法,其特征在于,包括以下内容:步骤s10.准备程序:选择多种分类所用的分类方法;在待分类数据集中选定包括各个类别的初始的训练样本,形成初始的训练样本集;步骤s20.分类识别程序:采用各个分类方法和训练样本集分别对待分类数据集数据进行分类识别,得到各个分类方法的待分类数据集分类结果;步骤s30.认同率计算程序:根据待分类数据集分类结果,计算每个数据的分类结果认同率;其中,认同率是指被认定是同一个分类结果的分类方法个数占所有参与的分类方法的总数的比例;步骤s40.样本扩充程序:将分类结果认同率与其预设阈值比对,以获得新的训练样本,扩充训练样本集;步骤s50.迭代程序:根据扩充后的训练样本集,判定并执行下一次迭代分类;若训练样本占比率不达标,则执行前述步骤s20-s50操作,否则执行后述步骤s60操作;其中,样本占比率是指训练样本集的数据个数占全部待分类数据集的比例;步骤s60.输出程序:将末次迭代运算的最大认同分类结果作为该待分类数据集的最终的数据分类结果;其中,最大认同分类结果是指本次数值最大的分类结果认同率所对应的分类结果。2.根据权利要求1所述的根据多分类器识别结果进行训练样本扩充的分类方法,其特征在于:所述步骤s40的具体内容如下:将分类结果认同率与其预设阈值比对,当某一数据的分类结果认同率大于等于该认同率阈值时,将该数据作为新的训练样本,加入到该数据对应的分类结果认同类别的训练样本中,扩充训练样本集。3.根据权利要求1所述的根据多分类器识别结果进行训练样本扩充的分类方法,其特征在于:所述步骤s50的具体内容如下:根据扩充后的训练样本集,获得训练样本占比率;当训练样本占比率小于其预设阈值,且连续两次迭代的训练样本占比率的差值大于差值预设阈值,则判定需执行下一次迭代分类,采用扩充后的训练样本集和本次迭代所采用的分类方法重复执行前述s20-s50操作,否则执行后述s60操作。4.根据权利要求1所述的根据多分类器识别结果进行训练样本扩充的分类方法,其特征在于:所述步骤s30与步骤s50之间还具有下述步骤:准分计算程序:基于分类结果认同率,计算各分类方法的正确分类的准分率;其中,准分率是指以最大认同分类结果为真值依据,某一种分类方法的分类结果的正确分类的比例;筛选程序:基于各分类方法的准分率,将该准分率与其预设阈值比对,筛选更新下一次迭代分类所采用的多种分类方法。5.根据权利要求4所述的根据多分类器识别结果进行训练样本扩充的分类方法,其特征在于:所述筛选程序具体内容如下:将各分类方法的准分率与其预设阈值比对,当准分率小于该准分率阈值时将该分类方法剔除,否则选用该分类方法,筛选更新得到下一次迭代分类所采用的多种分类方法。
技术总结本发明公开了一种根据多分类器识别结果进行训练样本扩充的分类方法,包括:选择多种分类所用的分类方法;在待分类数据集中选定包括各个类别的初始的训练样本,形成初始的训练样本集;采用各个分类方法和训练样本集分别对待分类数据集数据进行分类识别,得到各个分类方法的待分类数据集分类结果;根据待分类数据集分类结果,计算每个数据的分类结果认同率;将分类结果认同率与其预设阈值比对,以获得新的训练样本,扩充训练样本集;根据扩充后的训练样本集,判定并执行下一次迭代分类;将末次迭代运算的最大认同分类结果作为该待分类数据集的最终的数据分类结果。本发明通过多分类器结果相互迭代验证,逐步扩增训练样本,提升分类精度。分类精度。分类精度。
技术研发人员:杨绍锷 黄启厅 谭黎光 谢国雪 谭序光
受保护的技术使用者:广西壮族自治区农业科学院
技术研发日:2022.04.12
技术公布日:2022/7/5