一种基于增量学习的多标签数据流分类方法与流程

文档序号:18398984发布日期:2019-08-09 23:41阅读:464来源:国知局
一种基于增量学习的多标签数据流分类方法与流程

本发明涉及数据流环境下的多标签分类方法,具体涉及增量学习与概念漂移检测方法。



背景技术:

近些年来,随着互联网的快速发展,每天产生的数据也越来越多。我们当前正处于数据快速增长的时代,全球互联网每时每刻都产生了海量的数据。尤其在社交网络领域,腾讯的微信日活跃用户数量已达到9亿,活跃的用户量时时刻刻都在产生高速、动态的海量数据。与此类似的场景还有传感器网络、网站日志、电商交易记录等等。这种按照时间先后顺序产生的数据称为数据流,对于这些数据流挖掘分析是一个现实并且富有挑战性的问题。在单标签数据流分类领域,学术界已经做了大量的研究。然而,在很多的现实场景中,数据流的每个样本包含了多个标签。例如在一个在线网页新闻分类任务中,一篇网页新闻会包含了多个新闻主题(经济、政治、商业、体育等等)。在线的视频分类任务中,一段视频可能被打上多个标签(灾难、海洋、科幻等等)。因此,面向多标签数据流分类的算法研究是很有现实意义的。

在数据流环境下,算法无法获得所有的训练数据,随着时间的流逝,新的样本数据不断的到来,因此增量学习在多标签数据流分类研究中显得尤为重要。现有的数据流分类算法中应用到了增量学习思想的比较少,有用到了增量学习思想的是基于现有的增量学习算法,例如增量朴素贝叶斯算法。传统的增量朴素贝叶斯算法基于贝叶斯公式进行相关概率的计算与更新,但是由于其算法中的“朴素”,即假设样本的属性之间是互不相干的,并且由于完全丢掉了训练初始模型时的实例信息,因此其增量学习效果有一定改善空间。数据流中普遍存在着概念漂移问题,当分类算法遇到概念漂移时,以前所学习到的知识可能就不再适用了,为了避免分类算法性能在遇到概念漂移时遭遇大幅下滑,概念漂移检测便尤其重要。但是现有的一些方法中,都是以适应性的方式处理概念漂移,不能及时检测并处理概念漂移问题。



技术实现要素:

发明目的:本发明所要解决的问题是,多标签数据流分类问题中的新数据到来的增量学习与概念漂移问题,提出了基于朴素贝叶斯与kmeans的增量学习方法和双层概念漂移检测方法。具体方案如下:

本发明的技术方案是,一种基于增量学习的多标签数据流分类方法,包括三个阶段,初始训练阶段、概念漂移检测阶段、增量更新阶段;步骤一,初始训练阶段,将多标签数据流建模成固定实例数的数据块,根据初始的数据块,对于每个数据块进行朴素贝叶斯模型的训练以及应用kmeans算法得到簇心集合;训练好的朴素贝叶斯分类模型和簇心集合共同作为基分类器;

步骤二,概念漂移检测阶段,初始学习阶段朴素贝叶斯集成模型中的基分类器数量达到一定个数时,分别从数据层面和模型层面进行概念漂移的检测;数据层面主要通过统计上的属性-标签概率相关性检测,根据“实例的属性信息足够相似,则标签信息也应足够相似”这一原则进行阈值判断,违背了这一原则且超过一定阈值可判断发生了概念漂移。模型层面检测则根据假设检验的思想,对于模型的分类错误率进行比较判断;

步骤三,增量更新阶段,当最新的数据块dt到来时,针对集成模型中的每个基分类器,用dt中的每个样本本身所携带的信息对基分类器进行更新,进行实例信息更新;在对dt中的每个实例用基分类器进行预测,根据预测正确与否进行预测更新,即用基分类器对dt中的每一个实例预测正确与否对基分类器执行不同的更新策略;

进一步的,初始训练阶段的模型建立包括如下步骤:

步骤一中初始训练阶段的朴素贝叶斯分类模型预测类别为:

其中k为类别数,n为属性数。得到类别计算公式后,能够知道要判断一个实例所属的类,需要计算类先验概率p(ci)和特征的类条件概率p(xj|ci)。对于第l个标签,其类先验概率用pl(ci)表示,pl(ci)的计算公式为:

其中为训练样本中第l个标签类别为ci的个数,n为训练样本总数。而pl(xj|ci)的计算就复杂些,当xj为离散属性时:

其中为训练样本中第l个标签类别为ci且第j个属性值为xj的实例个数。当xj为连续属性时:

应用kmeans算法得到簇心集合o={o1,o2,...oh},并根据训练好的朴素贝叶斯模型得到每个簇心的标签集合与真值向量,真值向量的计算公式如下:

得到这h个簇心的相关信息并保存,其保存的具体信息如下式所示:

s={(o1,y1,r1),(o2,y2,r2),...,(oh,yh,rh)}

