随机森林(Random Forest, RF)是一种强大且常用的集成学习算法,主要用于分类和回归任务。它通过构建多个决策树并将它们集成在一起来提高模型的性能和泛化能力。
目录
示意图
基本原理
1.决策树的基本原理
RF 的基础是决策树。决策树是一种树状模型,用于对实例进行分类或回归。在决策树中,每个内部节点表示对某个特征的测试,每个分支代表测试结果的一个可能输出,而每个叶节点存储一个类别标签(用于分类)或一个数值(用于回归)。
2.随机性的引入
RF 引入了两种随机性来提高模型的多样性(保证基学习器的多样性)。
2.1 随机样本选择(Bootstrap Sampling):从原始数据集中有放回地随机抽样,形成每棵树的训练集。这样就保证了每个决策树的训练集是不同的,增加了模型的多样性。
2.2 随机特征选择:在每次构建决策树时,从所有特征中随机选择一个固定数量的特征子集。在每个节点的分割时,从这个特征子集中选择最佳的分割特征。这样做的目的是防止某些特征过于主导,使得每个决策树都过于相似。
3.集成学习的思想
即 RF 的核心思想:通过构建多个决策树,每个决策树都是在不同的训练子集上训练的,然后集成它们的决策,以提高整体模型的性能和泛化能力。在分类问题中,通过多数投票的方式确定最终的预测类别;在回归问题中,取多个决策树预测值的平均值。
算法过程
1.创建训练子集:从原始数据集中有放回地抽样选择样本,形成训练子集。
2.创建特征子集:对上述每个训练子集,从总体特征中随机选择固定数量的特征子集。
3.构建决策树:使用 ID3、C4.5 或 CART算法 进行最优分裂构造决策树。
4.重复过程:重复步骤1~3,直到构建了预定数量的树。
5.集成决策树:集成所有决策树的预测结果。
特点/优点
1.抗过拟合:由于采用了随机子样本和随机特征选择,RF 能够有效抵抗过拟合,尤其是在有大量决策树时。
2.评估特征的重要性:RF 能够评估各个特征的重要性,为特征选择提供依据。
3.对缺失值和噪声的鲁棒性:由于每棵决策树都是在不同的子集上训练的,因此 RF 对于个别的错误或异常数据点不太敏感。
4.无需特征缩放:RF 对特征的尺度不敏感,不需要进行特征缩放(如归一化或标准化)就能够产生良好的结果。
5.并行化处理:决策树间彼此独立,因此 RF 易于并行化处理:能够充分利用计算资源,提高训练速度,适用于高维数据集,并能处理大规模数据。
注意事项
1.内存使用:由于构建了多棵树,RF 可能占用较多内存。
2.计算速度:RF 的计算速度与决策树的数量呈负相关。
3.类别不平衡:在处理分类问题时,各类别的数量存在很大差异(例如在二分类中,两个类别的数量比 > 1:1),需要特别的采样方式,如欠采样、过采样等。