当前位置: 首页 > article >正文

深度孤立森林 Deep Isolation Forest论文翻译(上)

README 

绝大部分是自己翻译自己手打的,少部分参考有道翻译,主要是想仔细再读一遍,顺便就打出来了。这篇论文内容比较多,有代码,原作者有github和知乎账号,感兴趣可以找一下。欢迎讨论和批评指正。

用于异常检测的深度孤立森林

摘要

孤立森林(iForest)由于其在不同基准数据集上的广泛有效性和强大的可扩展性正在兴起为近年来最热门的异常检测器。然而,其平行于轴的线性划分方法通常导致(i)难以检测在高维/不可线性分离数据中的难以检测的异常,(ii)臭名昭著的算法偏差,将出乎意料的低异常分数分配给假象区域(artefact regions)。这些问题导致了高的假阴性错误。已有一些孤立森林的扩展,但它们仍然实施浅显的、线性的数据划分,限制了它们分离真实异常的能力。因此,本文提出深度孤立森林。本文引入一个新的表示方法,使用随机初始化的神经网络来将原始数据映射到随机表示集成中,随后使用随机的基于轴平行的切割来实现数据划分。这种表示方法提高了在原始数据空间中划分的高的自由度(相当于在不同大小的子空间中进行非线性划分),促进了随机表示和基于划分的随机分离之间的协同作用。进一步的实验表明本文的模型与现有最新的基于分离的方法以及深度检测器相比,在表格、图和时序数据上有明显的提升;本文模型也继承了孤立森林的期望的可扩展性。

关键词 异常检测 孤立森林 深度表示 集成学习

引言

异常检测在各种各样的领域有着广泛的应用,例如保险欺诈检测和经济犯罪、数据中心或航天器等复杂系统的监测、以及网络空间中攻击和潜在危险的识别。鉴于这些重要的应用,该任务在数十年来已经成为一个热门的研究话题,出现了大量的异常检测方法[1]、[2]。

近年来,孤立森林(iForest)[3] 由于其在不同基准数据集上的广泛有效性和强大的可扩展性正在兴起为最热门的异常检测器。与许多现有方法例如基于距离、密度的方法相比,孤立森林更好地捕捉了异常点的关键本质,即“少且不同”。它不引入额外的数据特征的假设,因此在不同数据集上表现出一致地高性能。而且,孤立森林有着线性时间复杂度,这通常是一个在有大规模数据和严格时间效率需求的工业应用中非常吸引人的优点。具体地,孤立森林使用一个孤立树(iTee)的集成,孤立树在这个集成中迭代地分支。叶子结点通过使用在随机选择的特征上进行随机切割来构造直到数据对象被孤立。数据的异常程度通过在这些孤立树中从根结点到孤立的叶节点的遍历平均路径长度来估计。

然而,一个明显的问题是它不能处理困难异常(例如,只能通过观察多个特征的组合,在高阶子空间中进行隔离的异常)因为它对所有的异常都是分别处理的且在每次分离操作中只考虑一个特征。图1用一个简单的例子说明了这个问题。异常点(用红色三角形表示)被一个环形的正常样本集围绕,这不能被x轴或y轴切片隔离切割。尽管这些异常点可能通过多次的切割最终被分离,这导致了在孤立树中和正常点相比难以区分的隔离深度。这些异常的失败检测会导致高的假阴性错误。鉴于异常通常包换和潜在意外或故障的关键信息,这些假阴性可能会导致严重的后果。因此,这些问题成为了妨碍孤立森林的性能的一个主要瓶颈,特别是在高维/不可线性划分的数据空间中。

图1. 困难异常挑战的说明。左图是一个合成数据集,红色三角形为异常点,蓝色点为正常样本。后续图像本文方法为构造的空间(即随机表示)。现有方法中使用的线性数据划分(不论是以竖直/水平或斜的方式)不能有效地隔离在原始数据空间中隔离这些困难异常。相反,这些异常可能在新创建的空间中被暴露。

