一种基于集成学习的差错控制方法和系统与流程

文档序号:15447976发布日期:2018-09-14 23:36阅读:91来源:国知局

本发明属于集成学习技术和差错控制技术领域,具体涉及一种基于集成学习的差错控制方法和系统。



背景技术:

差错是指理想输出结果和实际输出结果的差异。但是由于得到理想的输出结果的计算过程一般复杂度较高,时间和能耗开销过大,或者完整的计算过程在现有的条件下无法实现,往往会采用一些精简的计算来代替完整的计算过程,精简计算的结果即实际输出结果和理想结果之间存在差错,其中部分差错是不能被应用所容忍的,因此需要差错控制方法来有效地控制实际结果和理想结果之间的差错。如对于部分视频图像处理相关的应用,一些高效算法可以代替完整算法以提高效率,但是图像的质量会降低,这时就需要差错控制技术判断当前的图像能否被接受,如果不能被接受,则要重新以完整算法得出满足要求的图像结果。

现有的差错控制技术分为两大类,第一类是基于输出的误差控制方法,该方法首先通过计算等方式得到理想输出结果,再将其与实际输出结果比较得到二者的差异从而实现差错控制,但这类方法计算所有数据的理想结果的时间开销和能耗开销过大,实际的误差控制往往采用抽样的方式,因此无法保证未被抽样的数据结果的正确性。第二类是基于输入的误差控制方法,该方法分为两个阶段,训练阶段和预测阶段,在训练阶段,预测模型根据训练数据被训练得到;在预测阶段,预测模型根据输入数据预测出差错,进而实现误差控制。这种方法能够覆盖所有的数据,但是由于实时性和能耗开销的考虑,预测模型不能太复杂,从而导致模型预测的精度不高。

综上所述,现有技术中的主要缺陷在于无法解决误差控制质量(如数据的覆盖程度,预测精度)与误差控制开销之间的矛盾,以基于输入的误差控制方法为例,简单的预测模型开销低,但其预测精度差,而复杂的预测模型虽然能够提升精度,但其模型开销又过大。



技术实现要素:

针对上述问题,本发明提出一种基于集成学习的差错控制方法,包括:

训练步骤,对集成学习中的n个初始学习器分别进行训练以得到对应的n个基学习器;其中n为正整数;

回测步骤,将训练数据输入该基学习器,以获得该基学习器的评价指标;

执行顺序优化步骤,根据该评价指标确定所有该基学习器的执行顺序,以得到该基学习器按执行顺序形成的第一策略;

执行方式优化步骤,根据该评价指标及该执行顺序确定所有该基学习器的执行方式,以将所有该基学习器的执行划分为并行执行和串行执行,得到该基学习器按执行方式形成的第二策略;

收敛步骤,设定该集成学习的预测阈值,所有该基学习器结合形成集成学习器,将输入数据执行该集成学习器以该第一策略或该第二策略得到结合结果,并判断该结合结果是否满足该预测阈值,当满足时终止执行过程并返回预测结果。

本发明所述的差错控制方法,其中所述训练步骤具体包括:该初始学习器为包括决策树、线性模型、查找表的任一学习器,该基学习器的结合策略为简单平均法、加权平均法、投票法的任一方法,使用包括boosting、bagging、随机森林的任一方法进行训练。

本发明所述的差错控制方法,其中所述回测步骤的该评价指标包括:coverage,为该基学习器对该训练数据的预测准确率;weight,为该基学习器在该集成学习中的权重参数;以及该基学习器单次预测的平均运行时间和平均能耗。

本发明所述的差错控制方法,其中所述执行顺序优化步骤具体包括:将所有该基学习器的coverage与weight乘积值的大小进行降序排序,以该降序排序的顺序为所有该基学习器的执行顺序。

本发明所述的差错控制方法,其中所述收敛步骤具体包括:

