一、boosting与bagging:
(1)bagging:
从原始数据中随机抽样得到多个同样大小的数据集,来训练多个基学习 器,各学习器之间互不依赖。是一种并行的方法
。各分类器的权重都是相等的。
(抽样方法为有放回的抽样:允许每个小数据集中可以有重复的值。)
(2)boosting:
用所有的数据去训练基学习器,个体学习器之间存在依赖关系,每一个学习器都是基于之前训练的学习器的结果,集中关注被错分的数据,来获得新的学习器,达到提升的效果。(通俗来说,就是每次都只学习一点,然后一步步的接近最终要预测的值。)
分类的结果是基于所有分类器的加权求和结果的,分类器的权重并不相等,每个权重代表的是其对应分类器在上一轮迭代中的成功度。
优点:泛化误差低,易实现,分类准确率较高,可调参数少;
缺点:对离群点比较敏感。
两者相同点:
所使用的分类器的类型都是一致的。
1.1 Adaboost (一般用于二分类,如果用于多分类,需进行修改。)(利用前一轮迭代若学习器的误差率来更新训练集的权重)
(1)步骤:
收集数据、分析数据、训练数据集
训练数据的过程:将训练数据集中的每个样本赋予一个权值,开始的时候,权重都初始化为相等值;1)首先,在整个数据集上训练一个弱分类器,并计算错误率;2)在同一个数据集上再次训练一个弱分类器,在训练的过程中,权值重新调整,其中在上一次分类中分对的样本权值将会降低,分错的样本权值将会提高。3)重复上述过程,串行的生成多个分类器,为了从所有弱分类器中得到多个分类结果,为每个分类器分配一个权值alpha,这些alpha值是基于每个弱分类器的错误率计算的。
(2)优缺点:
优点:泛化错误率低