iForest的另一个固有缺陷是,将出乎意料的低异常分数分配给假象区域(artefact regions),这个问题是由算法本身引入的,在[4]中被展示为“幽灵区域(ghost region)”。为了清楚地展示这个问题,图2的前两列分别为本文对[4]中的3个人造二维数据集的数据分布进行的可视化和iForest生成的异常得分图。从三个异常分数图中可以看出,孤立森林给某些假象区域分配了明显低的异常分数,即在单簇数据集中,以呈现的数据对象为中心的四个矩形区域(第一行),两簇数据集中的右上和左下的区域(第二行),以及正弦数据集中沿正弦曲线的垂直矩形区域(第三行)。然而,这些区域和其他没有样本的区域对显示的数据对象有相同的径向距离。异常值较低是由于iForest算法固有的算法偏差造成的,即,在孤立树的构建中仅使用平行于轴的划分。相反,一个期望的异常分数图应当平滑地接近反映数据密度的圆形等高线。这个问题也导致了假阴性错误,即孤立森林可能不能检测到例如图2的红色三角形这些“幽灵区域”中可能的异常点,因为它们被分配的异常分数与一些呈现的正常对象相似,属于正常区域。

图2. 算法偏差问题的说明。最左侧的三个图像为合成数据集,每个数据集后面为孤立森林及其两个最先进的扩展——PID和EIF以及本文方法DIF产生的异常分数图。分数图展示了在整个数据空间中的异常分数分布(更深的颜色意味着更高的异常度)。每个分值图中的黑色等高线表示原始数据异常分值的第99百分位数,可以看做每个异常检测器预测的数据正常度的边界。红色三角形代表可能的异常。孤立森林和它的两个扩展方法的分数图中有一些假象区域,这些方法可能无法识别异常,由于异常被分配了和正常数据相似的低异常分数(它们被包含在预测的正常区域内)。相反,DIF产生更准确更平滑的分数图,且DIF成功地给异常分数分配了比其他原始数据样本更高的异常等级。

       近年来已有许多孤立森林的扩展算法[4]、[5]、[6]、[7]、[8]、[9]。这些扩展尝试设计更先进的隔离方法,通过(i)使用新的等级标准来选择划分阈值及/或维度[6]、[8]、[9]或(ii)使用最优/随机超平面[4]、[5]、[7]。这些改进成功地带来了更好的检测性能,但它们的隔离方法仍然被线性划分限制。相反,在隔离阶段的数据划分期望在数据空间中形成非线性的任意的形状来解决在复杂数据集中的困难异常,并消除从异常分数中产生的算法偏差。本文在图2中展示了两个最先进的扩展(PID[6]和EIF[4])。PID[6]选择性地挑选划分维度且使用相似的轴平行划分。因此,它的分数图也有同样的算法偏差问题。EIF[4]效果更好因为它使用了具有随机斜率和截距的超平面作为分支标准,在一定程度上消除了基于轴平行划分的限制。然而,这些划分仍然是线性的,在具有挑战性的数据集上并不高效,只有非线性划分在这类数据集上能够从其他数据中有效地将异常分离出来。图2中所有三个数据集中相当褶皱的异常分数轮廓反映了这个问题。

       因此,这些限制的关键变得非常明确,即需要更进一步地解除线性限制下的划分方法的限制。为了实现这个目的,本文提出了一种孤立森林的新的扩展,称为深度孤立森林(Deep Isolation Forest, DIF)。DIF的关键思想是利用神经网络的强大表示能力将原始数据映射到一组新的数据空间中,且非线性划分可以通过在这些新空间上实施简单的轴平行划分来实现(相当于在原始数据空间的不同大小的子空间中进行非线性划分)。具体地,本文提出一种新的表示方法——随机表示集成——由无优化的深度神经网络产生。这些网络仅被任意初始化且不包含任何的优化或训练过程。DIF随后在这些表示上简单地利用随机的平行于轴的切割。本文的表示方法的任意性使在原始数据空间中的数据划分具有高的自由度,促进了一种随机表示和基于随机划分的隔离之间的一种独特的协同作用。这方便了困难异常的有效划分和算法偏差的消除,因此显著提高了检测性能。图1展示了DIF创造的四个随机表示,其中困难异常可能被暴露,且使用少数平行于轴的切割就可以简单地被分离。且如图2所示,DIF算法能够准确地为所提出的数据对象分配异常分数,并对其他区域的异常分数进行平滑估计,从而缓解了上述算法的偏差问题。

       进一步,在DIF的具体实现中,本文提出了计算高效的表示集成方法(CERE)和偏差增强的异常分数函数(DEAS)。在CERE的帮助下,DIF可以充分利用并行加速器在小批量计算中高效地产生表示集成,在很大程度上消除了计算开销。DEAS利用映射的密集表示中包含的隐藏定量信息和定性比较。这些额外的信息使我们能够更准确地评估数据对象的隔离难度,从而得到更好的异常评分函数。

       本文的主要贡献总结如下:

