DataWhale 组队学习 2021.05 组队学习系列笔记五
孤立森林思想:
用一个随机超平面来切割数据空间,切一次生成两个子空间,然后不断用随机超平面来切割,直至每个子空间只有一个数据点为止。
理论上,具有高密度的簇需要被切分多次,低密度簇则只需要较少的次数。孤立森林认为这些很快被孤立的点就是异常点。
示例:
核心问题:怎么保证随机切割的可靠性
使用集成(ensemble)的方法来得到一个收敛值。即反复从头开始切,平均每次切的结果。
孤立森林由t棵孤立的树组成,每棵树都是一个随机二叉树,也就是对于树的每个节点,要么有两个孩子节点,要么没有。
构造流程如下:
1)从训练数据随机选一个样本子集,放入树的根节点;
2)随机指定一个属性,随机产生一个切割点V,即属性A 的最大值和最小值之间某个数;
3)根据属性A对每个样本分类,把A小于V的样本放到当前节点的左孩子中,大的放到右孩子中,这样就形成了2个子空间
4)递归步骤2、3,直至孩子节点只有一个数据,或者树的高度达到限定高度。
异常点一般都是非常稀有的,在树中会很快被划分到叶子节点,因此可以用叶节点到根节点的路径长度来判断一条数据是否异常。
孤立森林也是一种基于子空间的方法,不同分支对应于数据的不同局部子空间区域,较小的路径对于孤立子空间的低维。