它是一个经典的异常检测算法,能处理大规模的多维数据。孤立森林通过构建二叉树的方法孤立每一个异常样本——因为异常样本容易被孤立的特征,异常样本更靠近根节点,正常样本 at the deeper end of the tree。构建的这棵树被称为孤立树(Isolation Tree, iTree)。iTrees的集合即iForest。anomalies are those instances which have short average path lengths on the iTrees。
单棵树训练的过程:
从训练数据中随机选择 Ψ 个点作为子样本,放入一棵iTree的根节点;
随机指定一个维度,在当前节点数据范围内,随机产生一个切割点 p —— 切割点产生于当前节点数据中指定维度的最大值与最小值之间;
此切割点的选取生成了一个超平面,将当前节点数据空间切分为2个子空间:把当前所选维度下小于 p 的点放在当前节点的左分支,把大于等于 p 的点放在当前节点的右分支;