一种基于数据特征的权重来构建孤立森林的异常检测算法制造技术

技术编号:30050210 阅读:18 留言:0更新日期:2021-09-15 10:52
本文公开了一种基于数据特征的权重来构建孤立森林的异常检测算法。该方法主要包括:通过终端设备实时采集待检测数据;对待检测数据进行特征的提取并通过熵权法计算特征权重;将采集数据作为训练集进行训练,根据特征的不同权重完成孤立树的构建并组合成为孤立森林;将采集数据作为测试数据输入孤立森林模型,得到其在每颗孤立树的路径长度,并根据权重来进行计算总得路径长度;通过路径长度计算出异常得分,与设置的阈值进行比较来判断是否异常。本发明专利技术通过为不同的特征引入不同的权重,并根据权重来建立模型和计算异常得分,异常检测效果提高明显。果提高明显。果提高明显。

【技术实现步骤摘要】
一种基于数据特征的权重来构建孤立森林的异常检测算法


[0001]本专利技术涉及机器学习模型优化以及异常数据检测领域,具体涉及一种基于数据特征的权重来构建孤立森林的异常检测方法。

技术介绍

[0002]在机器学习异常检测领域,怎样快速准确的对异常数据进行检测一直都是研究的重点。传统中,人工盯看监控大盘来监控数据的方式效率不仅低下,还对应着巨大的人力成本。而现存的监控数据自动监控需要管理员去挨个配置各个环境数据的合理范围,超出合理范围的会触发告警系统。但管理员对数据的合理波动范围往往并不全都清楚,随着监控设备的陡增,这项工作量也变得非常大。
[0003]现有的基于无监督学习算法的代表是孤立森林算法。首先,对训练数据集进行预处理和特征提取;然后进行孤立树的构建,构建方法是在特征集中随机选取一个特征,然后在训练数据集中该特征下的最大值和最小值间随机选择一个分割值,通过这个分割值来对数据进行划分从而构建左右子树,直到数据无法被划分或者已经达到树高限制,这种划分方式会使异常数据点在孤立树中的更靠近根节点,通过合并孤立树完成孤立森林的构建;最后计算测试数据在每个孤立树中路径长度,通过路径长度计算出异常得分,根据异常得分来判断数据是否异常。
[0004]上面传统孤立森林方法存在以下几个问题:i)数据的不同特征对于其是否异常的影响程度不同,对异常影响程度较大的应该具有更大的概率被选取作为分割特征来划分数据集,所以随机选取特征的方式会孤立树的质量变低,进而影响到算法的检测性能;ii)当不同特征对异常的影响程度不同时,权重越大的特征所代表的路径长度应该越短,不能简单的视为加一操作。
[0005]针对以上问题,本专利技术提出新的技术方案,包括在模型训练阶段根据特征权重来选取分割特征和在异常检测阶段根据分割特征计算路径长度。

技术实现思路

