人工智能机器学习之 Bagging 算法
bagging(装袋算法)的集成学习方法非常简单,假设我们有一个数据集,使用 bootstrap sample(有放回的随机采样,每一个样本被抽中概率符合均匀分布)取了 n 份,作为新的训练集,我们使用这 n 个子集分别训练一个分类器(使用分类、回归等算法),最后会得到 n 个分类模型。我们将测试数据输入到这 n 个分类器,会得到 n 个分类结果,比如分类结果是 0 和 1,那么这 n 个结果中谁占比最多,那么预测结果就是谁。大致过程如下:1.对于给定的训练样本 s,每轮从训练样本 s 中采用有放回抽样(booststraping)的方式抽取 m 个训练样本,共进行 n 轮,得到了 n 个样本集合,需要注意的是这里的 n 个训练集之间是相互独立的。2.在获取了样本集合之后,每次使用一个样本集合得到一个预测模型,对于 n 个样本集合来说,我们总共可以得到 n 个预测模型。3.如果我们需要解决的是分类问题,那么我们可以对前面得到的 n 个模型采用投票的方式得到分类的结果,对于回归问题来说,我们可以采用计算模型均值的方法来作为最终预测的结果。
随机森林 RF(Random Forests)随机森林是 bagging 的一个扩展,在以决策树为基学习器构建 bagging 集成的基础上,进一步在决策树的训练中,引入随机属性选择。其基本思想就是构造很多棵决策树,形成一个森林,每一棵树都会给出自己的分类选择,并由此进行“投票”,森林整体的输出结果将会是票数最多的分类选项;有两个随机过程,使随机森林很大程度上,因个体学习器之间差异度的增加,而避免过拟合现象:数据样本选择的随机:随机的从整体的训练数据中选取一部分,作为一棵决策树的构建,而且是有放回的选取;特征(x)的随机:每棵决策树的构建所需的特征是从整体的特征集随机的选取的。
bagging 和 rand forest1)rand forest 是选与输入样本的数目相同多的次数(可能一个样本会被选取多次,同时也会造成一些样本不会被选取到),而 bagging 一般选取比输入样本的数目少的样本 2)bagging 是用全部特征来得到分类器,而 rand forest 是需要从全部特征中选取其中的一部分来训练得到分类器; 一般 rand forest 效果比 bagging 效果好!
版权声明: 本文为 InfoQ 作者【XiaoChao_AI】的原创文章。
原文链接:【http://xie.infoq.cn/article/e0a05d77b167aacf1e2d62531】。文章转载请联系作者。
评论