集成学习方法:随机森林与梯度提升机(GBM)
集成学习是一种强大的机器学习方法,通过组合多个基学习器来提升整体模型的性能。在众多集成学习算法中,随机森林和梯度提升机(GBM)是最常用的两种方法。本文将简单介绍它们的原理、特点,并通过代码展示如何使用 Python 实现它们。
1. 随机森林(Random Forest)
随机森林是一种基于决策树的集成方法,它通过以下两个随机化步骤来构建多个弱学习器(决策树):
计算原理:
· 样本随机性:为了生成不同的决策树,随机森林对训练数据进行有放回的抽样(bootstrap sampling),即每次抽取一个子集,这些子集的大小和原始数据集相同,但可能会有重复的样本。这意味着每棵树可能会看到不同的数据,增强了模型的多样性。
· 特征随机性:在构建每棵决策树时,随机森林不会使用所有的特征来划分节点。相反,随机选择一个特征的子集,并在该子集上找到最佳划分。这样可以使得每棵决策树具有不同的视角,进一步减少过拟合。
计算过程:
ü 训练阶段:
o 随机抽取多个子样本数据集。
o 对每个子样本集构建一棵决策树,在每个节点上随机选择特征。
o 重复上述过程,直到生成预设数量的决策树。
ü 预测阶段:
o 对每个新样本,所有决策树分别进行预测(分类问题为投票,回归问题为平均)。
o 最终的输出是所有决策树的输出结果的聚合(如使用投票或平均方法)。
这种集成方式减少了单棵决策树的误差,提高了模型的稳定性和准确性。
数学原理
基础概念:决策树
随机森林是由多棵决策树构成的集成学习方法。每棵决策树的构建和预测过程都依赖于信息增益、基尼指数等指标。