集成学习的基本步骤
集成学习一般可分为以下3个步骤。
(1)找到误差互相独立的基分类器。
(2)训练基分类器。
(3)合并基分类器的结果。
合并基分类器的方法有voting和stacking两种。前者是用投票的方式,将获得最多选票的结果作为最终的结果。后者是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法
融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。
以Adaboost为例,其基分类器的训练和合并的基本步骤如下。
(1)确定基分类器:这里可以选取ID3决策树作为基分类器。事实上,任何分类模型都可以作为基分类器,但树形模型由于结构简单且较易产生随机性所以比较常用。
(2)训练基分类器:假设训练集为 { x i , y i } , i = 1 , . . . , N , \{x_i,y_i\},i=1,...,N, { xi,yi},i=1,...,N,其中 y i ∈ { − 1 , 1 } y_i\boldsymbol{\in}\{−1,1\} yi∈{ −1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。
1.初始化采分布
D l ( i ) = 1 / N D_{\mathrm{l}}(i)={1/N} Dl(i)=1/N
2.令 t = 1 , 2 , . . . , T t=1,2,...,T t=1,2,...,T循环:
-
从训练集中,按照 D t D_t Dt分布,采样出子集 S t = { x i , y i } , i = 1 , … , N t ; S_{t}=\{x_{i},y_{i}\},i=1,\ldots,N_{t}; St={