一种基于随机哈希的异常检测算法制造技术

技术编号:17780421 阅读:317 留言:0更新日期:2018-04-22 09:18
本发明专利技术公开的一种基于随机哈希的异常检测算法,属于机器学习和数据挖掘领域。本发明专利技术的异常检测算法基于集成的思想,采取了哈希和随机森林相结合的方法,数据点的异常分数由该点所落入的叶子结点中数据点个数来衡量。对于一个待测的数据点,其所落入的叶子结点中数据点个数越少,则该数据点是异常点的可能性越大。同传统的基于密度和基于距离的方式相比,本发明专利技术中的方法具有更高的准确性,并且其所需的运行时间要比传统方式少很多。也能够克服传统方式在高维情况下失效的问题。

【技术实现步骤摘要】
一种基于随机哈希的异常检测算法
本专利技术涉及机器学习和数据挖掘
,具体是基于随机哈希的异常检测算法。
技术介绍
异常点或离群点是指偏离其他正常点,与预期不一致的数据点。离群点虽然稀少,但是相比于正常点,其包含着更多重要的信息。如医疗病例中的癌症病例。离群点检测是一项重要的数据挖掘任务,广泛应用于入侵检测,欺诈检测,财务欺诈检测,医疗诊断和传感器网络中的事件检测等多种应用领域。根据不同领域的异常变化模型,已经提出了一些各种各样的方法。基于距离的方法[1,2],基于相对密度的方法[3,4],基于角度的方法[5,6],基于聚类的方法[7,8]等一些卓越的异常检测算法。这些算法已经成为最流行的算法,并提供令人惊讶的强大的结果。可以参考[9,10]了解各种异常值检测算法的更多细节。传统的异常检测技术面临着一个非常困难的挑战:在高维数据上,由于具有很多不相关的属性,导致异常点被掩盖无法检测。然而,在目前的大数据时代,大量高维数据在许多领域是正常的。传统的需要计算距离的异常检测方法,其有效性和效率已经受到“维数灾难”的干扰。随着维数的增加,任意两对数据点之间的距离变得相近,将很难区分正常点和异常点。对于大数据和高维度的挑战,基于采样和子空间的集成方法可以为这些问题提供有效的方法。在本专利技术中,我们提出了一种非常快速和有效的异常检测算法,称为随机哈希分割森林(RHSForest)。RHSForest认为,异常点属于稀疏区域。对于数据点的异常评分,通过实例所落入树叶节点中的数据点数量来定义。把森林中的所有基检测器的得分进行平均以提供最终分数。我们的方法是以集成思想为中心,可以提高在海量数据和高维数据上的效率和有效性。其执行时间与数据集大小呈线性关系,并且需要固定的空间复杂度。参考文献:[1]ZhangK,HutterM,JinH.ANewLocalDistance-BasedOutlierDetectionApproachforScatteredReal-WorldData[J].2009,5476:813-822.[2]A.Nanopoulos,andM.″ReverseNearestNeighborsinUnsupervisedDistance-BasedOutlierDetection.″IEEETransactionsonKnowledge&DataEngineering27.5(2015):1369-1382.[3]Breunig,MarkusM.″LOF:identifyingdensity-basedlocaloutliers.″AcmSigmodRecord29.2(2000):93-104.[4]Tang,Bo,andH.He.″ALocalDensity-BasedApproachforOutlierDetection.″Neurocomputing241(2017).[5]Kriegel,HansPeter,M.S.Hubert,andA.Zimek.″Angle-basedoutlierdetectioninhigh-dimensionaldata.″ACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMiningACM,2008:444-452.[6]Pham,Ninh,andR.Pagh.″Anear-lineartimeapproximationalgorithmforangle-basedoutlierdetectioninhigh-dimensionaldata.″ACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMiningACM,2012:877-885.[7]Jiang,ShengYi,andQ.B.An.″Clustering-BasedOutlierDetectionMethod.″FifthInternationalConferenceonFuzzySystemsandKnowledgeDiscoveryIEEEComputerSociety,2008:429-433.[8]Liu,FeiTony,K.M.Ting,andZ.H.Zhou.″Isolation-BasedAnomalyDetection.″AcmTransactionsonKnowledgeDiscoveryfromData6.1(2012):1-39.[9]C.Aggarwal.OutlierAnalysis,SecondEdition,Springer,2017.[10]V.Chandola,A.Banerjee,andV.Kumar,″Anomalydetection:Asurvey,″ACMComputingSurveys(CSUR),vol.41,no.3,p.15,2009.
技术实现思路
本专利技术提供一种基于随机哈希的异常检测算法,该异常检测算法基于集成的思想,采取了哈希和随机森林相结合的方法,数据点的异常分数由该点所落入的叶子结点中数据点个数来衡量。对于一个待测的数据点,其所落入的叶子结点中数据点个数越少,则该数据点是异常点的可能性越大。同传统的基于密度和基于距离的方式相比,本专利技术中的方法具有更高的准确性,并且其所需的运行时间要比传统方式少很多。也能够克服传统方式在高维情况下失效的问题。如图1所示,本专利技术公开的基于随机哈希的异常检测算法,包括以下步骤:步骤1)确定算法输入变量,包括待检测的无D标记样本集,森林中树的个数t,树的限制高度h,树的当前高度I,一组哈希函数F;步骤2)将原始数据集D归一化预处理,使得每个属性的取值在[0,1]之间,归一化的数据集记为D′;步骤3)对D′进行随机采样,得到一个样本集S;步骤4)使用样本集S训练一棵树T,在样本集S上随机选择一个属性Ai,从F中选取一个哈希函数f,使用哈希函数f在属性Ai上对样本集进行划分,得到若干个块{B1,B2,…,Bv},每一个块Bi都作为树的一个分支;步骤5)对步骤4)中得到每一个块Bi执行与步骤4)相同的操作,直到树T的高度达到指定的限制高度h。步骤6)重复步骤3),4),5)训练得到一个森林Forest,该森林中含有t棵树;步骤7)对于数据集D,给定一个待测点Xi,计算其点落在树T中的叶子结点的大小countT(Xi),该值用来衡量点Xi的异常性。步骤8)对于森林Forest中的每一颗树Ti,都是一个异常检测器,用每一个异常检测器对待测点Xi进行异常打分;步骤9)将所有异常检测器给出的评分合并作为待测点Xi的最后异常分数。本专利技术的有益效果是:该异常检测算法基于集成的思想,采取了哈希和随机森林相结合的方法,数据点的异常分数由该点所落入的叶子结点中数据点个数来衡量。对于一个待测的数据点,其所落入的叶子结点中数据点个数越少,则该数据点是异常点的可能性越大。同传统的基于密度和基于距离的方式相比,本专利技术中的方法具有更高的准确性,并且其所需的运行时间要比传统方式少很多。也能够克服传统方式在高维情况下失效的问题,以及解决在大数据集上运行时间过长的问题。附图说明图1为本专利技术基于随机哈希的异常检本文档来自技高网
...
一种基于随机哈希的异常检测算法

