8.1个体与集成
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习。
同质”集成“:只包含同种类型的个体学习器,同质集成中的个体学习器亦称“基学习器”,相应的学习算法称为“基学习算法”
异质“集成”:由不同学习算法生成,不再有基学习法,称“组件学习器”。
集成学习常获得比单一学习器显著优越的泛化性能,对“弱学习器”尤为明显。
要想获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,并且也有差异“多样性”
以二分类问题 y ∈ { − 1 , + 1 } y\in\{-1,+1\} y∈{
−1,+1}和函数 f f f为例,假定基分类器错误率为 ξ \xi ξ,对每个基分类器 h i h_i hi有:
P ( h i ( x ) ≠ f ( x ) ) = ξ \begin{equation} P(h_i(x)\neq{f(x)})=\xi \tag{8.1} \end{equation} P(hi(x)=f(x))=ξ(8.1)
假设集成通过投票要对 T T T个基分类器判断,则超过半数为正确
H ( x ) = s i g n ( ∑ i = 1 T h i ( x ) ) \begin{equation} H(x)=sign(\sum_{i=1}^Th_i(x)) \tag{8.2} \end{equation} H(x)=sign(i=1∑Thi(x))(8.2)
集成错误率为:
P ( H ( x ) ≠ f ( x ) ) = s i g n ( ∑ k = 0 T / 2 [ T K ] ( 1 − ξ ) ξ T − K ≤ e x p ( − 1 2 T ( 1 − 2 ξ ) 2 ) \begin{equation} P(H(x)\ne{f(x)})=sign(\sum_{k=0}^{T/2}\left[ \begin{matrix} T \\ K \\ \end{matrix} \right](1-\xi)\xi^{T-K}\leq{exp(-\frac{1}{2}T(1-2\xi )^2)} \tag{8.3} \end{equation} P(H(x)=f(x))=sign(k=0∑T/2[TK](1−ξ)ξT−K≤exp(−21T(1−2ξ)2)(8.3)
随集成个体分类器数目 T T T增大,集成的错误率将指数级下降,最终趋于零。
集成学习分两大类:
- 个体学习器存在强依赖关系,必须串行生成序列化方法。如:Boosting
- 不存在强依赖关系,可同时生成的并行化方法,如Bagging和随机深林。
8.2Boosting
Boosting工作机制: 先从初始训练集中训练出一个基学习器,再根据基学习器表现对训练样本分布调整,使先前错的样本后续得到更大关注,基于调整后的样本训练下一个基学习器,反复直到达到指定值 T T T。最终将 T T T个学习器加权结合。
Boosting族算法最著名的是AdaBoost,比较容易理解的是基于“加性模型”即基学习器线性组和
H ( x ) = ∑ i = 1 T α t h t ( x ) \begin{equation} H(x)=\sum_{i=1}^T{\alpha_t}h_t(x) \tag{8.4} \end{equation} H(x)=i=1∑Tαtht(x)(8.4)
其中, T T T<