孤立森林(iForest)是一种专门用于进行异常值检测的算法,它是一种基于ensemble的方法,相对于基于密度或者距离的方法,如LOF、KNN等,iForest不需要计算距离和密度,因此,iForest具有线性的时间复杂度(O(n)),非常适合用于大数据中进行异常检测。此外,iForest是被设计出来专门用于进行异常检测的,而很多基于密度或距离的方法,进行异常检测只是它们附带的作用,因此就准确率来说,iForest也具有一定的优势。
一. iForest简介
iForest最早由周志华团队提出,原文如下
Liu F T, Ting K M, Zhou Z H. Isolation forest[C]//2008 eighth ieee international conference on data mining. IEEE, 2008: 413-422.
在iForest中,异常点指的是“和其他点的模式相差很大的点”,而isolation,则是指“将这样的异常值从正常值中孤立出去”。
相对于其他方法,iForest有以下几个特点:
1.基于ensemble:iForest由iTree,即孤立树组成,运行时通过训练大量iTree,来组成iForest。
2.子采样(sub-sampling): iForest中每棵iTree都是随机选择部分的样本,来建立Partial models,这样在节约时间成本的同时,还可以提高算法的准确率;同时,还通过训练大量iTree来保证算法性能收敛。
3.可分布式进行:由于是基于ensemble的方法,所以可部署在分布式系统上来加速运算。
因此,iForest具有以下优点:
1.可处理大数据:由于时间复杂度低,iForest可用于大数据量的异常检测,且无需太高的空间复杂度。
2.对高维数据适用:由于子采样和Partial models的使用,iForest可用于处理高维的数据,这是其他方法较难以运用的。
二. iForest思想
iForest的核心思想就是,由于异常值的特征易于正常值,因此总是最容易被孤立出去。假如我们用一个随机超平面对数据空间进行切割,从而获得两个子空间(类似于切蛋糕),

孤立森林(iForest)是一种专门用于异常值检测的高效算法。基于ensemble思想,通过子采样和构建孤立树(iTree)来快速识别异常值。适用于大数据和高维数据的场景。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



