- 简单了解一下Adaboost算法在干嘛,先不去管数学公式之类的东西。
正常有一个训练集, 然后然们使用了某种算法A,按照该算法的规则最终训练好了该算法,就能拿去使用了,无论是分类也好、回归也好,就是拿去使用了(这边先不考虑验证集、测试集这东西)。
所以说, 数据 在某种方式下,导出了一个 机器学习模型。
然后我们看Adaboost的思想:
在假设下(基学习器的误差相互独立),adaboost有这么一个结论,基分类器越多,性能越好(误差呈指数级下降、收敛为零)
关于使用的直觉:
我们有一个训练集,根据这个训练集,我们产生了第一个机器学习模型h1,这个模型h1正确率不够高,所以我们还想继续生成另一个模型h2。。。。。。。hn。从而组合起来得到一个很厉害的模型 :H = ?1h1 + ?2h2 + ........ + ?nhn
然后就是使用这个模型啦, 对于一个待预测或者待分类的 输入数据, 每个基模型 h都会有自己的判断,再用?加权之后 就得到H,即最终的预测结果。
关于生成的直觉:
一开始有一个训练集(内部所有权值一样),由这个训练集得到了一个模型h1,
然后根据模型h1的误差可以更新所有样本的权值;
这时,我们的H = ?1h1
还是刚才的那个训练集(内部的权值改变了),由这个训练集得到一个模型h2,
然后根据模型h2的误差可以更新所有样本的权值;
这时,我们的 H = ?1h1 + ?2h2
。
。
。
。
。
如果我们最终想要有n和基模型,那么就要继续下去
就能得到 H = ?1h1 + ?2h2 + ........ + ?nhn
ok,今天到此为止!