AdaBoost介绍

        集成学习算法可以分为Bagging(并行训练多个弱分类器,对于分类,采用投票方式,经典例子,随机森林), Boosting(迭代生成弱分类器,并将其加入到当前学习分类器,对数据集分配权重(容易分错的数据权重高),对训练结束的不同决策树分配权重(容易分错的决策树权重低),经典例子:AdaBoost),Stacking

        Adaboost(自适应提升)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器),三个臭匹匠,赛过诸葛亮。

        强学习器:

        (1) 先通过对N个训练样本的学习得到第一个弱分类器;

        (2) 将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器 ;

        (3) 将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;

        (4) 最终经过提升的强分类器。即某个数据被分为哪一类要由各分类器权值决定。

        由Adaboost算法的描述过程可知,该算法在实现过程中根据训练集的大小初始化样本权值,使其满足均匀分布,在后续操作中通过公式来改变和规范化算法迭代后样本的权值。

        样本被错误分类导致权值增大,反之权值相应减小,这表示被错分的训练样本集包括一个更高的权重。这就会使在下轮时训练样本集更注重于难以识别的样本,针对被错分样本的进一步学习来得到下一个弱分类器,直到样本被正确分类。在达到规定的迭代次数或者预期的误差率时,则强分类器构建完成。

        Aadboost 算法系统具有较高的检测速率,且不易出现过适应现象。

        但是该算法在实现过程中为取得更高的检测精度则需要较大的训练样本集,在每次迭代过程中,训练一个弱分类器则对应该样本集中的每一个样本,每个样本具有很多特征,因此从庞大的特征中训练得到最优弱分类器的计算量增大。

        参考:adaboost算法

你可能感兴趣的:(机器学习,python,算法,机器学习)