机器学习之随机森林和Bagging算法
0. 引导聚集算法
引导聚集算法(Bootstrap Aggregating),简称 Bagging,是一种集成学习(Ensemble Learning)方法。其核心思想是通过并行训练多个基学习器,并结合它们的预测结果,来提高模型的稳定性和准确性,同时有效降低过拟合的风险。
Bagging算法尤其适用于那些对训练集变化敏感、容易产生高方差(高过拟合)的基模型,比如决策树。通过集成多个这样的模型,可以“平均”掉它们各自的过拟合倾向,从而得到一个更加稳健和泛化能力更强的最终模型。
0.1 Bagging算法的工作流程
Bagging算法的实现主要分为以下三个步骤:
1). 引导抽样(Bootstrap Sampling):
a. 从原始大小为 n 的训练数据集中,通过“有放回”的方式,随机抽取 m 个样本,构成一个新的训练子集。
b. 这个过程会重复多次,比如 T 次,最终得到 T 个不同的训练子集。
c. 由于是有放回抽样,每个子集中都可能包含重复的样本,同时,一个样本从未被选中的概率约为(1−1/𝑁)𝑁,当𝑁足够大时,这个值趋近于e-1≈0.368,原始数据集中约有36.8%的样本从未被选中。这些未被选中的样本被称为“袋外(Out-of-Bag, OOB)”样本,可以用于模型评估。
2). 并行训练:
a. 对每一个通过引导抽样得到的训练子集,独立地训练一个基学习器(例如,决策树)。
b. 由于每个基学习器是在不同的数据子集上训练的,它们之间具有一定的独立性,从而有助于减少方差。
3). 结果聚合(Aggregation):
a. 对于一个新的输入数据,所有训练好的基学习器都会对其进行预测。
b. 最后,根据任务类型对所有基学习器的预测结果进行聚合:
-
-
- 分类任务:使用多数投票法(Majority Voting),即选择所有基学习器中预测结果出现次数最多的类别作为最终分类。
- 回归任务:对所有基学习器的预测结果取平均值作为最终预测值。
-
0.2 Bagging的主要优势
- 降低方差,防止过拟合:这是Bagging最主要的目的。通过训练多个模型并取平均(或投票),可以平滑掉单个模型因对训练数据过度敏感而产生的方差,从而提高模型的泛化能力。
- 并行计算:每个基学习器是独立训练的,因此可以并行化处理,大大提高训练效率。
- 无需交叉验证:Bagging可以利用袋外(OOB)样本来评估模型性能,这在某些情况下可以替代交叉验证,节省计算资源。
随机森林(Random Forest)是一种集成学习算法,它通过构建多个决策树并将其预测结果进行集成来提高模型的准确性和稳定性。该算法可以用于分类和回归任务,因其易于使用、灵活性高和性能优越而广受欢迎。
1. 工作原理
随机森林的核心思想:“群体智慧”对抗过拟合,设计灵感源于是“三个臭皮匠,胜过一个诸葛亮”的群体决策哲学。它结合了多棵弱学习器(决策树)来创建一个更强大的强学习器。
随机森林的构建过程主要依赖两个随机化步骤:
1)数据随机化: 训练随机森林时,它采用引导聚集算法(Bootstrap Aggregation,Bootstrap aggregating的缩写Bagging),从原始数据集中有放回地随机抽取多个子集,每个子集用于训练一棵独立的决策树。
2)特征随机化(Feature Randomization): 在每棵决策树生长过程中,当需要选择最佳分裂特征时,算法并不是考虑所有可用特征,而是从所有特征中随机选择一个子集。
3)集成预测:
- 分类任务: 所有决策树对一个新样本进行预测,然后随机森林将“多数投票”的结果作为最终预测。
- 回归任务: 所有决策树对一个新样本进行预测,然后将所有预测结果的平均值作为最终预测。
通过这两个随机化过程,随机森林确保了每棵决策树都具有一定的差异性,从而降低了模型整体的过拟合风险,并提高了泛化能力。
2. 优点和缺点
优点:
- 高准确性: 在许多数据集上,随机森林的性能通常优于单个决策树或其他算法。
- 有效处理过拟合: 通过集合多棵差异化的决策树,随机森林显著减少了过拟合的风险。
- 处理高维数据: 能够处理具有大量特征的数据集,并且通常无需进行特征选择。
- 评估特征重要性: 在训练完成后,随机森林可以方便地评估各个特征对模型预测的贡献度,从而帮助理解数据。
- 处理多种数据类型: 可以处理连续变量和分类变量。
- 处理缺失值: 即使部分数据缺失,随机森林依然能够保持较高的准确性。
缺点:
- 模型复杂度高: 由于涉及大量的决策树,模型可能相对复杂,占用更多内存和计算资源。
- 预测过程较慢: 相较于单个决策树,预测新数据时需要运行所有决策树,因此预测速度较慢。
- 可解释性差: 虽然可以评估特征重要性,但由于是一个复杂的集成模型,其内部决策过程不像单个决策树那样直观和易于解释。
3. 应用场景
由于其稳健性和高准确性,随机森林在许多领域都有广泛应用:
- 金融风控: 预测客户违约风险。
- 医疗诊断: 预测疾病发展或生存率。
- 电子商务: 预测客户流失或进行产品推荐。
- 图像识别: 用于图像分类和分割任务。
- 经济学: 评估政策有效性。
随机森林是Bagging思想的一个经典应用和扩展。它在Bagging的基础上,进一步引入了特征随机性,即在训练每个基决策树时,不仅使用引导抽样的数据子集,还在每个节点分裂时,随机选择一部分特征来决定最佳分裂点。这种双重随机性进一步增加了基模型之间的差异,使得最终模型的方差更低,性能更优。
参考:
浙公网安备 33010602011771号