基于改进的孤立森林的异常样本检测方法及相关设备与流程

文档序号:26728991发布日期:2021-09-22 21:29阅读:239来源:国知局
基于改进的孤立森林的异常样本检测方法及相关设备与流程

1.本技术涉及人工智能技术领域,具体涉及一种基于改进的孤立森林的异常样本检测方法及相关设备。


背景技术:

2.孤立森林是用于结构化数据异常检测的一种算法,一般来说它基于异常样本检测是稀疏的,现有技术通过较少次划分将样本数据归结到单独区域中进行异常检测。
3.然而,发明人发现现有的孤立森林是基于单棵树结构的集成算法,可能会引起异常监测结果不稳定和单棵孤立树过深的问题,导致异常样本检测效率和准确率低;同时,在处理大规模数据时,孤立森林采用的随机划分特征方法会使得异常样本检测速度较慢。
4.因此,有必要提出一种可以快速准确的异常样本检测的方法。


技术实现要素:

5.鉴于以上内容,有必要提出一种基于改进的孤立森林的异常样本检测方法及相关设备,通过对所述原始样本数据集进行分割处理,避免随机选取分割值导致的分割次数多的问题,提高目标样本的分割速度,进而提高了异常样本检测效率。
6.本技术的第一方面提供一种基于改进的孤立森林的异常样本检测方法,所述方法包括:解析接收的异常样本检测请求,获取原始样本数据集,其中,所述原始样本数据集中包含有多个维度的样本数据集;计算每个所述维度的样本数据集的变异系数;根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,及对所述原始样本数据集进行分割处理;根据维度选择过程和分割处理过程构建多颗目标孤立树,并集成所述多颗目标孤立树构成孤立森林;根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测。
7.可选地,所述根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测包括:从所述原始样本数据集中随机选取一个样本,基于每个所述样本遍历所述孤立森林的每一颗孤立树,计算每个所述样本在所述孤立森林的每一颗孤立树上的深度;根据每个所述样本在所述孤立森林的每一颗孤立树上的深度计算每个所述样本的异常值,所述异常值采用如下公式计算得到:,其中,表示所述原始样本数据集中的任意一个样本,表示任意一个样本在
所述孤立森林的每一颗孤立树上的深度,表示所述任意一个样本在所述孤立森林中的深度平均值,表示所述孤立森林中的多个目标样本中的任意一个目标样本,表示所述任意一个目标样本在所述孤立森林中的深度平均值,表示所述任意一个样本在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值;将计算得到的每个所述样本的异常值与预设的异常阈值进行比较;当每个所述样本的异常值大于或者等于所述预设的异常阈值时,确定每个所述样本的异常值对应的样本异常。
8.可选地,所述计算每个所述维度的样本数据集的变异系数包括:将每个所述维度的样本数据集的标准差除以对应维度的样本数据集的平均值之商数,确定为每个所述维度的样本数据集的变异系数。
9.可选地,所述对所述原始样本数据集进行分割处理包括:从所述原始样本数据集中的每个所述维度的样本数据集中随机挑选出多个目标样本,形成每个所述维度的目标样本数据集;按照预设的转换规则将每个所述维度的目标样本数据集中的每个目标样本转换为装箱值,根据每个目标样本的装箱值进行装箱处理,得到多个箱子,并记录每个箱子中的样本数;遍历每个所述箱子,计算每个所述箱子的右侧所有箱子中的目标样本数之和与对应箱子的左侧所有箱子中的目标样本数之和的差值的绝对值,从所述绝对值中选取最大绝对值对应的箱子的装箱值,确定为每个所述维度的目标样本数据集的分割值。
10.可选地,所述根据维度选择过程和分割处理过程构建多颗孤立树包括:根据维度选择过程确定目标维度,并对所述目标维度构建一棵目标孤立树,其中,所述对所述目标维度构建一棵目标孤立树包括:根据所述分割处理过程确定所述目标维度的目标样本集的分割值;将所述分割值左侧所有箱子的目标样本放入预设孤立树的左分支,将所述分割值右侧所有箱子的目标样本放入预设孤立树的右分支;重复执行所述维度选择过程和所述分割处理过程,直至所述预设孤立树的叶子节点上只有一个数据或者所述预设孤立树达到了预设高度,结束所述预设孤立树的构建,并将构建好的所述预设孤立树,确定为所述目标维度的目标孤立树。
11.可选地,所述根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择包括:对所述多个维度的多个变异系数进行降序排序;从所述降序排序结果的队头开始依次进行维度的选择。
12.可选地,所述解析接收的异常样本检测请求,获取原始样本数据集包括:解析异常样本检测请求获取多个维度及每个维度的样本数据集的调用接口;根据所述异常样本检测请求及每个维度的样本数据集的调用接口组成调用接口列表;通过所述调用接口列表的第一个调用接口开始依次获取对应维度的样本数据集;
将所述多个维度的样本数据集进行合并得到原始样本数据集。
13.本技术的第二方面提供一种基于改进的孤立森林的异常样本检测装置,所述装置包括:解析模块,用于解析接收的异常样本检测请求,获取原始样本数据集,其中,所述原始样本数据集中包含有多个维度的样本数据集;计算模块,用于计算每个所述维度的样本数据集的变异系数;选择和分割模块,用于根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,及对所述原始样本数据集进行分割处理;构建模块,用于根据维度选择过程和分割处理过程构建多颗目标孤立树,并集成所述多颗目标孤立树构成孤立森林;异常检测模块,用于根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测。
14.本技术的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的基于改进的孤立森林的异常样本检测方法。
15.本技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于改进的孤立森林的异常样本检测方法。
16.综上所述,本技术所述的基于改进的孤立森林的异常样本检测方法及相关设备,一方面,根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,通过在计算得到多个维度的样本数据集的多个变异系数时优先挑选变异系数大对应的维度的样本数据集构建孤立树的第一层,在后续的异常样本检测过程中可以消除不同维度变异系数,提高了后续异常样本检测的速度;另一方面,对所述原始样本数据集进行分割处理,在进行每个维度的孤立树构建之前,通过从每个维度的样本数据集中随机挑选出多个目标样本,通过将目标样本转换为装箱值后,并对目标样本进行装箱处理后确定分割值,避免随机选取分割值导致的分割次数多的问题,可以提高目标样本的分割速度,进而提高异常样本检测效率;最后,根据原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测,通过在计算每个所述样本的异常值时考虑所述任意一个样本x在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值,可以调整当任意一颗孤立树自身深度较低时产生的样本高度较低,导致容易被误判为异常样本的问题,进而提高了异常样本检测的准确率。
附图说明
17.图1是本技术实施例一提供的基于改进的孤立森林的异常样本检测方法的流程图。
18.图2是本技术实施例二提供的基于改进的孤立森林的异常样本检测装置的结构图。
19.图3是本技术实施例三提供的电子设备的结构示意图。
具体实施方式
20.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施例对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
21.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
22.实施例一图1是本技术实施例一提供的基于改进的孤立森林的异常样本检测方法的流程图。
23.在本实施例中,所述基于改进的孤立森林的异常样本检测方法可以应用于电子设备中,对于需要进行基于改进的孤立森林的异常样本检测的电子设备,可以直接在电子设备上集成本技术的方法所提供的基于改进的孤立森林的异常样本检测的功能,或者以软件开发工具包(software development kit,sdk)的形式运行在电子设备中。
24.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
25.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习和深度学习等多个方向。
26.如图1所示,所述基于改进的孤立森林的异常样本检测方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
27.s11,解析接收的异常样本检测请求,获取原始样本数据集,其中,所述原始样本数据集中包含有多个维度的样本数据集。
28.本实施例中,用户在进行异常样本检测时,通过客户端发起异常样本检测请求至服务端,具体地,所述客户端可以是智能手机、ipad或者其他现有的智能设备,所述服务端可以为异常样本检测子系统,在异常样本检测过程中,如所述客户端可以向异常样本检测子系统发送异常样本检测请求,所述异常样本检测子系统用于接收所述客户端发送的异常样本检测请求。
29.在一个可选的实施例中,所述解析接收的异常样本检测请求,获取原始样本数据集包括:解析异常样本检测请求获取多个维度及每个维度的样本数据集的调用接口;根据所述异常样本检测请求及每个维度的样本数据集的调用接口组成调用接口列表;通过所述调用接口列表的第一个调用接口开始依次获取对应维度的样本数据集;将所述多个维度的样本数据集进行合并得到原始样本数据集。
30.本实施中,在接收到所述异常样本检测请求时,解析所述异常样本检测请求获取
多个维度及每个维度的样本数据集的调用接口,从每个维度对应的调用接口获取对应的样本数据集,并合并多个维度的样本数据集,得到原始样本数据集。
31.本实施例中,异常样本检测请求中的每个维度的样本数据集对应一个调用接口,通过对应的调用接口获取对应维度的样本数据集,可以提高每个维度对应的样本数据集的准确性。
32.s12,计算每个所述维度的样本数据集的变异系数。
33.本实施例中,变异系数用以表征每个所述维度的样本数据集的离散程度,变异系数越大,确定每个所述维度的样本数据集的离散程度越大。
34.在一个可选的实施例中,所述计算每个所述维度的样本数据集的变异系数包括:将每个所述维度的样本数据集的标准差除以对应维度的样本数据集的平均值之商数,确定为每个所述维度的样本数据集的变异系数。
35.s13,根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,及对所述原始样本数据集进行分割处理。
36.本实施例中,由于变异系数越大,确定对应的样本数据集中的异常样本更容易被检测处理,本实施例在计算得到多个维度的样本数据集的多个变异系数时,优先挑选变异系数大对应的维度的样本数据集构建孤立树的第一层,在后续的异常样本检测过程中可以消除不同维度变异系数,提高了后续异常样本检测的速度。
37.在一个可选的实施例中,所述根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择包括:对所述多个维度的多个变异系数进行降序排序;从所述降序排序结果的队头开始依次进行维度的选择。
38.在一个可选的实施例中,所述对所述原始样本数据集进行分割处理包括:从所述原始样本数据集中的每个所述维度的样本数据集中随机挑选出多个目标样本,形成每个所述维度的目标样本数据集;按照预设的转换规则将每个所述维度的目标样本数据集中的每个目标样本转换为装箱值,根据每个目标样本的装箱值进行装箱处理,得到多个箱子,并记录每个箱子中的样本数;遍历每个所述箱子,计算每个所述箱子的右侧所有箱子中的目标样本数之和与对应箱子的左侧所有箱子中的目标样本数之和的差值的绝对值,从所述绝对值中选取最大绝对值对应的箱子的装箱值,确定为每个所述维度的目标样本数据集的分割值。
39.本实施例中,在进行每个维度的孤立树构建之前,从每个维度的样本数据集中随机挑选出多个目标样本,通过将目标样本转换为装箱值后,并对目标样本进行装箱处理后确定分割值,避免随机选取分割值导致的分割次数多的问题,可以提高目标样本的分割速度,进而提高异常样本检测效率。
40.s14,根据维度选择过程和分割处理过程构建多颗目标孤立树,并集成所述多颗目标孤立树构成孤立森林。
41.本实施例中,每个维度的样本数据集对应一颗目标孤立树,通过多个维度的多颗目标孤立树可以集成孤立森林。
42.在一个可选的实施例中,所述根据维度选择过程和分割处理过程构建多颗孤立树
包括:根据维度选择过程确定目标维度,并对所述目标维度构建一棵目标孤立树,其中,所述对所述目标维度构建一棵目标孤立树包括:根据所述分割处理过程确定所述目标维度的目标样本集的分割值;将所述分割值左侧所有箱子的目标样本放入预设孤立树的左分支,将所述分割值右侧所有箱子的目标样本放入预设孤立树的右分支;重复执行所述维度选择过程和所述分割处理过程,直至所述预设孤立树的叶子节点上只有一个数据或者所述预设孤立树达到了预设高度,结束所述预设孤立树的构建,并将构建好的所述预设孤立树,确定为所述目标维度的目标孤立树。
43.示例性地,降序排序结果的队头的维度对应的样本数据集的目标样本为:1、1、1、1、2、2、3、4、4、4、5、5、20、50、99,按照预设的转换规则为:分为10个箱子:[1,10),[10,20),[20,30),[30,40),[40,50),[50,60),[60,70),[70,80),[80,90),[90,100),按照预设的转换规则将每个所述维度的目标样本数据集中的每个目标样本转换为装箱值:[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[20,30)、[50,60)、[90,100),根据每个目标样本的装箱值进行装箱处理得到3个箱子:第一个箱子:[1,10),包含12个目标样本、第二个箱子:[20,30),包含1个目标样本,第三个箱子:[50,60),包含1个目标样本、第四个箱子[90,100)包含1个目标样本,通过遍历每个箱子,计算第二个箱子的左右两侧箱子中的目标样本数的差值的绝对值为:11,计算第三个箱子的左右两侧箱子中的目标样本数的差值的绝对值为:12,故确定每个所述维度的目标样本数据集的分割值为:[50,60),则分割后将左侧所有箱子中的目标样本:1、1、1、1、2、2、3、4、4、4、5、5、20、50放入预设孤立树的左分支,将右侧所有箱子中的目标样本:99放入预设孤立树的右分支,构建预设孤立树的第一层,对降序排序结果的队头的下一个维度对应的样本数据集执行所述队头的下一个维度的分割处理,构建所述预设孤立树的第二层,直至所述预设孤立树的叶子节点上只有一个数据或者所述预设孤立树达到了预设高度,结束所述预设孤立树的构建。
[0044]
本实施例中,在进行孤立森林构建时,若随机选择维度和随机选择分割值,可能会导致后续异常检测过程中分割次数多的问题,本实施例中,通过从每个所述维度的样本数据集的变异系数和分割值两个维度进行了考量,构建孤立森林,解决了后续异常检测过程中分割次数多的问题,提高了异常检测过程中分割速度,进而提高了异常样本检测效率。
[0045]
s15,根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测。
[0046]
本实施例中,平均遍历路径用以表征所述原始样本数据集中的每个样本在所述孤立森林中的每一颗孤立树中的深度平均值,通过计算每个所述样本的异常值,根据计算得到的异常值检测所述原始样本数据集中的异常样本。
[0047]
在一个可选的实施例中,所述根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测包括:从所述原始样本数据集中随机选取一个样本,基于每个所述样本遍历所述孤立森林的每一颗孤立树,计算每个所述样本在所述孤立森林的每一颗孤立树上的深度;根据每个所述样本在所述孤立森林的每一颗孤立树上的深度计算每个所述样本
的异常值,所述异常值采用如下公式计算得到:,其中,表示所述原始样本数据集中的任意一个样本,表示任意一个样本在所述孤立森林的每一颗孤立树上的深度,表示所述任意一个样本在所述孤立森林中的深度平均值,表示所述孤立森林中的多个目标样本中的任意一个目标样本,表示所述任意一个目标样本在所述孤立森林中的深度平均值,表示所述任意一个样本在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值;将计算得到的每个所述样本的异常值与预设的异常阈值进行比较;当每个所述样本的异常值大于或者等于所述预设的异常阈值时,确定每个所述样本的异常值对应的样本异常。
[0048]
进一步地,所述方法还包括:当每个所述样本的异常值小于所述预设的异常阈值时,确定每个所述样本的异常值对应的样本正常。
[0049]
本实施例中,通过在计算每个所述样本的异常值时,考虑所述任意一个样本x在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值,可以调整当任意一颗孤立树自身深度较低时产生的样本高度较低的情况,解决了容易被误判为异常样本的问题,进而提高了异常样本检测的准确率。
[0050]
综上所述,本实施例所述的基于改进的孤立森林的异常样本检测方法,一方面,根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,通过在计算得到多个维度的样本数据集的多个变异系数时优先挑选变异系数大对应的维度的样本数据集构建孤立树的第一层,在后续的异常样本检测过程中可以消除不同维度变异系数,提高了后续异常样本检测的速度;另一方面,对所述原始样本数据集进行分割处理,在进行每个维度的孤立树构建之前,通过从每个维度的样本数据集中随机挑选出多个目标样本,通过将目标样本转换为装箱值后,并对目标样本进行装箱处理后确定分割值,避免随机选取分割值导致的分割次数多的问题,可以提高目标样本的分割速度,进而提高异常样本检测效率;最后,根据原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测,通过在计算每个所述样本的异常值时考虑所述任意一个样本x在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值,可以调整当任意一颗孤立树自身深度较低时产生的样本高度较低,导致容易被误判为异常样本的问题,进而提高了异常样本检测的准确率。
[0051]
实施例二图2是本技术实施例二提供的基于改进的孤立森林的异常样本检测装置的结构图。
[0052]
在一些实施例中,所述基于改进的孤立森林的异常样本检测装置20可以包括多个由程序代码段所组成的功能模块。所述基于改进的孤立森林的异常样本检测装置20中的各
个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)基于改进的孤立森林的异常样本检测的功能。
[0053]
本实施例中,所述基于改进的孤立森林的异常样本检测装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:解析模块201、计算模块202、选择和分割模块203、构建模块204、及异常检测模块205。本技术所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
[0054]
解析模块201,用于解析接收的异常样本检测请求,获取原始样本数据集,其中,所述原始样本数据集中包含有多个维度的样本数据集。
[0055]
本实施例中,用户在进行异常样本检测时,通过客户端发起异常样本检测请求至服务端,具体地,所述客户端可以是智能手机、ipad或者其他现有的智能设备,所述服务端可以为异常样本检测子系统,在异常样本检测过程中,如所述客户端可以向异常样本检测子系统发送异常样本检测请求,所述异常样本检测子系统用于接收所述客户端发送的异常样本检测请求。
[0056]
在一个可选的实施例中,所述解析模块201解析接收的异常样本检测请求,获取原始样本数据集包括:解析异常样本检测请求获取多个维度及每个维度的样本数据集的调用接口;根据所述异常样本检测请求及每个维度的样本数据集的调用接口组成调用接口列表;通过所述调用接口列表的第一个调用接口开始依次获取对应维度的样本数据集;将所述多个维度的样本数据集进行合并得到原始样本数据集。
[0057]
本实施中,在接收到所述异常样本检测请求时,解析所述异常样本检测请求获取多个维度及每个维度的样本数据集的调用接口,从每个维度对应的调用接口获取对应的样本数据集,并合并多个维度的样本数据集,得到原始样本数据集。
[0058]
本实施例中,异常样本检测请求中的每个维度的样本数据集对应一个调用接口,通过对应的调用接口获取对应维度的样本数据集,可以提高每个维度对应的样本数据集的准确性。
[0059]
计算模块202,用于计算每个所述维度的样本数据集的变异系数。
[0060]
本实施例中,变异系数用以表征每个所述维度的样本数据集的离散程度,变异系数越大,确定每个所述维度的样本数据集的离散程度越大。
[0061]
在一个可选的实施例中,所述计算模块202计算每个所述维度的样本数据集的变异系数包括:将每个所述维度的样本数据集的标准差除以对应维度的样本数据集的平均值之商数,确定为每个所述维度的样本数据集的变异系数。
[0062]
选择和分割模块203,用于根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,及对所述原始样本数据集进行分割处理。
[0063]
本实施例中,由于变异系数越大,确定对应的样本数据集中的异常样本更容易被检测处理,本实施例在计算得到多个维度的样本数据集的多个变异系数时,优先挑选变异系数大对应的维度的样本数据集构建孤立树的第一层,在后续的异常样本检测过程中可以
消除不同维度变异系数,提高了后续异常样本检测的速度。
[0064]
在一个可选的实施例中,所述选择和分割模块203根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择包括:对所述多个维度的多个变异系数进行降序排序;从所述降序排序结果的队头开始依次进行维度的选择。
[0065]
在一个可选的实施例中,所述选择和分割模块203对所述原始样本数据集进行分割处理包括:从所述原始样本数据集中的每个所述维度的样本数据集中随机挑选出多个目标样本,形成每个所述维度的目标样本数据集;按照预设的转换规则将每个所述维度的目标样本数据集中的每个目标样本转换为装箱值,根据每个目标样本的装箱值进行装箱处理,得到多个箱子,并记录每个箱子中的样本数;遍历每个所述箱子,计算每个所述箱子的右侧所有箱子中的目标样本数之和与对应箱子的左侧所有箱子中的目标样本数之和的差值的绝对值,从所述绝对值中选取最大绝对值对应的箱子的装箱值,确定为每个所述维度的目标样本数据集的分割值。
[0066]
本实施例中,在进行每个维度的孤立树构建之前,从每个维度的样本数据集中随机挑选出多个目标样本,通过将目标样本转换为装箱值后,并对目标样本进行装箱处理后确定分割值,避免随机选取分割值导致的分割次数多的问题,可以提高目标样本的分割速度,进而提高异常样本检测效率。
[0067]
构建模块204,用于根据维度选择过程和分割处理过程构建多颗目标孤立树,并集成所述多颗目标孤立树构成孤立森林。
[0068]
本实施例中,每个维度的样本数据集对应一颗目标孤立树,通过多个维度的多颗目标孤立树可以集成孤立森林。
[0069]
在一个可选的实施例中,所述构建模块204根据维度选择过程和分割处理过程构建多颗孤立树包括:根据维度选择过程确定目标维度,并对所述目标维度构建一棵目标孤立树,其中,所述对所述目标维度构建一棵目标孤立树包括:根据所述分割处理过程确定所述目标维度的目标样本集的分割值;将所述分割值左侧所有箱子的目标样本放入预设孤立树的左分支,将所述分割值右侧所有箱子的目标样本放入预设孤立树的右分支;重复执行所述维度选择过程和所述分割处理过程,直至所述预设孤立树的叶子节点上只有一个数据或者所述预设孤立树达到了预设高度,结束所述预设孤立树的构建,并将构建好的所述预设孤立树,确定为所述目标维度的目标孤立树。
[0070]
示例性地,降序排序结果的队头的维度对应的样本数据集的目标样本为:1、1、1、1、2、2、3、4、4、4、5、5、20、50、99,按照预设的转换规则为:分为10个箱子:[1,10),[10,20),[20,30),[30,40),[40,50),[50,60),[60,70),[70,80),[80,90),[90,100),按照预设的转换规则将每个所述维度的目标样本数据集中的每个目标样本转换为装箱值:[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[1,10)、[20,30)、[50,60)、[90,100),根据每个目标样本的装箱值进行装箱处理得到3个箱子:第一
个箱子:[1,10),包含12个目标样本、第二个箱子:[20,30),包含1个目标样本,第三个箱子:[50,60),包含1个目标样本、第四个箱子[90,100)包含1个目标样本,通过遍历每个箱子,计算第二个箱子的左右两侧箱子中的目标样本数的差值的绝对值为:11,计算第三个箱子的左右两侧箱子中的目标样本数的差值的绝对值为:12,故确定每个所述维度的目标样本数据集的分割值为:[50,60),则分割后将左侧所有箱子中的目标样本:1、1、1、1、2、2、3、4、4、4、5、5、20、50放入预设孤立树的左分支,将右侧所有箱子中的目标样本:99放入预设孤立树的右分支,构建预设孤立树的第一层,对降序排序结果的队头的下一个维度对应的样本数据集执行所述队头的下一个维度的分割处理,构建所述预设孤立树的第二层,直至所述预设孤立树的叶子节点上只有一个数据或者所述预设孤立树达到了预设高度,结束所述预设孤立树的构建。
[0071]
本实施例中,在进行孤立森林构建时,若随机选择维度和随机选择分割值,可能会导致后续异常检测过程中分割次数多的问题,本实施中,通过从每个所述维度的样本数据集的变异系数和分割值的确定两个维度进行了考量,构建孤立森林,解决了后续异常检测过程中分割次数多的问题,提高了异常检测过程中分割速度,进而提高了异常样本检测效率。
[0072]
异常检测模块205,用于根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测。
[0073]
本实施例中,平均遍历路径用以表征所述原始样本数据集中的每个样本在所述孤立森林中的每一颗孤立树中的深度平均值,通过计算每个所述样本的异常值,根据计算得到的异常值检测所述原始样本数据集中的异常样本。
[0074]
在一个可选的实施例中,所述异常检测模块205根据所述原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测包括:从所述原始样本数据集中随机选取一个样本,基于每个所述样本遍历所述孤立森林的每一颗孤立树,计算每个所述样本在所述孤立森林的每一颗孤立树上的深度;根据每个所述样本在所述孤立森林的每一颗孤立树上的深度计算每个所述样本的异常值,所述异常值采用如下公式计算得到:,其中,表示所述原始样本数据集中的任意一个样本,表示任意一个样本在所述孤立森林的每一颗孤立树上的深度,表示所述任意一个样本在所述孤立森林中的深度平均值,表示所述孤立森林中的多个目标样本中的任意一个目标样本,表示所述任意一个目标样本在所述孤立森林中的深度平均值,表示所述任意一个样本在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值;将计算得到的每个所述样本的异常值与预设的异常阈值进行比较;当每个所述样本的异常值大于或者等于所述预设的异常阈值时,确定每个所述样本的异常值对应的样本异常。
[0075]
进一步地,当每个所述样本的异常值小于所述预设的异常阈值时,确定每个所述样本的异常值对应的样本正常。
[0076]
本实施例中,通过在计算每个所述样本的异常值时考虑所述任意一个样本x在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值,可以调整当任意一颗孤立树自身深度较低时产生的样本高度较低的情况,解决了容易被误判为异常样本的问题,进而提高了异常样本检测的准确率。
[0077]
综上所述,本实施例所述的基于改进的孤立森林的异常样本检测装置,一方面,根据所述多个维度的样本数据集的多个变异系数对所述原始样本数据集进行维度选择,通过在计算得到多个维度的样本数据集的多个变异系数时优先挑选变异系数大对应的维度的样本数据集构建孤立树的第一层,在后续的异常样本检测过程中可以消除不同维度变异系数,提高了后续异常样本检测的速度;另一方面,对所述原始样本数据集进行分割处理,在进行每个维度的孤立树构建之前,通过从每个维度的样本数据集中随机挑选出多个目标样本,通过将目标样本转换为装箱值后,并对目标样本进行装箱处理后确定分割值,避免随机选取分割值导致的分割次数多的问题,可以提高目标样本的分割速度,进而提高异常样本检测效率;最后,根据原始样本数据集在所述孤立森林中的平均遍历路径,对所述原始样本数据集进行异常检测,通过在计算每个所述样本的异常值时考虑所述任意一个样本x在所述孤立森林中的每一棵孤立树上的深度与对应孤立树深度之差的深度平均值,可以调整当任意一颗孤立树自身深度较低时产生的样本高度较低,导致容易被误判为异常样本的问题,进而提高了异常样本检测的准确率。
[0078]
实施例三参阅图3所示,为本技术实施例三提供的电子设备的结构示意图。在本技术较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
[0079]
本领域技术人员应该了解,图3示出的电子设备的结构并不构成本技术实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
[0080]
在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。
[0081]
所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
[0082]
需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。
[0083]
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的基于改进的孤立森林的异常样本检测装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(read

only memory,rom)、可编程只读存储器(programmable read

only memory,prom)、可擦除可编程只读存储器(erasable programmable read

only memory,eprom)、一次可编程只读存储器
(one

time programmable read

only memory,otprom)、电子擦除式可复写只读存储器(electrically

erasable programmable read

only memory,eeprom)、只读光盘(compact disc read

only memory,cd

rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
[0084]
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(control unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。
[0085]
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
[0086]
尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
[0087]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0088]
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的部分。
[0089]
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的基于改进的孤立森林的异常样本检测装置20)、程序代码等,例如,上述的各个模块。
[0090]
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到基于改进的孤立森林的异常样本检测的目的。
[0091]
示例性的,所述程序代码可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器32执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述程序代码在所述电子设备3中的执行过程。例如,所述程序代码可以被分割成解析模块201、计算模块202、选择和分割模块203、构建模块204、及异常检测模块205。
[0092]
在本技术的一个实施例中,所述存储器31存储多个计算机可读指令,所述多个计算机可读指令被所述至少一个处理器32所执行以实现基于改进的孤立森林的异常样本检测的功能。
[0093]
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施
例中相关步骤的描述,在此不赘述。
[0094]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0095]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0096]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0097]
对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本技术中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0098]
最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1