【技术保护点】
一种随机哈希的异常检测算法,其特征在于,包括以下步骤:步骤1)确定算法输入变量,包括待检测的无标记样本集D,森林中树的个数t,树的限制高度h,树的当前高度I,一组哈希函数F;步骤2)将原始数据集D归一化预处理,使得每个属性的取值在[0,1]之间,归一化的数据集记为D′;步骤3)对D′进行随机采样,得到一个样本集S;步骤4)使用样本集S训练一棵树T,在样本集S上随机选择一个属性Ai,从F中选取一个哈希函数f,使用哈希函数f在属性Ai上对样本集进行划分,得到若干个块{B1,B2,...,Bv},每一个块Bi都作为树的一个分支;步骤5)对步骤4)中得到每一个块Bi执行与步骤4)相同的操作,直到树T的高度达到指定的限制高度h。步骤6)重复步骤3),4),5)训练得到一个森林Forest,该森林中含有t棵树;步骤7)对于数据集D,给定一个待测点Xi,计算其点落在树T中的叶子结点的大小countT(Xi),该值用来衡量点Xi的异常性。步骤8)对于森林Forest中的每一颗树Ti,都是一个异常检测器,用每一个异常检测器对待测点Xi进行异常打分;步骤9)将所有异常检测器给出的评分合并作为待测点Xi的最后异常分数。...

【技术特征摘要】
1.一种随机哈希的异常检测算法,其特征在于,包括以下步骤:步骤1)确定算法输入变量,包括待检测的无标记样本集D,森林中树的个数t,树的限制高度h,树的当前高度I,一组哈希函数F;步骤2)将原始数据集D归一化预处理,使得每个属性的取值在[0,1]之间,归一化的数据集记为D′;步骤3)对D′进行随机采样,得到一个样本集S;步骤4)使用样本集S训练一棵树T,在样本集S上随机选择一个属性Ai,从F中选取一个哈希函数f,使用哈希函数f在属性Ai上对样本集进行划分,得到若干个块{B1,B2,...,Bv},每一个块Bi都作为树的一个分支;步骤5)对步骤4)中得到每一个块Bi执行与步骤4)相同的操作,直到树T的高度达到指定的限制高度h。步骤6)重复步骤3),4),5)训练得到一个森林Forest,该森林中含有t棵树;步骤7)对于数据集D,给定一个待测点Xi,计算其点落在树T中的叶子结点的大小countT(Xi),该值用来衡量点Xi的异常性。步骤8)对于森林Forest中的每一颗树Ti,都是一个异常检测器,用每一个异常检测器对待测点Xi进行异常打分;步骤9)将所有异常检测器给出的评分合并作为待测点Xi的最后异常分数。2.根据权利要求1所述的基于随机哈希的异常检测算法,其特征在于:所述步骤1)中,数据集D中属性都是数值型的。根据集成的思想,基检测器的个数对整体的性能会有影响,并且基检测器的个数多比少要好。较多的基检测器能够提高集成器的整体泛化能力。但是基检测器的个数并不是越多越好。有两个原因:(1)当检测器的数量达到一定个数时,再增加基检测器就不会提高集成器的泛化能力了;(2)检测器的数量增多,会增加算法的执行时间。所以在本发明中我们对检测器的数量t取100,兼顾泛化能力和时间复杂度两个方面。树的限制高度h的选取,跟基检测器数量选取相似,h选取过大会增加搜索的时间。在本发明中h设置为10。在本发明中哈希函数其...

【专利技术属性】
技术研发人员:关东海陈凯袁伟伟
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1