异常检测算法Robust Random Cut Forest(RRCF)关键定理引理证明
摘要:RRCF是亚马逊发表的一篇异常检测算法,是对周志华孤立森林的改进。但是相比孤立森林,具有更为扎实的理论基础。文章的理论论证相对较为晦涩,且没给出详细的证明过程。本文不对该算法进行详尽的描述,仅对其中的关键定理或引理进行证明。
Theorem 1:
对于点集S构成的树RCF(S),假设S的bounding box的边长为P(S),一次切分分离x1和x2的概率为
。
注意到,切分后,任意一边的bounding box的边长的减少量的期望值为
,该期望值满足如下不等式:

因此,每一次切分导致的新子集边长的减少量的期望值至少为
。
(不等式的证明等价于证明算数均值≤均方根均值,因为f(x)=x²为凸函数,利用Jensen不等式可得)
Lemma 7:
(定义两点在树上的距离为:两点的最近共同祖先对应点集的bounding box的边长)
x1、x2的期望距离是:L1(x1,x2)*将x1,x2分离所需的期望步数。
证明:x1,x2在level S’被分离的概率为L1(x1,x2)/P(S’),因此在level S’被分离的期望距离为L1(x1,x2)/P(S’)*P(S’)= L1(x1,x2),如果经过n次(期望分割次数)分割将x1,x2分离,那么x1、x2的期望距离为:
E(x1,x2的距离)==n*L1(x1,x2)
因为每一次切分,将导致新的子集的边长至少减少1/2d,因此经过n次切分,边长最大为:
P(S)*(1-1/2d)n.
又边长不应小于L1(x1,x2),因此:
P(S)*(1-1/2d)n≥L1(x1,x2)
两边取对数,得:
nlog(1-1/2d) ≥log(L1/P(S))
两边取相反数,得:
nlog(1+1/(2d-1))≤log(P(S)/L1)
考虑到limx->0log(1+x)=0,limx->0d(log(1+x))/dx=1,对不等式左侧作一阶泰勒展开:
log(1+1/(2d-1))=1/O(2d-1)
因此,分割次数n被O(d)*log(P(S)/L1)bound住,因此,两点在树上的距离被O(d)*log(P(S)/L1)* L1 bound住。
1范数和p范数的不等关系证明 :

左侧不等式由Jensen不等式可得(f(x)=xp在x≥0一侧是凸函数),右侧显然。
Lemma 9:
CODISP(x,Z,|S|)可以高效地计算。
证明:f(y, S, T) − f(y, S − C, T)不等于0的充要条件是,将包含y的节点的兄弟节点所构成的子树整棵全部删除(当然x也包含在这棵子树中)。因此,C的选择范围就变成了:从叶节点x到根节点的路径上的全部子树,而不再是从所有可能的组合中选择。
异常检测算法Robust Random Cut Forest(RRCF)关键定理引理证明的更多相关文章
- 基于RRCF(robust random cut forest)的时间序列异常检测流程
摘要:RRCF是亚马逊提出的一个流式异常检测算法,是对孤立森林的改进,可对时序或非时序数据进行异常检测.本文是我从事AIOps研发工作时所做的基于RRCF的时序异常检测方案. 1. 数据格式 ...
- 异常检测算法--Isolation Forest
南大周志华老师在2010年提出一个异常检测算法Isolation Forest,在工业界很实用,算法效果好,时间效率高,能有效处理高维数据和海量数据,这里对这个算法进行简要总结. iTree 提到森林 ...
- 异常检测算法:Isolation Forest
iForest (Isolation Forest)是由Liu et al. [1] 提出来的基于二叉树的ensemble异常检测算法,具有效果好.训练快(线性复杂度)等特点. 1. 前言 iFore ...
- 机器学习:异常检测算法Seasonal Hybrid ESD及R语言实现
Twritters的异常检测算法(Anomaly Detection)做的比较好,Seasonal Hybrid ESD算法是先用STL把序列分解,考察残差项.假定这一项符合正态分布,然后就可以用Ge ...
- 【机器学习】异常检测算法(I)
在给定的数据集,我们假设数据是正常的 ,现在需要知道新给的数据Xtest中不属于该组数据的几率p(X). 异常检测主要用来识别欺骗,例如通过之前的数据来识别新一次的数据是否存在异常,比如根据一个用户以 ...
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
- 如何开发一个异常检测系统:使用什么特征变量(features)来构建异常检测算法
如何构建与选择异常检测算法中的features 如果我的feature像图1所示的那样的正态分布图的话,我们可以很高兴地将它送入异常检测系统中去构建算法. 如果我的feature像图2那样不是正态分布 ...
- 异常检测(Anomaly detection): 异常检测算法(应用高斯分布)
估计P(x)的分布--密度估计 我们有m个样本,每个样本有n个特征值,每个特征都分别服从不同的高斯分布,上图中的公式是在假设每个特征都独立的情况下,实际无论每个特征是否独立,这个公式的效果都不错.连乘 ...
- 异常检测算法的Octave仿真
在基于高斯分布的异常检测算法一文中,详细给出了异常检测算法的原理及其公式,本文为该算法的Octave仿真.实例为,根据训练样例(一组网络服务器)的吞吐量(Throughput)和延迟时间(Latenc ...
随机推荐
- iOS 面试秘籍全套
栏目将持续更新--请iOS的小伙伴关注! (答案不唯一,仅供参考,文章最后有福利) iOS面试题大全(上) iOS面试题大全(下) 目录: iOS面试题:Run Loop iOS面试题:性能优化 ...
- Docker SDK api操作Docker
下载包 go get "github.com/docker/docker/api/types" go get "github.com/docker/docker/clie ...
- 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException: no sigar-amd64-winnt.dll in java.library.path
github上一个java项目,在myeclipse中运行正常,生成jar后,运行报错: 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java ...
- Spring笔记(五)
Spring 事务操作 一.事务(概念) 1. 什么是事务 事务是数据库的最基本单元,逻辑上的一组操作,要么都成功,如果有一个失败,那么所有的操作都失败 典型场景: lucy转账100元给mary l ...
- Tomcat详解系列(3) - 源码分析准备和分析入口
Tomcat - 源码分析准备和分析入口 上文我们介绍了Tomcat的架构设计,接下来我们便可以下载源码以及寻找源码入口了.@pdai 源代码下载和编译 首先是去官网下载Tomcat的源代码和二进制安 ...
- Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇(内附开发 demo)
简介 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 系列 云原生 API 网关,gRPC-Gateway V2 初探 业务流程 官方开发接入文档 ...
- Img2Latex 临时方法
Img2Latex 临时方法 博客园Markdown编辑器中公式需采用Latex编写,然鹅现在并不想学习Latex 毕竟工科生,写论文也免不了的各种公式 (终极解决方案当然是学会Latex) 1.工具 ...
- Latex的使用(Ctex+TeXstudio)
1.下载 CTEX Latex 本来是只支持英文的,但是实在太好用了,遂结合中国的团队以及有识之士,开发了这个 CTEX , CTEX 有 TexLive( TexLive 为 Latex 安装包的名 ...
- 聊聊 OAuth 2.0 的 token expire_in 使用
问题背景 有同学私信问了这样的问题,访问 pig4cloud 的演示环境 查看登录请求 network 返回报文如下: { "access_token":"16d3579 ...
- 【CTF】WDCTF-2017 3-1 writeup
题目来源:WDCTF-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1& ...