Skip to Content
Machine Learning

Essemble Learning

2019-04-14Original-language archivelegacy assets may be incomplete

集成学习

  • 个体学习器
    • 同质:基学习器,基学习算法
    • 异质:组件学习器
    • 准确性,多样性
  • 学习器结合可能带来的好处
    • 统计:学习任务假设空间大,多个假设在训练集上达到同等性能,使用单学习器可能因误选而导致泛化性能不佳
    • 计算:降低陷入糟糕局部极小点的风险
    • 表示:某些学习任务的真实假设可能不在当前算法所考虑的假设空间中,使用多学习器可能学得较好的近似

序列化方法

  • Boosting
    • Train a weak learner hth_t from distribution DtD_t
    • Evaluate the error ϵt\epsilon_t of hth_t
    • Dt+1=Adjust_Distribution(Dt,ϵt)D_{t+1}=\text{Adjust\_Distribution}(D_t,\epsilon_t)

AdaBoost

  • 加性模型(additive model): H(x)=t=1Tαtht(x)H(x)=\sum_{t=1}^T\alpha_th_t(x)
  • exponential loss funciton: lexp(HD)=ExD(ef(x)H(x))l_{exp}(H|D)=E_{x\sim D}(e^{-f(x)H(x)})
    • 指数损失函数最小化,分类错误率也将最小化(与 0/1 损失函数一致)
  • 分类器权重更新公式: αt=12ln1ϵtϵt\alpha_t=\frac{1}{2}\ln\frac{1-\epsilon_t}{\epsilon_t}
  • 调整样本分布: Dt+1(x)=Dt(x)eαtf(x)ht(x)ZtD_{t+1}(x)=\frac{D_t(x)e^{-\alpha_tf(x)h_t(x)}}{Z_t}

并行化方法

Bagging

  • 采样 TT 次,训练 TT 个学习器,分类简单投票,回归简单平均
  • out-of-bag estimate: Hoob(x)H^{oob}(x) 为未使用 xx 训练的基学习器在 xx 上的预测
    • Hoob(x)=argyYmaxt=1T[ht(x)=y][x∉Dt]H^{oob}(x)=\arg_{y\in Y}\max\sum_{t=1}^T[h_t(x)=y][x\not\in D_t]
    • ϵoob=1D(x,y)D[Hoob(x)y]\epsilon^{oob}=\frac{1}{|D|}\sum_{(x,y)\in D}[H^{oob}(x)\not=y]

随机森林

  • Bagging + 在随机选择的 kk 个属性中选择最优属性
    • 推荐值 k=log2dk=\log_2d

结合策略

平均法

  • 简单平均法: H(x)=1Ti=1Thi(x)H(x)=\frac{1}{T}\sum_{i=1}^Th_i(x)
  • 加权平均法: H(x)=1Ti=1Twihi(x)H(x)=\frac{1}{T}\sum_{i=1}^Tw_ih_i(x)

投票法

  • 绝对多数投票法
    • 可能拒绝预测
  • 相对多数投票法
  • 加权投票法
  • h(x)h(x) 输出不同
    • hard voting: 类标记投票
    • soft voting: 类概率投票
    • 基学习器类型不同,其概率值不能直接进行比较

学习法

  • Stacking
    • 初级学习器(个体学习器)
    • 次级学习器(元学习器)
  • BMA(贝叶斯模型平均)

多样性

误差-分歧分解

  • E=EAE=\overline{E}-\overline{A}
    • hih_i 的分歧:A(hix)=(hi(x)H(x))2A(h_i|x)=(h_i(x)-H(x))^2
    • 集成的分歧:A(hx)=i=1TωiA(hix))\overline{A}(h|x)=\sum_{i=1}^T\omega_iA(h_i|x))
    • E(hix)=(f(x)hi(x))2E(h_i|x)=(f(x)-h_i(x))^2
    • E(hx)=i=1TωiE(hix)\overline{E}(h|x)=\sum_{i=1}^T\omega_iE(h_i|x)

多样性度量

  • 预测结果列联表(contingency table), m=a+b+c+dm=a+b+c+d
hi=+1h_i=+1 hi=1h_i=-1
hj=+1h_j=+1 a c
hj=1h_j=-1 b d
指标
不合度量(disagreement measure) disij=b+cm\text{dis}_{ij}=\frac{b+c}{m}
相关系数 ρij=adbc(a+b)(a+c)(c+d)(b+d)\rho_{ij}=\frac{ad-bc}{\sqrt{(a+b)(a+c)(c+d)(b+d)}}
QQ-statistic Qij=adbcad+bcQ_{ij}=\frac{ad-bc}{ad+bc}
κ\kappa-statistic κ=p1p21p2\kappa=\frac{p_1-p_2}{1-p_2}
κ\kappa κ\kappa-平均误差图
  • 取得一致的概率:p1=a+dmp_1=\frac{a+d}{m}
  • 偶然取得一致的概率:p2=(a+b)(a+c)+(c+d)(b+d)m2p_2=\frac{(a+b)(a+c)+(c+d)(b+d)}{m^2}

多样性增强

  • 数据样本扰动
    • Bootstrap
    • 对不稳定基学习器(决策树,神经网络)有效
  • 输入属性扰动
    • random subspace 算法
  • 输出表示扰动
    • Flipping Output
    • Output Smearing
    • ECOC
  • 算法参数扰动
    • 负相关法
    • 不同增强机制同时使用