集成学习:
通过构建多个分类器来完成学习任务,将多个分类器组合,会获得比单一分类器,更好的泛化能力。
集成学习有两类 Boosting 和Bagging
Boosting:个体分类器之间存在强依赖关系,必须串行生成的序列化方法
Bagging:个体分类器之间不存在依赖关系,可以同时生成的并行方法
Bagging和随机森林:
Bagging的代表是随机森林,Bagging的流程是用自助采样法从数据集中得到若干个采样集,基于每一个采样集训练出一个个体分类器,在将个体分类器组合。
随机森林用于分类:
随机森林是采用n个决策树分类,将分类结果简单投票得到最终结果。
对决策树的集成:
- 采样差异:从含m个样本的数据集中得到采样集,是有放回采样采样,得到含有m个样本的采样集用于训练,保证采样集之间有重复但不完全一样。
- 特征选择差异:每个决策树的k个分类特征是在所有特征中随机选择(随机森林随机性的体现)
随机森林的参数:
- 决策树的个数m(490不到500)
- 决策树的特征个数k(大约8个)
- 随机森林的深度
- 每颗树的深度 不到10
随机森林是Bagging的一个扩展。随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择(引入随机特征选择)。传统决策树在选择划分属性时在当前节点的属性结合(n个属性),利用信息论的知识选取一个最优属性;而在随机森林中, 对决策树的每个节点,先从该节点的属性集合中随机选取包含k个属性的子属性集,然后选择最优属性用于划分。这里的参数k控制了随机性的引入程度。若k=n, 则是一般的决策树;k=1, 则是随机选择一个属性进行划分。随机森林对用做构建树的数据做了限制,使的生成的决策树之间没有关联,提升算法效果。