:实际值
:t-1次分类器的预测值
:t次的分类器
:损失函数
:正则项
:常数
由1到2,是因为做了转换,看成所有落在叶子1的节点,也就是w1(g1+g3+g4+……+gi)这种,加和有1-n换成了i-T(所有叶子节点)
adaboost用来
第一次,每个w都相同,都是1/N,
m是指不同的分类器,共M类,
:如果预测值和实际值不相同,就是True,这个m次分类器的错的w就会被拿出来,
如果预测值和实际值相同,就是FALSE,这个m次分类器的错的w就不会被拿出来。
因为这个是算误差率的,分错的乘权值,就是分错的结果。
这个em是指m分类器的误差率
:一个随机的分类器,em是0.5 ,好一点的分类器,em小于0.5,不好的分类器,cm大于0.5.
针对这种三种情况:
好分类器 | 随机分类器 | 坏分类器 | |
em | <0.5 | 0.5 | >0.5 |
am | >0 | =0 | <0 |
也就是说,如果m分类器好,他的系数应该高,如果m分类器不好,他的系数应该就小。
这个是针对分类器的每一个参数来说,
如果第i个分对了,yi * Gm(xi) > 0, 一般来说am > 0, 所以 exp里面的<0, 指数函数的话,红框里面<1, 也就是说,w(m+1)会比wm稍微小一点;
如果第i个分错了,yi * Gm(xi) < 0, 一般来说am > 0, 所以 exp里面的>0, 指数函数的话,红框里面>1, 也就是说,w(m+1)会比wm稍微大一点;
因为我们的初衷就是讲分错的数据的权值大一点,让他在之后的分类器中多考虑一些。
举例:
样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
差别部分内容转自《Bagging和Boosting 概念及区别》
High variance 是model过于复杂overfit,记住太多细节noise,受outlier影响很大;high bias是underfit,model过于简单,cost function不够好。