目录
- 一. Bagging思想
- 1. Bagging 算法
- 2. 随机森林(Random Forest)算法
在正文开始之前,我们先来聊一聊什么是集成学习?
集成学习是一种算法思想:将若干个弱学习器分组之后,产生一个新的学习器
弱学习器指预测误差在50%以下的学习器,其中弱学习器可以是分类器、回归器
弱分类器:其分类准确率仅比随机猜测的分类器好一点,因为随机猜测的准确率通常是50%(在二分类问题中)
集成学习的成功在于保证弱分类器的多样性
下面我们来介绍集成学习的三种重要思想:
- Bagging
- Boosting
- Stacking
一. Bagging思想
1. Bagging 算法
Bagging算法又称自举汇聚法
思想:
在原始数据集上通过有放回抽样(bootstrap)的方式,重新选择出S个新数据集
通过训练S个新数据集得到S个分类器/回归器的集成技术
处理操作:
Bagging算法训练出来的模型:
在分类问题中,会使用多数投票统计结果
在回归问题中,会使用求均值统计结果
bagging算法的弱学习器:
基本的算法模型,如: Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN均可
注意:
- bagging算法抽取出来的S个数据集是不同的,数据集内有重复样本,且重复样本各不相同;即构造了多个学习器&数据的多样性
- bagging算法只有数据不同,弱学习器相同
- bagging算法在抽样时,每个子集的样本数量必须和原始样本数量一致,因此抽取的子集中存在重复数据
- bagging算法在模型训练时,允许存在重复数据
结合策略一般为:多数投票(分类)/求均值(回归)
2. 随机森林(Random Forest)算法
随机森林算法在Bagging算法的基础上进行修改后的一种算法
思想:
1. 在原始样本集(n个样本)上通过有放回抽样(bootstrap)的方式,选出n个样本,共m个数据集
2. 将抽取出来的子数据集(存在重复数据)进行决策树训练:
从抽样采集到的所有属性中,随机选择K个属性
从K个属性中选择出最佳分割属性作为当前节点的划分属性
按照这种方式来迭代的创建m棵决策树
3. 这m个决策树形成随机森林,通过投票表决结果决定数据属于那一类
处理操作:
Random Forest算法在得到m个决策树形成随机森林后,通过投票表决结果/求均值决定最终数据
Random Forest算法的弱学习器:
一定是决策树
注意:
- Random Forest算法抽取出来的m个数据集是不同的,每个数据集中的随机k个属性是不同的,这就导致构建的决策树也不相同;即构造了多个不同的学习器&数据的多样性
- Random Forest算法数据不同,弱学习器构造不同
- Random Forest算法在抽样时,每个子集的样本数量必须和原始样本数量一致,因此抽取的子集中存在重复数据
- Random Forest算法在模型训练时,允许存在重复数据
感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!
本文相关代码存放位置
【Bagging思想 代码实现】
祝愉快🌟!