步骤一中根据初始的数据块学习出基分类器,包括如下步骤:

s1、对于初始的数据块,进行初始朴素贝叶斯模型的训练,对于每个标签学习出一个朴素贝叶斯分类模型,根据初始的数据块,得到f={f1,f2,...fq}

s2、在数据块上应用kmeans算法,得到簇心集合o={o1,o2,...oh}。

s3、在o上应用模型f,得到标签集合y与真知向量r。

s4、将簇心集合o={o1,o2,...oh}、以及对应的标签集合真值向量r保存到s中。

概念漂移检测阶段包括如下步骤:

s1、首先进行数据层面的概念漂移检测,对于两个数据块d1,d2。属性的差异度量计算公式为:

s2、计算d1,d2的标签差异度量,其计算公式为:

其中pj的计算公式为:

s3、数据块d1,d2的标签密度差异度量dlden的计算公式如下:

dlden=||lden1-lden2||

其中lden表示标签密度,其计算公式如下:

lcard表示标签基数,其计算公式如下:

其中yi={-1,1}l,表示实例xi的标签集合,-1表示不相关标签,1表示相关标签,l表示标签集的大小。

s4、数据块d1,d2整体差异度量dall的计算公式如下:

如果dall大于2或者太小0.5时,则可判断发生了数据层面的概念漂移

s5、接着以下步骤进行模型层面的概念漂移检测,对于数据块的某个实例,其分类错误率的计算为:

s6、对于数据块的第i个实例,模型在对第i个实例预测并计算出pi和σi之后,需要进行比较,若pi+σi<pmin+σmin,则进行更新:pmin=pi,σmin=σi。

s7、对于数据块的第i个实例,如果pi+σi≥pi+3*σi条件满足,则可判断发生了模型层面的概念漂移,否则可判断没有发生概念漂移。

增量更新阶段包括如下步骤:

s1、根据是否检测到概念漂移,执行不同的更新策略。如果检测到概念漂移,则移除发生概念漂移数据块对应的基分类器;

s2、如果没有发生到概念漂移,在最新的数据块上训练出一个基分类器,根据当前集成模型的基分类器在当前数据块上的性能表现,淘汰掉性能最差的基分类器;

s3、对于集成模型的每个基分类器,在当前的数据块上执行更新策略。对于最新的数据块dt的每个样本,进行实例信息更新流程,假设xi的真实标签集合为:yi={y1,y2,...yl}∈{-1,1}l,第l个标签的类别先验概率更新公式如下:

类的特征条件概率更新则根据其属性值类型,当属性值类型为离散型的时候,其更新公式为:

其中为训练样本中第l个标签类别为ci的个数。当特征xj为连续属性时,根据新来的实例所属类别对相应的类别属性的平均值和方差进行更新,特征的类条件概率更新公式如下:

其中分别表示第l个标签的类别为ci的实例属性的平均值和方差。

s4、实例信息更新流程完成后,对于集成模型的每个基分类器,执行预测更新策略。在对数据块的每个样本,用基分类器进行预测,根据预测正确与否执行不同的更新策略。假设其预测的标签集合为:当l个标签类别预测正确时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

当特征为连续值时,特征的类条件概率更新如下:

当第l个标签类别预测错误时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

对于连续型属性值,类的特征条件概率更新公式如下:

进一步的,对初始训练阶段得到的基分类器进行增量更新,包括以下步骤:

s1、根据是否检测到概念漂移,执行不同的更新策略。如果检测到概念漂移,则移除发生概念漂移数据块对应的基分类器;

s2、如果没有发生到概念漂移,在最新的数据块上训练出一个基分类器,根据当前集成模型的基分类器在当前数据块上的性能表现,淘汰掉性能最差的基分类器;

s3、对于集成模型的每个基分类器,在当前的数据块上执行更新策略。对于最新的数据块dt的每个样本,进行实例信息更新流程,假设xi的真实标签集合为:yi={y1,y2,...yl}∈{-1,1}l,第l个标签的类别先验概率更新公式如下:

类的特征条件概率更新则根据其属性值类型,当属性值类型为离散型的时候,其更新公式为:

其中为训练样本中第l个标签类别为ci的个数。当特征xj为连续属性时,根据新来的实例所属类别对相应的类别属性的平均值和方差进行更新,其中分别表示第l个标签的类别为ci的实例属性的平均值和方差,特征的类条件概率更新公式如下:

s4、实例信息更新流程完成后,对于集成模型的每个基分类器,执行预测更新策略。在对数据块的每个样本,用基分类器进行预测,根据预测正确与否执行不同的更新策略。假设其预测的标签集合为:当l个标签类别预测正确时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

当特征为连续值时,特征的类条件概率更新如下:

当第l个标签类别预测错误时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

对于连续型属性值,类的特征条件概率更新公式如下:

增量更新阶段中模型对于某个实例的预测包括以下步骤:

s1、对于实例xt,根据步骤一得到的簇心集合,得到xt的k个最近邻簇心。实例xt的某个k近邻簇心的oi距离权重公式如下:

其中di计算公式如下:

s2、根据朴素贝叶斯模型与oi的真值向量ri,簇心集合中第i个簇心的真值向量权重计算公式为:

表示第i个簇心对第l个标签的预测值的确信度,则该簇心对于实例的第l个标签的权重计算公式为:

s3、对于实例xt,假设其预测的标签集合为:其中l为标签数目,则预测的第l个标签为:

有益效果:本发明使用融入了kmean的增量朴素贝叶斯算法来解决数据流环境下新样本到来所带来的新知识问题,能够充分利用初始学习阶段中实例的特征信息。从概念漂移的诱因与影响模型分类效果的角度出发,分别从数据层面和模型层面进行概念漂移检测,显著提高了分类方法在数据流环境下的分类的稳定性。本发明解决了多标签数据流分类算法在时空限制的条件下进行模型的学习与预测问题,并在含有概念漂移的情况下维持了算法较高的性能。本发明方法不仅能及时检测到数据流中的概念漂移,避免在遇到概念漂移时算法性能遭遇大幅下滑,而且能够对于最新到来的数据进行增量学习,保证了模型的性能。

附图说明

图1是本发明的整体流程图;

图2是概念漂移检测流程图;

图3是增量学习流程图;

具体实施方式

为了更好的了解本发明的技术内容,特举例实施并配合所附图式说明如下。

图1为实施例中基于数据块机制和增量学习的多标签数据流分类方法的整体流程图,如图所示,该方法主要包括三个阶段,分别是初始训练阶段、概念漂移检测阶段、ze

结合图2说明概念漂移检测阶段的实施步骤如下:

步骤一首先进行数据层面的概念漂移检测,对于两个数据块d1,d2,进行属性的差异度量的计算;

步骤二计算d1,d2的标签差异度量;

步骤三计算d1,d2的标签密度差异度量;

步骤四进行数据块d1,d2整体差异度量计算,如果dall太大或者太小,则可判断发生了数据层面的概念漂移;

步骤五接着以下步骤进行模型层面的概念漂移检测,对于数据块的某个实例,计算其分类错误率与标准差。

步骤六对于数据块的每个实例,实时更新分类错误率与标准差和的最小值。对于数据块的第i个实例,模型在对第i个实例预测并计算出pi和σi之后,需要进行比较,若pi+σi<pmin+σmin,则进行更新:pmin=pi,σmin=σi。

步骤七进行模型层面概念漂移的判定,对于数据块的第i个实例,如果pi+σi≥pi+3*σi条件满足,则可判断发生了模型层面的概念漂移,否则可判断没有发生概念漂移。

图3是模型增量更新的流程图,具体步骤为:

步骤一根据是否检测到概念漂移,执行不同的更新策略。如果检测到概念漂移,则移除发生概念漂移数据块对应的基分类器;

步骤二根据检测没有发生到概念漂移,在最新的数据块上训练出一个基分类器,根据当前集成模型的基分类器在当前数据块上的性能表现,淘汰掉性能最差的基分类器;

步骤三对于集成模型的每个基分类器,在当前的数据块上执行更新策略。对于最新的数据块dt的每个样本,进行实例信息更新流程,假设xi的真实标签集合为:yi={y1,y2,...yl}∈{-1,1}l,第l个标签的类别先验概率更新公式如下:

类的特征条件概率更新则根据其属性值类型,当属性值类型为离散型的时候,其更新公式为:

其中为训练样本中第l个标签类别为ci的个数。当特征xj为连续属性时,根据新来的实例所属类别对相应的类别属性的平均值和方差进行更新,分别表示第l个标签的类别为ci的实例属性的平均值和方差,特征的类条件概率更新公式如下:

步骤四实例信息更新流程完成后,对于集成模型的每个基分类器,执行预测更新策略。在对数据块的每个样本,用基分类器进行预测,根据预测正确与否执行不同的更新策略。假设其预测的标签集合为:当l个标签类别预测正确时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

当特征为连续值时,特征的类条件概率更新如下:

当第l个标签类别预测错误时,其第l个标签类别的先验概率更新公式如下:

当特征为离散值时,特征的类条件概率更新如下:

对于连续型属性值,类的特征条件概率更新公式如下:

综上所述,种基于数据块机制和增量学习的多标签数据流分类方法,解决了多标签数据流分类算法在时空限制的条件下进行模型的学习与预测问题,并在含有概念漂移的情况下维持了算法较高的性能。通过融入了kmeans的增量朴素贝叶斯算法,有效利用了初始学习阶段中的实例特征信息。在多标签数据流分类过程中主动的去进行概念漂移的检测,从而保证了数据流中模型性能的稳定性,具有良好的实用性。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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