随机森林与极度随机森林:原理、优化与大规模数据处理
1. 随机森林基础
随机森林是一种基于训练示例的机器学习算法,除了装袋法(bagging)基于训练示例抽样外,它还可以基于特征抽取随机子样本,这种方法被称为随机子空间(Random Subspaces)。随机子空间特别适用于高维数据,是随机森林方法的基础。
随机森林算法因其易用性、对杂乱数据的鲁棒性和可并行性,成为目前最流行的机器学习算法之一,广泛应用于定位应用、游戏和医疗保健筛查等领域。例如,Xbox Kinect 使用随机森林模型进行运动检测。
随机森林算法相对简单,具体步骤如下:
1. 从可用样本中进行自助抽样(bootstrap),得到 m 个大小为 N 的样本。
2. 在每个子集(S1, S2, … Sn)上独立构建树,在每个节点分裂时使用特征集 G 的不同部分(无放回抽样)。
3. 基于基尼指数或熵度量最小化节点分裂的误差。
4. 让每棵树进行预测,并聚合结果,分类问题使用投票法,回归问题使用平均法。
由于装袋法依赖多个子样本,它非常适合并行化,每个 CPU 单元可以专门计算单独的模型。但需要注意的是,Python 是单线程的,需要复制多个 Python 实例,这会占用大量的 RAM 内存。如果可用 RAM 不足,设置并行树计算的数量并不能帮助扩展算法,此时 CPU 使用率和 RAM 内存是重要的瓶颈。
2. 随机森林的超参数
随机森林模型在机器学习中很容易使用,因为它不需要大量的超参数调整就能表现良好。以下是一些对模型性能影响较大的超参数:
| 参数 | 描述 |
| ---- | ----
超级会员免费看
订阅专栏 解锁全文
4940

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