当所有该集成学习器采用第一策略执行的总时间小于应用运行的时间要求时,该集成学习器采用该第一策略,按该执行顺序执行该基学习器,并将第k步得到的结合结果与该预测阈值比较,当满足该预测阈值,则执行过程终止并返回预测结果,反之则继续执行第k+1步该基学习器;当所有该集成学习器采用第一策略执行的总时间大于应用运行的时间要求时,该集成学习器采用第二策略,第1步执行所有该并行基学习器,将得到的第1步结合结果与该预测阈值比较,当满足该预测阈值,则执行过程终止并返回预测结果,反之则顺序执行第l步该串行基学习器,并判断第l步结合结果是否满足该预测阈值,当满足时则执行过程终止并返回预测结果,反之则执行第l+1步该串行基学习器;其中1≤k≤n-1,2≤l≤n-1,k、l为正整数。

本发明还涉及一种基于集成学习的差错控制系统,包括:

训练模块,用于对集成学习中的n个初始学习器分别进行训练以得到对应的n个基学习器;其中n为正整数;

回测模块,用于将训练数据输入该基学习器以获得评价指标;

执行顺序优化模块,用于根据该评价指标确定所有该基学习器的执行顺序,以得到该基学习器按执行顺序形成的第一策略;

执行方式优化模块,用于根据该评价指标及该执行顺序确定所有该基学习器的执行方式,以将所有该基学习器的执行划分为并行执行和串行执行,得到该基学习器按执行方式形成的第二策略;

收敛模块,用于设定该集成学习的预测阈值,所有该基学习器结合形成集成学习器,将输入数据执行该集成学习器以该第一策略或该第二策略得到结合结果,并判断该结合结果是否满足该预测阈值,当满足时终止执行过程并返回预测结果。

本发明所述的差错控制系统,其中所述训练模块的该初始学习器为包括决策树、线性模型、查找表的任一学习器,该基学习器的结合策略为简单平均法、加权平均法、投票法的任一方法,使用包括boosting、bagging、随机森林的任一方法进行训练。

本发明所述的差错控制系统,其中所述回测模块的该评价指标包括:coverage,为该基学习器对该训练数据的预测准确率;weight,为该基学习器在该集成学习中的权重参数;以及该基学习器单次预测的平均运行时间和平均能耗。

本发明所述的差错控制方法,其中所述执行顺序优化模块通过将所有该基学习器的coverage与weight乘积值的大小进行降序排序,以该降序排序的顺序得到所有该基学习器的执行顺序。

本发明所述的差错控制系统,其中所述收敛模块具体包括:

第一收敛模块,用于当所有该集成学习器采用第一策略执行的总时间小于应用运行的时间要求时,该集成学习器采用该第一策略,按该执行顺序执行该基学习器,并将第k步得到的结合结果与该预测阈值比较,当满足该预测阈值,则执行过程终止并返回预测结果,反之则继续执行第k+1步该基学习器;

第二收敛模块,用于当所有该集成学习器采用第一策略执行的总时间大于应用运行的时间要求时,该集成学习器采用第二策略,第1步执行所有该并行基学习器,将得到的第1步结合结果与该预测阈值比较,当满足该预测阈值,则执行过程终止并返回预测结果,反之则顺序执行第l步该串行基学习器,并判断第l步结合结果是否满足该预测阈值,当满足时则执行过程终止并返回预测结果,反之则执行第l+1步该串行基学习器;

其中1≤k≤n-1,2≤l≤n-1,k、l为正整数。

本发明提出的差错控制方法,可以以更低地时间和能耗开销完成高精度地差错控制,从而进一步改善了整个差错控制系统的能效比。

附图说明

图1是本发明提出的差错控制方案的整体框架图。

图2是本发明第一策略的流程图。

图3是本发明第二策略的流程图。

图4是本发明最优收敛的流程图。

图5是基学习器最优排序和最差排序在数据分布上的对比。

图6是本发明和简单预测器的预测精度的对比。

图7是本发明和当前其他差错控制方法在能耗优化上的对比。

图8是本发明在满足应用不同实时性要求时的动态运行过程。

