装袋
- 采取自助法抽样抽取样本
- 根据样本建立一颗树
- 循环步骤1和2 k次,得到k颗决策树,不必剪枝
- 对分类问题,k个结果中出现类最多的那个类作为最后的分类;对回归问题,取k个结果的均值
提升
经典的adaboost算法
- 对D中每个样本初始化权值为w=1n w = 1 n
- for i = 1 to k do:
- 根据权重和D得到模型Mi,计算其错误率e=所有训练错误的样本的权重之和
- 如果Mi的错误率>50% –> return 步骤3
- 计算该分类器的权重:alpha = 1/2log((1-e)/e)
- 更新样本权值:正确分类了的样本:权重=权重*exp(-alpha);错误分类的样本:权重=权重*exp(alpha)
- 将这些权重再归一化(使得所有样本权重之和=1)
- end for
- 最后的H(x)=sign(每个弱分类器*其对应权重之和)
注意这里的第3步根据权重和D得到模型Mi:
- 根据权重有放回抽样得到Di
- 导出模型Mi
- 计算Mi的错误率,若大于50,则重来一次
随机森林
- 自助法抽样抽取n个样本
- 对这n个样本,抽取m个特征(一般取m=n−−√ m = n ),根据样本建立一颗树
- 循环步骤1和2 k次,得到k颗决策树,不必剪枝
- 对分类问题,k个结果中出现类最多的那个类作为最后的分类;对回归问题,取k个结果的均值