孤立森林(Isolation Forest,IF)简介

孤立森林(Isolation Forest,IF)简介目前的异常值检测方法非常多 主要分为基于模型 基于距离 基于密度三大类 孤立森林是刘飞等人提出的一个基于树的一分类算法 它可以通过学习一种样本的分布情况 来来将这种样本和其他种类的样本区分开来 孤立森林是由 N 个树构成的

欢迎大家来到IT世界,在知识的湖畔探索吧!

目前的异常值检测方法非常多,主要分为基于模型、基于距离、基于密度三大类。

孤立森林是刘飞等人提出的一个基于树的一分类算法,它可以通过学习一种样本的分布情况、来来将这种样本和其他种类的样本区分开来。

孤立森林是由N个树构成的。每棵树的的学习过程非常随机:它会随机抽取特征、随机选取分割值来建立决策树,从而将每一个样本分到一个独立的子节点上(取值相同的样本视为同一个样本)。这样我们就得到了N个(基本)不相同的数。从超空间的角度看,这样就是不断地用随机选取的超平面切分样本点,直到所有的样本点都被这些超平面“孤立”起来,即与其他样本点分隔开了。

然后,我们可以看那些点用了较少的超平面就可以孤立出来——特别容易孤立出来的点。一般距离密度较高的地方比较远,所处位置的样本点密度较小,因而也更容易被孤立。因此,我们把非常容易被“孤立”的那些点判定为异常值就可以完成任务了。

如何度量一个样本点被“孤立”的容易程度呢?刘飞查询前面建立的决策树,找到这个样本所处的叶子结点的高度(与根节点的距离),一共是N和高度,求到的均值,就是这个容易程度了。算法的实现里,叶子结点的高度被归一化了,一般判定高度小于0.1的叶子结点对应的样本就是异常点。

为了避免算法无限制的训练下去、直到真的把所有点都孤立起来,孤立森林会设置一个停止分割样本点的条件,即树有一个高度限制。这样做是有理由的:需要切分很多次才能被孤立的样本点,所处的位置密度必然很高,这个点是异常点的概率很低。

孤立森林的特点是计算量小、天生可以分布式训练和计算,非常适合海量数据的场景(如果数据的维度特别高,孤立森林的规模会过于庞大,就没有了计算开销较小的优势)。

影响孤立森林效果的几个主要参数:树的个数、contamination、每个数的训练样本数量。训练一个树的时候,孤立森林会从样本中随机抽取一定数量的样本——抽样的数量不宜过大,一般最大256个。研究表明,这个小样本集的容量超过256以后,模型的效果提升不大,有时候反而会降低模型的效果。当样本太多的时候,他们在高维空间中的分布会比较稠密,树会比较复杂,不利于离群点被区分出来。

注意:本文为李鹏宇(知乎个人主页zhihu.com/people/py-li-34原创作品,受到著作权相关法规的保护。如需引用、转载,请注明来源信息:(1)作者名,即“李鹏宇”;(2)原始网页链接,即当前页面地址。如有疑问,可发邮件至我的邮箱:。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/137101.html

(0)
上一篇 19分钟前
下一篇 4分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信