其中,附图标示为:

bp:基学习器

s301、s302、s303、s304、s305、s401、s402、s403、s404:步骤。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明提出的一种基于集成学习的差错控制方法和系统进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。

图1为根据本发明实施例的差错控制方法的整体框架图。

如图1所示,根据本发明的实施例的差错控制方法,用于通过动态调整基学习器的执行数量实现最优收敛,其中所述集成学习的差错控制方法包括:学习器训练步骤,确定集成学习中各基学习器用于预测的参数;学习器回测步骤,确定各基学习器的评价指标,用于后续学习器执行的优化;学习器执行顺序优化步骤,根据评价指标确定各学习器执行的先后顺序;学习器执行方式优化步骤,根据评价指标确定各学习器执行方式为串行或并行;学习器最优收敛步骤,集成学习器根据输入最快地终止执行,同时保证预测结果的准确性。

在该技术方案中,集成学习中各基学习器的结合策略可以为投票法或平均法(包括简单平均法和加权平均法),在学习器预测时,这两种方式均可实现最优收敛,这是因为差错预测过程是以输入数据流作为输入,以差错能否被容忍作为输出,即差错预测被定义为一个二分类问题,而集成学习器的预测是将各基学习器的预测结果以上述两种结合方式结合再与设定的阈值比较以形成最终的预测结果。由于这一过程非负且判定标准(即阈值)唯一,预测过程中可以先执行部分基学习器,如果该部分的结合结果已经足够决定最终的预测结果,则可以终止后续计算,从而达到节省开销的目的。

具体地,集成学习的基学习器可以为决策树、线性模型和查找表等等。

在上述技术方案中,所述学习器训练步骤还包括:收集的训练数据有足够的代表性以使得训练和预测的精度保持一致,训练过程可以是boosting,bagging和随机森林训练过程中的一种,参数包括基学习器预测所需的参数和结合的参数(如阈值等)。

在该技术方案中,所述学习器回测步骤包括:将训练数据作为输入用训练好的学习器预测输出,需收集的评价指标有:coverage,指训练好的基学习器在训练样本上的预测准确率;weight,是结合方式为加权平均法时基学习器的权重参数;基学习器单次预测的平均运行时间;基学习器单次预测的平均能耗。

在该技术方案中,所述学习器执行顺序优化步骤包括:将各基学习的coverage和weight相乘,将基学习器的执行顺序根据乘积值由大到小排列。

在该技术方案中,如果应用对差错控制的实时性要求较高,即运行时间要求小于基学习器串行执行的运行时间,此时不能基学习器均串行执行。在上述情形中,需要使用学习器执行方式优化步骤,该步骤包括:根据各基学习器单次预测的平均运行时间,用类似二分查找的方式快速确定基学习器中并行执行和串行执行的部分。

在该技术方案中,所述学习器最优收敛步骤包括:先执行需要并行执行的基学习器,将其结合结果与阈值比较,如果能够提前判定预测结果,则执行过程终止,返回预测结果,否则执行串行部分的第一个基学习器,将此时的结合结果和阈值比较,如果能够提前判定,则终止,否则执行串行部分的第二个基学习器,重复上述过程,直至可以确定预测结果。

图2为本发明的实施例的策略1的流程示意图。如图2所示,根据本发明的实施例的策略1,对训练好的基学习器进行最优的执行排序,其中策略1包括:乘法模块201,用于将各基学习器的coverage和weight信息相乘,这一部分的乘法可以串行也可以并行执行,乘法模块的输出为基学习器的执行优先级评价指标;比较模块202,用于比较各基学习器的执行优先级评价指标,得到对应的执行顺序,同样地,比较模块202也可以串行或并行执行。

图3为本发明的实施例的策略2的流程示意图。如图3所示,策略2的具体步骤为:

步骤s301:初始化,设定需要并行执行的基学习器数n为0;设定下界low为-1,设定上界high为总的基学习器数n。