●本文提出深度孤立森林(DIF)方法。引入一种可以在不同大小子空间上实现非线性划分的新的隔离方法,提出一种比现有的仅能使用线性划分的方法更高效的异常隔离方法。这种方法可以更好地处理高维/不可线性分离的数据空间的复杂数据集中的困难异常并消除算法偏差。本文还表明DIF是孤立森林及其最新扩展EIF的一个高级泛化。

●本文提出一个新的表示方法,随机表示集成,只需要任意初始化的神经网络。这种表示方法极大地提高了在原始数据空间中划分的自由度。随机表示和基于随机划分的隔离之间的独特的协同作用在整个基于集成的异常估计阶段带来了极好的任意性和期望的多样性。

●本文提出表示集成方法CERE来确保DIF可以继承孤立森林的良好的可扩展性。引入异常评分方法DEAS来利用包含在映射的密集表示中的隐藏定量信息,提高了DIF的异常评分质量。

●DIF提供了一个与数据类型无关的异常检测解决方案。DIF可以通过简单地在特征映射中使用相应的随机初始化的神经网络来检测不同类型数据中的异常。

       对大量真实数据集(不仅包括表格数据,还包括图表和时间序列数据)进行的大量实验表明:(i)DIF明显优于孤立森林及其两个最新的扩展(6.2节);(ii)DIF与先进的深度异常检测器集成相比,也取得了显著的改进(6.2节);(iii)DIF在高维、大规模数据集上具有期望的可扩展性(6.3节),并对异常污染具有良好的鲁棒性(6.4节);(iv)通过与几个替换方案进行比较,证明了随机表示和基于随机划分的隔离之间的协同作用的重要性(6.5节);(v)本文的消融实验分别验证了CERE和DEAS的作用(6.6节)。

2 相关工作

2.1 异常检测

异常检测是近年来研究的热点,主要利用不同的数据特征如距离、密度、聚类成员或概率[1]进行异常检测。最近的研究[10]、[11]、[12]、[13]设计了基于表示学习的深度异常检测模型,其他方法使用深度学习中例如重构[14]或偏差[15]的概念作为评分方法。调查和对比研究可参考[2]、[16]、[17]。此外,还有一些实用的异常检测工具被开发,例如[18]、[19]、[20]、[21],来方便在现实世界的应用中使用异常检测模型。

2.2 孤立森林及其扩展

