
Adaboost算法推导1.初始化训练数据权重相等训练第 1 个学习器如果有 100 个样本则每个样本的初始化权重为1/100根据预测结果找一个错误率最小的分裂点计算、更新样本权重、模型权重2.根据新权重的样本集 训练第 2 个学习器根据预测结果找一个错误率最小的分裂点计算、更新样本权重、模型权重3.迭代训练在前一个学习器的基础上根据新的样本权重训练当前学习器直到训练出 m 个弱学习器4.m 个弱学习器集成预测公式为模型的权重输出结果大于 0 则归为正类小于 0 则归为负类5.模型权重计算公式:为模型权重表示第 t 个弱学习器的错误率6.样本权重计算公式:其中 为归一化值(所有样本权重总和)为样本权重为模型权重二、Adaboost算法 – 构建过程已知训练数据见下面表格假设弱分类器由 x 产生预测结果使该分类器在训练数据集上的分类误差率最低试用 Adaboost算法学习一个强分类器。序号12345678910x0123456789y111-1-1-1111-11.Adaboost算法-构建第1个弱分类器1.1初始化工作初始化 10 个样本的权重每个样本的权重为0.1x0123456789w0.10.10.10.10.10.10.10.10.10.1y111-1-1-1111-11.2 构建第一个基学习器寻找最优分裂点对特征值 x 进行排序确定分裂点为0.5、1.5、2.5、3.5、4.5、5.5、6.5、7.5、8.5当以 0.5 为分裂点时有 5 个样本分类错误小于0.5的全部分类为1大于0.5的分类为-1那么x1、2、6、7、8的错了错误率为0.5当以 1.5 为分裂点时有 4 个样本分类错误当以 2.5 为分裂点时有 3 个样本分类错误当以 3.5 为分裂点时有 4 个样本分类错误当以 4.5 为分裂点时有 5 个样本分类错误当以 5.5 为分裂点时有 4 个样本分类错误当以 6.5 为分裂点时有 5 个样本分类错误当以 7.5 为分裂点时有 4 个样本分类错误当以 8.5 为分裂点时有 3 个样本分类错误最终选择以 2.5 作为分裂点计算得出基学习器错误率为3/100.31.3 按照公式计算模型权重1.4 按照公式更新样本权重分类正确样本为1、2、3、4、5、6、10 共7个其计算公式为则正确样本权重变化系数为分类错误样本为7、8、9 共3个其计算公式为则错误样本权重变化系数为样本 1、2、3、4、5、6、10 权重值为0.06547(拿权重变化系数乘以样本先前的权重0.1)样本 7、8、9 的样本权重值为0.15275归一化 值为样本 1、2、3、4、5、6、10 最终权重值为0.071430.06547/0.9165样本 7、8、9 的样本权重值为0.16670.15275/0.9165x0123456789w0.071430.071430.071430.071430.071430.071430.166670.166670.166670.07143y111-1-1-1111-12.Adaboost算法-构建第2个弱学习器2.1 寻找最优分裂点此时错误率的计算公式存在变化不再是10个里面错5个错误率就算0.5而是要看错的哪五个错误率用对应样本权重相加因为之前已经归一化了所以十个样本权重相加还是为1这样可以保证被第一个分类器分类错误的样本获得更高的关注度。对特征值 x 进行排序确定分裂点为0.5、1.5、2.5、3.5、4.5、5.5、6.5、7.5、8.5当以 0.5 为分裂点时有 5 个样本分类错误错误率为0.07143 * 5 0.35715当以 1.5 为分裂点时有 4 个样本分类错误错误率为0.07143 * 1 0.16667 * 3 0.57144当以 2.5 为分裂点时有 3 个样本分类错误错误率为0.16667 * 3 0.57144……当以 8.5 为分裂点时有 3 个样本分类错误错误率为0.07143 * 3 0.21429最终选择以 8.5 作为分裂点计算得出基学习器错误率为0.214292.2 计算模型权重2.3 按照公式更新样本权重1.分类正确的样本1、2、3、7、8、9、10其计算公式为则正确样本权重变化系数为2.分类错误的样本4、5、6其权重调整系数为3.分类正确样本权重值用原来的权重乘权重调整系数3.1 样本 0、1、2、9 为0.03730.07143乘0.52223.2 样本 6、7、8 为0.0870.16667乘0.52224.分类错误样本权重值0.13685.归一化 值为