[0006]本专利技术主要解决的技术问题是提供一种基于数据特征的权重来构建孤立森林的异常检测方法,能够提升模型的异常检测效果。该方法的流程如下:
[0007]步骤S1:通过终端设备实时采集待检测数据,形成一个训练数据集合;
[0008]步骤S2:对训练数据集进行特征的提取和权重的计算;
[0009]步骤S3:根据特征权重进行孤立森林的构建;
[0010]步骤S4:根据特征权重来计算测试数据在孤立森林中的异常得分;
[0011]专利技术的算法1如下
[0012][0013][0014]算法1为孤立树的训练过程,其中,输入X为用水量时序数据的子样本集,e表示孤立树的当前高度,初始值为0,l表示的是限定孤立树的最大高度,Q表示提取出的特征集,W表示特征集对应的权重集,输出为一个孤立树。在算法中首先判断输入的树高度e是否到达树的最大高度或者输入的子样本集所包含的样本数量是否小于1,如果满足,则直接输出叶子节点,节点的Size设置为子样本集的样本数量。如果不满足,根据特征的权重来对特征进行选择,选择到特征q,之后从特征q的值中随机选择一个,把大于和小于这个值得数据进行分割,划分成两个数据集X
l
,X
r
,返回非叶子节点,左右子树将X
l
, X
r
作为输入的子样本集并将树的高度加一,递归调用训练过程,同时在此节点上为所选的特征及对应的权重和分割值进行赋值。
[0015]专利技术的算法2如下
[0016][0017][0018]算法2为计算测试数据在孤立树中路径长度的过程。在递归调用时当前路径长度的增量变为2*(1

T.SplitWeight)。因为在孤立森林算法中路径长度越短则越可能异常,所以一个节点的SplitWeight越大,它对应的路径长度应该越短,SplitWeight和路径长度的关系成反比。对应的,在改进后的异常得分计算方法中,就主要是改进了路径长度的计算方案,增加了特征权重因素。
[0019]改进后的公式如下:
[0020][0021]其中w
i
对应于从根节点开始一直到叶子节点每个节点中对应的 SplitWeight。w0对应的是在根节点处所选取的特征对应的权重, w
h(x)
‑1对应的是在叶子节点的父节点处所选取的特征对应的权重。通过这种方法,把原来传统iForest算法中计算异常得分的h(x)替换成使得计算结果更加准确。
[0022]本专利技术具有以下显著特点:i)通过引入特征权重来进行孤立森林的构建和异常得分的计算,准确性提升明显;ii)采用客观赋权的方法根据数据信息熵来计算特征权重,使模型能够更好的适应各种数据集。
附图说明
[0023]图1是基于特征权重的孤立森林异常检测模型图;
[0024]图2是基于特征权重的孤立森林的构建过程;
[0025]具体实施方法
[0026]下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。
[0027]请参阅图1以及图2,本专利技术实施例包括:
[0028](a)通过终端设备实时采集待检测数据:终端设备可以是摄像头实时拍摄,也可以采用远程传输图像设备等。
[0029](b)对训练数据进行特征的提取以及权重的分配,权重的分配采用熵权法。
[0030](c)构建孤立森林(见图2):首先判断的树高度e是否到达树的最大高度或者输入的子样本集所包含的样本数量是否小于等于1,如果满足,则直接输出叶子节点,节点的Size设置为子样本集的样本数量。如果不满足,根据特征的权重来对特征进行选择,选择到特征 q,之后从特征q的值中随机选择一个,把大于和小于这个值得数据进行分割,划分成两个数据集X
l
,X
x
,返回非叶子节点,左右子树将 X
l
,X
r
作为输入的子样本集并将树的高度
加一,递归调用训练过程,同时在此节点上为所选的特征及对应的权重和分割值进行赋值。
[0031](d)计算异常得分(见公式1):将测试数据遍历孤立树,首先如果孤立树为叶子节点的话直接输出叶子节点的平均路径长度,否则的话根据每个节点的特征权重来计算总得路径长度。
[0032]以上所述仅为本专利技术的实施例,并非因此限制本专利技术的专利范围,凡是利用本专利技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
,均同理包括在本专利技术的专利保护范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于特征权重的孤立森林异常检测方法,其特征在于,该方法包括以下步骤:步骤S1:通过终端设备实时采集待检测数据,形成一个训练数据集合;步骤S2:对训练数据集进行特征的提取和权重的计算;步骤S3:根据特征权重进行孤立森林的构建;步骤S4:根据特征权重来计算测试数据在孤立森林中的异常得分;步骤S5:根据计算出的异常得分来判断是否为异常数据;2.根据权利要求1所述的一种基于特征权重的孤立森林异常检测方法,其特征在于,优选的,步骤S2的通过熵权法计算特征权重。3.根据权利要求1所述的一种基于特征权重的孤立森林异常检测方法,其特征在于,优选的,步骤S3的根据特征权重进行...

【专利技术属性】
技术研发人员:张永军谢炎昆
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1