孤立森林[3]是一个非常热门的异常检测方法,根据在数据空间中隔离的难易程度来识别异常。尽管孤立森林在几个基准数据集上展现出高效的性能,一些它的改进方法也被提出,尝试修复其臭名昭著的漏洞并获得更好的检测性能。这些扩展的主流专注于设计更高效的隔离方法。SCIF[5]引入一个非轴平行的方法作为分支标准,即不是在划分中选择一个特征,而是使用一个最优的切片超平面。EIF[4]也使用了超平面,但是是有随机斜率和截距的超平面。其他工作[7] 通过从斜率方向的投影值范围中选择分裂阈值,进一步解决了EIF的空分支问题。PID[6]根据划分分支的稀疏性,选择性地选择方差较大的维度和分割点。文献[9]提出了一个基于概率的方法来找到比随机划分更好的分割值。这些扩展通常通过引入非轴并行来获得更好的性能和/或启发式划分。然而,主要的问题是他们仍然依赖于线性划分操作,这意味着处理需要非线性分离作为隔离方法的复杂数据也很困难。而且,它们由于隔离过程中隐藏的算法偏差,也受到前面提出的假象问题的影响。有一些在隔离过程中应用最近邻信息的扩展,例如LeSiNN[22]和iNNE[23]。文献[24]进一步使用了局部敏感哈希来扩展隔离机制到任意距离方法和数据类型上。这些基于距离的方法引入一种额外的假设,即异常远离其他数据对象。然而,这个假设并不总是成立,因为簇状异常点离它们的毗邻邻居也非常近[5]。检测性能对距离标准的选择也很敏感。

       另一个角度是改进评分方法。文献[25]引入一种带权重的路径评分方法和一个基于概率的集成方法。PID[6]根据稀疏程度而不是树的深度重新定义了评分方法。同样地,这些扩展由于其线性划分方法仍然较脆弱。

2.3 深度集成

深度集成[26],一个组合一组独立训练的网络的结果的简单框架,受到了广泛的关注。它可以提高准确率并在简单框架中提供不确定性估计,且不改变原始网络管道。和其他基于集成的方法相似,深度集成的质量很大程度上依赖于其成员的多样性。尽管深度集成简单,它依然引入相当大的计算消耗。因此,许多相关研究尝试解决这两个关键限制,例如[27]使用排斥的属于来确保个体多样性,[28] 通过反向阻止特征之间的条件可预测性来增加多样性,[29]提出了一个蒸馏模型来吸收尽可能集成内多的函数多样性。另外,这个框架给异常检测的相关工作带来了启发。文献[30]、[31]组合了一组自编码器并使用重构误差的中值作为异常分数。为了实现成员多样性,这些自编码器是稀疏连接的。

       本文工作同样包括神经网络集成的过程。从深度集成方面,本文的工作可以有效地解决上述两个关键问题。集成成员之间的多样性可以得到保证且由于只需要初始化神经网络,计算效率也可以得到保持。该工作还可能为深度集成研究发展提供有价值的见解。

3 问题声明和表示

为一个有N个数据对象的数据集,异常检测就是给出一个评分函数来估计每个数据对象的异常程度。许多现有的不同研究都只关注一种特定类型的数据,本文工作中不限制数据对象的类型,这意味着它们可以是多维向量、时间序列数据或图。在本文中,使用书法字体表示集合,手写字体表示函数,加粗小写字母表示向量,加粗大写字母代表矩阵。表1总结了主要的表示符号。

表1 本文使用的主要表示符号

4 前言:孤立森林

为了清晰起见,本文回忆孤立森林的基本程序[3]。提出了基础的结构,称为孤立树(iTree)。孤立树 τ 本质上是一个二叉树,且树中的每个结点对应着一个数据对象池。包含 n 个数据对象的子集被用作根结点的数据池,这个自己是从整个数据集中随机子采样得到的。孤立树 τ 以自顶向下的方式通过递归划分叶节点中的数据对象生成(即将数据对象不相交地划分为两个子节点),直到结点中只剩一个数据对象或达到了最大深度限制。iForest使用一种简单的隔离方法,将数据对象的第j维o(j)和作为每个数据对象分支标准的划分值η进行比较,其中j和η分别表示随机选择的特征索引和第j个特征可用值范围内的划分值。每个数据对象 o 在孤立树τ中有一个遍历路径p(o|τ),遍历路径的长度 |p(o|τ)| 可以被自然地看做o 的异常等级的指标(异常点通常更容易被分离,有较短的路径长度)。孤立森林构造一个有 T 棵孤立树的森林。数据对象 o 的异常分数基于它在这个森林中所有孤立树上的平均路径长度计算,即,其中C(T)是一个正则化因子。

       孤立森林使用一个线性的平行于轴的隔离方法,每次仅考虑一个维度,现有方法引入基于超平面的隔离包含了多个维度,但同样地,只能实现线性划分。这些现有的隔离方法受到限制,不能有效地处理困难异常,这些困难异常无法通过对单个特征的线性划分或多个特征的简单组合进行隔离。此外,这些现有方法普遍受隔离策略中隐藏的约束带来的算法偏差的影响。

