孤立森林
- 核心思想:异常点是“少数且不同”的 (few and different)。因此,相比于正常点,异常点应该更容易被“孤立”。
- 构建过程:
- 算法建立一个由多棵“孤立树 (iTree)”组成的森林。
- 对于每棵 iTree 的构建:
a. 从全量数据中随机抽取一部分样本
b. 随机选择一个特征。
c. 在该特征的最大值和最小值之间,随机选择一个分割点。
d. 根据分割点将样本划分为两个子集,并对子集重复 b, c 步,直到节点只剩一个样本,或树达到预设的最大深度。
- 异常评分:
- 一个样本的异常程度,由它在所有 iTree 中被孤立时所经过的平均路径长度
决定。 - 直观上,异常点由于其“不同”的特性,会很快被划分到叶子节点,因此其路径长度
很短。正常点则需要经过很多次划分才能被孤立,路径长度很长。 - 为了将路径长度归一化到
区间,使用以下公式计算异常分数 : . 是二叉搜索树的平均路径长度, 用于标准化. 是调和数,可估算为 . - 结果解读:
- 当
接近 时, 很小,表明是异常点. - 当
远小于 时, 很大,表明是正常点.
- 当
- 一个样本的异常程度,由它在所有 iTree 中被孤立时所经过的平均路径长度