AdaBoost算法实现了“三合一”:
1、不同的分布则可得到不同的学习器,利用这些不同的学习器,进行投票可得到一个集成学习器;
2、这些分布是一系列演进的,即通过先前的学习器的效果(损失情况)对分布进行调整。
3、算法优化是动态过程,即逐步累加且权重是经过优选的。
AdaBoost算法
基于概率论知识的学习算法(如,贝叶斯分类器)往往建立在训练集 D D D以及样本分布 D \mathcal{D} D的基础上,该类学习器表示为 L ( D , D ) \mathcal{L} (D,\mathcal{D} ) L(D,D)。
不同的分布则可得到不同的学习器,利用这些不同的学习器,进行投票可得到一个集成学习器,这是一个想法。 另一个想法是:这些分布是一系列演进的,即通过先前的学习器的效果(损失情况)对分布进行调整。 再一个想法就是算法是动态过程,即逐步累加且权重是经过优选的。 AdaBoost算法实现了这三个想法。
对AadBoost算法【西瓜书图8.3】的理解:
(1)已知训练集 D D D,选择一个合适的学习算法 L \mathcal{L} L。
(2) T T T轮训练后,得到的集成学习器为 H ( x ) = ∑ t = 1 T α t h t ( x ) H(\boldsymbol{x})=\sum_{t=1}^T{\alpha }_th_t(\boldsymbol{x}) H(x)=∑t=1Tαtht(x)(当然,对应的分类器为 s g n H ( x ) \mathrm{sgn}H(\boldsymbol{x}) sgnH(x))。
(3)学习器序列为 h t ( x ) = L ( D , D t ) h_t(\boldsymbol{x})=\mathcal{L} (D,\mathcal{D}_t ) ht(x)=L(D,Dt),即它由序列 D t \mathcal{D}_t Dt决定。 将该序列的起点初始化为均匀分布,即 D 1 = 1 m \mathcal{D}_1=\frac{1}{m} D1=m1,之后,按某种更新公式生成序列,如【西瓜书式(8.19)】。
(4)在集成式中, h t h_t ht有一个权重 α t {\alpha }_t α

AdaBoost是一种集成学习算法,它通过迭代调整样本分布并训练不同的学习器,最终结合这些学习器的预测进行投票以得到最终决策。每个学习器的权重是根据其在训练中的性能动态优化的,确保了较弱的分类器也能在集成中发挥作用。算法的核心思想包括分布的演变、损失函数的优化和动态的权重分配。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