5 深度孤立森林

本文需要一种新的隔离方法来脱离上述的限制从而可以高效地隔离那些困难异常并避免算法偏差。为了达到这个目的,本文引入深度孤立森林方法。总而言之,DIF构建一个从深度神经网络中得到的表示的集成,在新的数据空间中采用简单的平行于轴的划分来构建孤立森林中的孤立树。本文没有遵循组合独立训练神经网络的深度集成框架,而是使用由无优化神经网络产生的随机表示的集成,这些神经网络只需要简单的偶然初始化。这种新的表示方法在原始数据空间上具有较高的划分自由度。新投影表示空间中的每个特征都是基于多个原始特征之间的非线性交互,这意味着新空间的轴平行划分可以在原始空间中形成有效的非线性切割。这种方法成功地将切片切割从当前的线性约束中解放出来。那些在原始数据空间中无法轻易隔离的硬异常可能在表示空间中暴露出来,并且可以通过更少的切割来隔离它们,从而导致更清晰的异常。同时,随机表示和随机划分隔离之间的独特协同作用可以促进整体的基于集合的异常估计。

5.1 DIF公式

DIF首先通过无优化的神经网络产生随机表示的集合,定义为

    (1)

其中 r 是集成大小,是将原始数据映射到新的d维空间中的神经网络,网络的权重θu是随机初始化的。每个表示被分配给t个孤立树,构造了一个有T=r*t棵孤立树的森林。X的孤立树τi由一组投影数据的根节点P1⊂X初始化。数据池的第k个节点Pk被分成两个叶子节点,每个叶子节点的子集互不相交,即P2k = {x|x (jk) ≤ ηk, x ∈ Pk}, P2k+1 = {x|x (jk) > ηk, x ∈ Pk},其中jk在新创建的数据空间{1,..,d}的所有维度中均匀随机地选择,x(jk)是投影数据对象的第jk[1]维,ηk是{x(jk)|x∈Pk}范围内的一个分割值。

       在构建之后,一个数据对象 o 的异常程度通过在森林里每棵树上隔离的难易程度来评估。评分函数定义为

   (2)

其中I(o|τi)表示一个衡量在孤立树τi中隔离的难易程度的函数,Ω表示一个集成方法。


http://www.kler.cn/a/291356.html

相关文章:

  • 高级java每日一道面试题-2024年11月07日-Redis篇-Redis有哪些功能?
  • Office-Tab-for-Mac Office 窗口标签化,Office 多文件标签化管理
  • Excel数据动态获取与映射
  • 【c++丨STL】list的使用
  • Ajax的相关内容
  • 2411rust,1.80
  • 第二百一十六节 JSF教程 - JSF基本标签、JSF表单文本框示例
  • ffmpeg音视频开发从入门到精通——ffmpeg实现音频抽取
  • 【R语言速通】2.循环和条件判断
  • verilog仿真激励
  • TCP协议 配合 Wireshark 分析数据
  • 开源还是封闭?人工智能的两难选择
  • 人工智能关键技术怎么清晰的划分
  • 云电脑超越传统PC——再谈公有云的新市场
  • 基于Java的在线文献检索系统
  • IP网络协议
  • stm32 8080时序驱动lcd屏幕
  • 仕考网:公务员和事业编的区别
  • matlab二维热传导显示有限差分法计算(代码)
  • 活动系统开发之采用设计模式与非设计模式的区别-需求整理
  • 使用FFmpeg实现简单的拉流、推流、视频解码Demo
  • 微服务中的服务降级与熔断机制
  • 搜维尔科技:使用Geomagic Touch X 对机械臂进行远程遥操作
  • mysql 使用 general 开启SQL跟踪功能
  • Knife4j:为Spring Boot API赋能的文档生成器
  • SwaggerAPI未授权访问漏洞