基于主动学习的异常数据检测方法与流程

文档序号:18011782发布日期:2019-06-26 00:12阅读:395来源:国知局
基于主动学习的异常数据检测方法与流程
本发明涉及一种异常数据检测方法,具体的说,是涉及一种基于主动学习的异常数据检测方法。
背景技术
:离群点是指与数据集中的其它数据有明显偏离,使人怀疑这些数据点是由不同机制产生的。离群点检测(outlierdetection),也称为离群点挖掘(outliermining),因其在金融欺诈、网络入侵、故障检测、生物信息等领域有着广阔的应用前景,受到了广泛关注和研究。离群点检测任务通常缺少可用的标注数据,且离群数据只占整个数据集的很小一部分,因此,相较于其他的数据挖掘任务,离群点检测的难度较大。目前对于离群点检测的研究主要可分为以下几类:(1)基于概率统计的检测方法,包括基于直方图和图基测试(tukeytest)的检测方法等(2)基于相似性的检测方法,包括基于聚类、近邻距离和密度的检测方法;(3)基于分类的方法,包括基于浅层神经网络、基于支持向量机的二元分类方法和深度自编码器方法;(4)对高维数据的子空间划分方法,包括孤立森林等;(5)基于信息论的检测方法。由于离群点检测任务的复杂性,尚没有单一的算法适合于所有的场景,因此研究人员提出了基于模型集成的检测方法,以降低单一算法带来的风险。在离群点检测中使用不同的特征子集的方法,并将它们组合以提供更有效的结果。鉴于领域专家知识的应用对提高离群点的识别效果总是非常明显,研究人员尝试将主动学习(activelearning)应用于离群点检测,使得人类专家可以将领域知识,进而将无监督的离群点检测问题转换为有监督的稀有类别检测问题方面。现有技术中提出了基于主动学习的离群点检测方法,从未标记的数据迭代地主动学习,在每次迭代中,算法确定有助于进一步分类的“重要的”示例,呈现给人类专家,由其为这些示例进行标注,然后使用这些标记后的数据对数据集进行分类。技术实现要素:针对上述现有技术中的不足,本发明提供一种减少工作量、提升扩展性的同时,达到了较高地准确率的基于主动学习的异常数据检测方法。本发明所采取的技术方案是:一种基于主动学习的异常数据检测方法,根据各种基础学习器的对比分析,选择基于统计的和基于相似性的模型、基于轴平行子空间划分的无监督模型作为基学习器;将各基学习器评判的离群分数处于离群和正常边界的数据合并后呈现给人类专家进行标注;从标注的数据集和各基学习器投票产生的数据集中抽样训练有监督二元分类模型,将该模型应用于全数据集,得出最终的挖掘结果。使用分析对比后选择的无监督基学习器对原始数据进行离群挖掘,根据各基学习器的输出,采用算法1呈现出少量重要数据给专家进行标注,采用算法2的集成方式产生部分带标注的训练数据集,并与专家标注的数据集整合后,去训练二元监督分类模型,然后将该模型应用到原始数据上,得到最终的离群挖掘结果。将离群点检测转换为有监督的过程,构造出用于训练的有标注数据集,标注主要来源于两个方面:人类专家的标注和基学习器的结果整合。从各基学习器的输出数据s中,根据学习器的评分,获取处于离群和正常边界的离群数据各m条、正常数据各n条,则从s中可得到待标注离群数据集a和待标注的正常数据集n;将待标注离群数据集a和待标注的正常数据集n分别合并去重后可得待标注离群数据集a和待标注的正常数据集n;在a和n中重复的数据,将其从n中删除;将a和n按照离群程度降序排列后呈现给人类专家进行标注;a和n合并为d并输出,算法结束。算法2基学习器投票标注训练集算法如下:将各基学习器的输出s拆分为离群数据集sa和正常数据集sn;对sa进行简单投票,将在一半以上数据集中出现的,作为训练用的离群数据集a;从sn的交集中抽样,作为训练用的正常数据集n;a和n合并为e并输出,算法结束。将算法1和算法2的输出结果d和e合并形成最终的训练数据集,当遇到标注冲突的数据时,以d中的标注为准。本发明相对现有技术的有益效果:本发明基于主动学习的异常数据检测方法,针对目前的离群点挖掘方法尚未有效解决人工专家知识应用、扩展性和准确率之间的有效平衡问题,结合主动学习和模型集成,提出一种基于主动学习的离群点集成挖掘方法omal,结合多个无监督基学习器的学习结果与人类专家知识,训练出有监督的二元分类模型,在减少工作量、提升扩展性的同时,达到了较高地准确率。实验表明,omal方法在提供更好的离群点挖掘效果的同时,具备良好的性能和扩展性,能够支撑海量数据处理要求,具有良好的实用价值。附图说明图1是本发明基于主动学习的异常数据检测方法的离群点集成挖掘方法整体流程图;图2是本发明基于主动学习的异常数据检测方法的离群点集成挖掘方法的算法流程图;图3是本发明基于主动学习的异常数据检测方法的离群点集成挖掘方法的人类专家标注流程图;图4是本发明基于主动学习的异常数据检测方法的离群点集成挖掘方法的基学习器投票流程图。具体实施方式以下参照附图及实施例对本发明进行详细的说明:附图1-4可知,一种基于主动学习的异常数据检测方法,根据各种基础学习器的对比分析,选择基于统计的tukeytest和hbos、基于相似性的模型iorca、基于轴平行子空间划分的isolationforest和rshash5个无监督模型作为基学习器;将各基学习器评判的离群分数处于离群和正常边界的数据合并后呈现给人类专家进行标注;这样可以最大化人类专家反馈的信息量。从标注的数据集和各基学习器投票产生的数据集中抽样75%训练基于gbm(gradientboostingmachine)的有监督二元分类模型,将该模型应用于全数据集,得出最终的挖掘结果。最后,使用文献(camposgo,zimeka,sanderj,etal.ontheevaluationofunsupervisedoutlierdetection:measures,datasets,andanempiricalstudy[j].datamining&knowledgediscovery,2016,30(4):891-927。goldsteinm,uchidas.acomparativeevaluationofunsupervisedanomalydetectionalgorithmsformultivariatedata[j].plosone,2016,11(4):e0152173.)中的数据集进行实验,结果表明本发明提出方法的auc(areaundercurve)有了较为明显地提升,同时具备良好的时间和空间效率,能够适应海量数据处理的要求。使用分析对比后选择的5个无监督基学习器对原始数据进行离群挖掘,根据各基学习器的输出,采用算法1呈现出少量重要数据给专家进行标注,采用算法2的集成方式产生部分带标注的训练数据集,并与专家标注的数据集整合后,去训练基于gbm的二元监督分类模型,然后将该模型应用到原始数据上,得到最终的离群挖掘结果。将离群点检测转换为有监督的过程,构造出用于训练的有标注数据集,标注主要来源于两个方面:人类专家的标注和基学习器的结果整合。为了减少人类专家的标注工作量,同时最大化标注的价值,将能够为系统带来最多反馈信息的数据呈现给人类专家。基学习器的选择:目前主要的无监督离群检测算法如表1:诸多学者已经对上述算法进行了多种对比研究,sugiyama等人对比了iforest、fastvoa、iorca、oneclasssvm、lof和子采样sugiyama-borgwardt方法在多种数据集上的表现,其中sugiyama-borgwardt、iorca和iforest效果最佳,表明采样能大幅提升处理性能,同时保证准确性;lazarevic等基于kddcup99数据集,对比了lof、k-nn、pca和one-classsvm算法;campos等人对基于距离(knn、knnw)、密度(lof、simplifiedlof、loop、cof、ldf、inflo、ldof、odin、kdeos)和角度(fastabod)的方法进行了对比,结果表明knn、knnw和lof是这些方法中统计最优的,特别是在离群点数量较多的情况下更为突出,在离群点数量较少的情况下,simplifiedlof和loop效果与lof相近;ldf在某些情况下有最好的效果,但非常不稳定,fastabod非常稳定,但效果较差。goldstein等人的研究表明,局部离群检测算法(lof、cof、inflo、loop、loci、ldcof、cmgos)只适合于仅包含局部离群点的数据集,在包含有全局离群点的数据集上,会产生许多误检;相反,全局离群检测算法(hbos、robustpca、k-nn、ucblof、one-classsvm)不仅可检测全局离群点,对于局部离群问题,可至少达到平均水平,在对数据集没有先验知识的情况下,优先选择全局离群检测算法。ding等人对比了svdd、k-nn、k-means和gmm在10个不同数据集上的离群检测效果;liu等人对比了iforest、sciforest、orca、oneclasssvm、randomforest和lof在多个数据集上的表现,指出iforest对全局离群点检测问题最有效,sciforest对局部离群点检测问题最有效。zimek等的研究表明,在无监督的离群点集成算法中,采取多样性的基模型有助于提升最终的效果,且不同类型的模型集成优于不同参数的同类模型集成。综合上述文献的研究成果,结合本发明的特点,给出基学习器的选择原则:(1)近线性时间复杂度。主动学习框架中需要人类专家参与,时效性是保证闭环顺利进行的核心要素,因此,各基学习器的时间复杂度是第一重要的选择指标。(2)模型的鲁棒性。各基学习器需要在不同数据集上有稳定的表现。(3)模型的多样性。多样性的模型集成可发现不同原因产生的离群点,提升最终检测效果。(4)模型可解释性。模型可解释性允许领域专家更好的理解基学习器发现的离群和可疑点,从而更好地进行标注。因此,本文选择了基于统计的tukeytest和hbos、基于相似性的模型iorca、基于轴平行子空间划分的isolationforest和rshash共3大类、5个近线性时间复杂度的无监督模型作为基学习器。监督模型训练集的构造:为了将离群点检测转换为有监督的过程,需要构造出用于训练的有标注数据集,标注主要来源于两个方面:人类专家的标注、基学习器的结果整合。为了减少人类专家的标注工作量,同时最大化标注的价值,需要将能够为系统带来最多反馈信息的数据曾现给人类专家,具体方法如算法1所示:算法1描述了人类专家标注训练集构建的具体过程。算法1人类专家标注训练集构建算法如下:从各基学习器的输出s1-s5中,根据学习器的评分,获取处于离群和正常边界的离群数据各m(m=min(10,可用数据))条、正常数据各n(n=min(5,可用数据))条,则从s1-s5中可得到待标注离群数据集a1-a5(不超过50行)和待标注的正常数据集n1-n5(不超过25行)。将a1-a5、n1-n5分别合并去重后可得待标注离群数据集a和待标注的正常数据集n;在a和n中重复的数据,将其从n中删除;将a和n按照离群程度降序排列后呈现给人类专家进行标注;a和n合并为d并输出,算法结束。基学习器的结果整合是集成学习的关键点,但由于各学习器输出结果的含义和尺度的差异,结果整合仍然是集成学习中的难点。由于本发明并不需要将基学习器的模型进行整合,因此无需对输出结果在含义和尺度上进行融合;另一方面,依据没有免费午餐定理nfl,在分布未知的多种数据集上,各基学习器的平均表现是相当的,因此采用了未加权的简单投票(majorvote)方法。具体过程如算法2所示:算法2基学习器投票标注训练集算法如下:将各基学习器的输出s1-s5拆分为离群数据集sa1-sa5和正常数据集sn1-sn5;对sa1-sa5进行简单投票,将在一半以上数据集中出现的,作为训练用的离群数据集a;从sn1-sn5的交集中抽样75%,作为训练用的正常数据集n;a和n合并为e并输出,算法结束。将算法1和算法2的输出结果d和e合并形成最终的训练数据集,当遇到标注冲突的数据时,以d中的标注为准。有监督分类算法的选择:首先,由于离群数据的稀有特性,构造出的训练数据集仍然是不平衡的,而常用的过采样、欠采样方法均不适于离群挖掘场景;因此,需要能够支持不平衡数据集的二元分类算法;其次,人类专家标注训练集后,会希望能尽快获得最终的离群挖掘结果,这也就要求有监督模型必须有较高的训练和预测性能。friedman等人提出的gbm(gradientboostingmachine)是一种boosting集成学习模型,支持不平衡数据集的二元分类,具有可高度定制的灵活性、训练速度快且可并行化、易于调参和可解释性强等优点,在各大数据挖掘竞赛和工业界均有广泛的应用并取得了良好的效果,因此,本文选择基于gbm的有监督二元分类算法。本发明的实验环境为1台4核16g内存,512g固态硬盘的macbookpro,操作系统为macos10.13。测试数据为(camposgo,zimeka,sanderj,etal.ontheevaluationofunsupervisedoutlierdetection:measures,datasets,andanempiricalstudy[j].datamining&knowledgediscovery,2016,30(4):891-927。goldsteinm,uchidas.acomparativeevaluationofunsupervisedanomalydetectionalgorithmsformultivariatedata[j].plosone,2016,11(4):e0152173.)文献使用的30个公开数据集,这些数据集也被许多离群点挖掘的文献使用,其中kdd99、shuttle和annthyroid数据集在两篇文献中分别做了不同的处理,数据集的情况如下表2:omal算法中各基学习器hbos、tukeytest、iorca、iforest和rshash参数设定分别使用各算法提出者文献中的推荐设定;并基于lightgbm实现有监督二元分类监督模型,设置unbalanced参数后可支持不平衡数据集二分类。将omal算法与各基学习器hbos、tukeytest、iorca、iforest和rshash独立运行时的结果进行对比,各基学习器也采用各算法提出者文献中的推荐设定。采用无监督离群挖掘算法评价的事实标准auc其作为评价指标。实验表明,本发明在30种数据集上的auc值都有了较为显著地提升。进一步使用来源于uci的混凝土数据集,经过分层抽样以及过滤缺失值处理后作为本文实验用数据集。数据集中包含水泥、高炉炉渣、浮尘、水、超增塑剂、粗骨料、细骨料、龄期和混凝土抗压强度9个属性。数据集总共有1030条数据,其中离群数据占比为3.88%。数据集的情况如表:3:数据集字典是对数据集进行说明的文本文件,包括各项属性的中文说明以及每个属性中经过整理变换的数据信息的说明。表3:数据字典:本发明基于主动学习的异常数据检测方法的数据集部分展示如下表4所示。本发明选择了以下三种不同类型的代表性算法进行对比:lof算法:lof(localoutlierfactor)是一种基于局部密度的异常检测算法。其核心思想如下:根据给定的参数k,即最小邻居数k和最近邻距离来确定邻域,通过计算数量对象的k-距离、可达距离和可达密度,用其邻域的平均可达密度与自身的可达密度之比表示lof,根据lof大小输出的前n个数据对象则为异常数据对象。lof可检测局部离群点,但因需要计算k邻距离,时间复杂度为o(n2),性能较差。hbos算法:hbos(histogram-basedoutlierscore)是一种基于统计方法的异常检测算法。假定每个特征独立,数据被离散成等宽的排列箱,每个排列箱的取值都在最大最小值之间,其频次被事先计算好,其中频次特别低的数据就是离群点,忽略特征之间的关系具有一定缺陷,但可大大加快处理速度。isolationforest算法:isolationforest是一种基于子空间划分的异常检测算法,可处理高维数据。其算法设计利用了“异常”的两个特征:极少且与众不同。其一,异常数据的个数占数据集总体规模的比重较小;其二,异常对象的属性值与正常对象的属性值相比存在明显差异。当在仅包含数值类型的训练集中,对数据对象进行递归划分,直至每个数据对象都由一棵称为itree的二叉树与其他对象进行区别。异常对象距离树的根节点较近,即路径长度较短,反映仅需少量条件即可将异常对象与其他对象区别开来。各算法的对比情况如表5所示:实验结果对比:表5:算法auc精确率召回率lof0.55092.75%85.77%hbos0.35945.43%55.54%isolationforest0.65992.43%86.06%omal0.89695.66%86.06%实验结果表明,得益于人类专家的知识,及多种基学习器的共同决策,omal算法的离群挖掘效果比经典的lof、hbos和isolationforest算法均有了明显提高。本发明针对目前的离群点挖掘方法尚未有效解决人工专家知识应用、扩展性和准确率之间的有效平衡问题,结合主动学习和模型集成,提出一种基于主动学习的离群点集成挖掘方法omal,结合多个无监督基学习器的学习结果与人类专家知识,训练出有监督的二元分类模型,在减少工作量、提升扩展性的同时,达到了较高地准确率。实验表明,omal方法在提供更好的离群点挖掘效果的同时,具备良好的性能和扩展性,能够支撑海量数据处理要求,具有良好的实用价值。如果能经过人类专家的多轮指导,可获得更多的反馈信息,有助于提升系统效果,但如何呈现每轮次的待标注数据以优化信息反馈效率,如何处理每轮次标注后的样本集以优化下轮无监督学习器的输出,如何根据每轮次的反馈调整各基学习器的权重,是需要进一步研究的问题。以上所述,仅是本发明的较佳实施例而已,并非对本发明的结构作任何形式上的限制。凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明的技术方案范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1