步骤s302:计算当前执行模式下基于集成学习的差错控制方法的运行时间t。计算方法为:并行执行的时间为:需并行的基学习器的运行时间的最大值,串行执行的时间为:需串行执行的基学习器的运行时间的概率加权值;总的运行时间t就是并行执行时间与串行执行时间的和。

步骤s303:判断运行时间t与应用要求的时间阈值th的大小关系,如t>th,则将下限low的值赋为n,否则将上限high的值赋为n,同时临时值temp也赋为n。

步骤s304:计算low和high的均值并向下取整,将其赋值给n。

步骤s305:判断当前n与low的大小关系,如果n>low,则返回步骤s302,否则代表搜索完成,将temp赋给n,返回n,搜索过程结束。

图4为本发明的实施例的最优收敛步骤的流程示意图。如图4所示,最优收敛步骤需要模块:结合模块301,将各基学习器的输出结合起来;判断模块,判断当前的结合结果是否满足判别条件,其中判别条件为:

分类为1的条件:当前使用的学习器的结合结果>阈值

分类为0的条件:剩余学习器结合结果上限+当前使用的学习器的结合结果<阈值

由于每次结合和判断是串行方式,因此结合模块301和判断模块只需要各一个,在对应的阶段重复使用,减少开销,其具体步骤为:

步骤s401:运行需要并行执行的基学习器,并将其输出结果结合起来。

步骤s402:判断步骤s401的结合结果是否满足判别条件,如果满足则提前终止计算,得出判别结果,否则执行步骤s403。

步骤s403:根据策略1给出的执行顺序运行1个需要串行执行的基学习器,并将之前的结合结果与该基学习器的输出结合得到新的结合结果。

步骤s404:判断步骤s403的的结合结果是否满足判别条件,如果满足则提前终止计算,得出判别结果,否则返回步骤s403。

现在以一个具体的例子详细的描述本技术方案的实施过程。选取5个应用作为实验对象,这些应用可以由2种方式实现:1、传统计算方式;2、神经网络模拟。传统计算方式复杂,但可以保证结果的准确性,神经网络模拟的方式可以加速计算过程,但也对结果引入了差错,而且部分数据的差错是无法容忍的,在这个实例中,差错控制就用来控制神经网络模拟引入的差错。

本发明的差错控制方法基于集成学习方法,为了证明本发明的有效性,使用100k个样例作为训练数据,200k个样例作为测试数据,集成学习的基学习器为分支不超过10的决策树,基学习器数目为16,首先根据训练步骤通过训练得到各基学习器用于预测的参数。使用的结合方式有投票法(bagging)和加权平均法(boosting),如表1所示。

表1

使用策略1对基分类器排序,根据表1中的coverage和weight的乘积得到新的排序。为了着重说明策略1的作用,我们先假设基学习器均以完全串行的方式执行。从图5可以看出,最优排序和最差排序的差异很大,平均需要执行的学习器数分别为9.28和13.71,平均执行学习器数与能耗和运行时间成正比,最优策略能够极大地缩短这一标准值说明了策略1的有效性。

在200k个测试样例上,图6表征了本发明相对于简单预测器的优化效果,相比于目前基于简单预测器的误差控制方法,本发明能够提高预测精度15%。而相比于本发明相对于复杂预测器的方法,本发明能够平均节省能耗45%,如图7所示。

如果完全串行的方法不能满足应用的实时性要求,本发明将使用策略2确定基学习器的执行方式,表1列出了集成学习器不同执行方式的运行时间,这一时间关系可以被储存在缓存中,随时被调用。在实时运算时,假设应用在运行300个样例期间共触发了3个实时性要求,如假设应用的实时性要求从1变为0.5,此时策略2将调整并行执行基学习器的数量n,先从n=7调整为11,由于n=11仍然不满足实时性要求,继续调整为n=13,直到最后确定为n=12。整个的误差控制过程如图8所示,在不同阶段,样例的运行时间均满足了实时性要求,由此可以证明策略2可以有效保证应用动态的实时性变化。

最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1