孤立森林的使用场景和效果

  1. 只根据isolation的概念,不用密度,距离等衡量标准。
  2. 由于下采样subsampling,只需要线性时间复杂度,空间复杂度也不高。
  3. 比one class svm,ORCA, LOF(以AUC为标准) 效果好
  4. iForest是two-staged方法,训练和验证 train and evaluate

Reference:
孤立森林

基本理念

  • 异常点一般来说是稀疏的
  • 使用k-d树类似的空间切分方式。 每次选择一个维度,切分空间,分成左右子空间,递归切分至只空间有一个点或者每个点都一样。
  • 完全二叉树
  • 如下图假如x0x_0是异常值,xix_i是正常值,可以判断, 异常值的切分次数少,也就是异常点到根节点的深度普遍小于正常值的深度。
    孤立森林

具体怎么分空间??

  • 一个森林很多树
  • 每一颗树,都是随机放回抽样抽取的sampling sizeϕ\phi大小的数据集,也意味着这棵树生长完全的情况下,是有着ϕ\phi数目的叶子节点
  • 每次切分变量是随机选择 subsample的数据集的某特征q,随机选取某个值p进行切分
  • 直到叶子结点只有一个点或者所有点都是一个值
  • 最后生成t棵树,以上是训练过程。

1训练算法

孤立森林

孤立森林

2还有evaluate呢?

孤立森林
借助BST结构操作iForest
孤立森林

它综合考虑了所有子树的期望高度,然后带入指数函数,最后得到一个异常分数
接近1,表示越可能是异常值!
孤立森林
异常分 vs. 期望路径长度
孤立森林

相关文章:

  • 2021-11-17
  • 2021-10-15
  • 2021-06-14
  • 2021-07-16
  • 2021-05-14
  • 2021-09-28
猜你喜欢
  • 2021-08-11
  • 2022-01-12
  • 2021-08-06
  • 2021-12-24
  • 2022-12-23
  • 2021-08-26
相关资源
相似解决方案