Grit

集成学习

基本概念

  • 基学习器 同质/异质 准确性/多样性 弱学习器
  • 集成学习器
  • 结合策略
  • 集成分类器错误率随个体分类器数目的增大指数下降
    $$ \mathbb{P} (H(x) \neq f(x))
    = \sum_{k=0}^{\lfloor T/2 \rfloor} \binom{T}{k}(1-\varepsilon)^k\varepsilon^{T-k}
    \leq exp\left(-\frac{1}{2}T(1-2\varepsilon)^2\right) $$

结合策略

优点

  • 处理同等性能假设
  • 避免陷入局部最小点
  • 拓展假设空间

方法

平均法

  • 数值型输出
  • 简单平均法
  • 加权平均法

投票法

  • 分类任务 – 基学习器的输出是类标记或类概率
  • 绝对多数投票法 – 优点:提供了拒绝决策机制
  • 相对多数投票法
  • 加权投票法

学习法 (Stacking)

  • 利用初级学习算法和初始数据集生成初级学习器
  • 利用初级学习器生成新数据集
  • 利用次级学习算法和新数据集生成结合策略
  • 为防止过拟合,通常可用k折交叉验证,用初级学习器未使用的数据集生成次级学习算法的数据集

基学习器多样性

误差-分歧分解

$$ E = \bar{E} - \bar{A} $$

  • 个体学习器分歧 $$ A(h_i\,|\,x) = (h_i(x)-H(x))^2 $$
  • 个体学习器误差 $$ E(h_i\,|\,x) = (h_i(x)-f(x))^2 $$
  • 集成泛化误差 $$ E = \int E(H\,|\,x)p(x) $$
  • 集成加权分歧 $$ \bar{A} = \sum_{i=1}^{T} w_i \int A(h_i\,|\,x)p(x) \;dx $$
  • 集成加权误差 $$ \bar{E} = \sum_{i=1}^{T} w_i \int E(h_i\,|\,x)p(x) \;dx $$

多样性度量

  • 考虑基学习器的两两相似/不相似性
  • 预测结果列联表
$h_i=+1$ $h_i=-1$
$h_j=+1$ a b
$h_j=-1$ c d
  • 不合度量 $$\frac{b+c}{a+b+c+d}$$
  • 相关系数 $$\frac{ad-bc}{\sqrt{(a+b)(a+c)(b+d)(c+d)}}$$
  • Q-统计量 $$\frac{ad-bc}{ad+bc}$$
  • $\kappa$-统计量, $p_1,p_2$ 分别为两个分类器一致和偶然一致的概率 $$\frac{p_1-p_2}{1-p_2}$$
  • 成对形多样性度量:$\kappa$-误差图(准确性、多样性分布图)

多样性增强

  • 数据样本扰动 – 对不稳定学习器效果(决策树、神经网络)明显
  • 输入属性扰动 – 随机子空间算法
  • 输出表示扰动
  • 算法参数扰动 – 神经网络层数、LASSO惩罚因子、决策树属性89003714选择机制

Boosting

  • 关注降低偏差

算法机制

  • 根据初始训练集训练一个基学习器
  • 根据基学习器对数据样本分布进行调整(使得先前基学习器做错的样本受到更多的关注)
  • 根据调整的样本训练一个新的基学习器
  • 重新调整样本数据分布并生成新的基学习器,直至达到事先指定的基学习器数目
  • 将所有基学习器加权结合

AdaBoost

算法机制

  • 基学习器更新:
    $$ h_t = \mathfrak{L}(\mathcal{D},\mathcal{D_t}) $$

  • 分类误差更新:
    $$ \varepsilon_t = \mathbb{P}_{x\sim\mathcal{D}_t}(h_t(x) \neq f(x)) $$

  • 分类器权重更新公式:
    $$ \alpha_t =
    \frac{1}{2}\ln \left( \frac{1-\varepsilon_t}{\varepsilon_t} \right) $$

  • 样本数据分布更新公式:
    $$ \mathcal{D}_{t+1}(x)
    \propto
    \mathcal{D}_t(x) e^{-f(x)\alpha_t h_t(x)} $$

算法原理

  • 指数损失函数是分类任务0/1损失函数的一致替代函数
    $$ loss_{exp}(H\,|\,\mathcal{D}) =
    \mathbb{E}_{x\sim\mathcal{D}}[e^{-f(x)H(x)}] $$

  • $h_t(x), \alpha_t$ 最小化 $\mathbb{E}_{x\sim\mathcal{D}_t}[e^{-f(x)\alpha_t h_t(x)}]$

  • 加法模型

  • 前向分步算法

Bagging

  • 关注降低方差

算法原理

  • 相互有交叠的采样子集
  • 自主采样法(Bootstrap sampling)
  • 简单投票法、简单平均法

算法优势

  • 高效集成学习算法
  • 适用于二分类、多分类、回归等任务(标准AdaBoost仅适用于二分类)
  • 利用包外样本做泛化误差分析、防止过拟合等
    $$ H^{oob}(x) = \sum_{t=1}^{T} \mathbb{I}(h_t(x)=y)\cdot\mathbb{I}(x\notin D_t) $$

$$ \varepsilon^{oob} = \frac{1}{|D|} \sum_{(x,y)\in D}\mathbb{I}(H^{oob}(x)\neq y) $$

Random Forest

算法原理

  • Bagging + 决策树 + 随机属性选择
  • 样本扰动 + 自属性扰动

算法优势

  • 简单、易实现、计算开销小、功能强大
  • 跟Bagging比较,往往具有类似的收敛性、更小的泛化误差、更高的训练效率