Alex_McAvoy

想要成为渔夫的猎手

集成学习多样性

References:

【误差-分歧分解】

单一样本

分歧

设个体学习器 $G_1(\mathbf{x}),G_2(\mathbf{x}),\cdots,G_T(\mathbf{x})$ 通过加权平均法结合产生的强学习器 $f(\mathbf{x})$ 用于完成回归任务:

对于样本 $\mathbf{x}_i$,定义个体学习器 $G_t(\mathbf{x})$ 的分歧(Ambiguity)为:

那么,个体学习器针对样本 $\mathbf{x}_i$ 的加权分歧为:

其中,$\omega_t$ 为个体学习器 $G_t(\mathbf{x})$ 的系数,即每个个体学习器在强学习器中所占的比重

其表征了个体学习器在样本 $\mathbf{x}_i$ 上的不一致性,即在一定程度上反映了个体学习器的多样性

误差

针对样本 $\mathbf{x}_i$,个体学习器 $G_t(\mathbf{x})$ 的平方误差为:

强学习器 $f(\mathbf{x})$ 的平方误差为:

令 $\overline{E}(G|\mathbf{x})$ 代表个体学习器对样本 $\mathbf{x}_i$ 的平方误差的加权均值,即:

分歧与误差的关系

对于训练集 $D$ 上的任一样本 $\mathbf{x}_i$,有:

由于 $\sum\limits_{t=1}^T\omega_t=1$,故有:

由于采用的是加权平均法,有 $f(\mathbf{x})=\sum\limits_{t=1}^T\omega_t G_t(\mathbf{x})$,故可得:

而对于样本 $\mathbf{x}_i$,强学习器 $f(\mathbf{x})$ 的平方误差为:

故有:

即:

样本集

分歧

由于 $\mathbf{x}_i$ 是样本集 $D$ 中的任一样本,对于 $D$ 中的样本,令 $p(\mathbf{x})$ 表示样本的概率密度,那么在样本集 $D$ 上,个体学习器 $G_t(\mathbf{x})$ 在全样本上的分歧为:

那么,个体学习器在全样本上的加权分歧为:

泛化误差

对于全样本集 $D$,个体学习器 $G_t(\mathbf{x})$ 在全样本上的泛化误差为:

强学习器 $f(\mathbf{x})$ 的泛化误差为:

全样本集上对个体学习器的加权泛化误差为:

分歧与误差的关系

根据单一样本上分歧与误差的关系,对于全样本集 $D$,有:

即:

将上式进行变换,即有:

其被称为误差-分歧分解(Error-Ambiguity Decomposition),其将泛化误差、误差、分歧联系到了一起,同时指出了个体学习器的准确率越高、多样性越大,则集成越好

遗憾的是,在实际应用中,很难直接对泛化误差 $\overline{E}(G) - \overline{A}(G)$ 进行优化,不仅是由于它们是定义在整个样本空间上,还因为 $\overline{A}(G)$ 不是一个可直接操作的多样性度量,其仅是在强学习器构造好后才进行估计

此外,需要注意的是,上面的推导过程只适用于回归,难以将其推广到分类任务上去

【多样性度量】

多样性度量是用于度量集成这种个体分类器的多样性,即估算个体学习器的多样化程度

对于给定的容量为 $n$ 的训练集 $D=\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),…,(\mathbf{x}_n,y_n)\}$,第 $i$ 组样本中的输入 $\mathbf{x}_i$ 具有 $m$ 个特征值,即:$\mathbf{x}_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(m)})\in \mathbb{R}^m$,输出 $y_i\in\mathcal{Y}=\{-1,+1\}$

分类器 $G_i(\mathbf{x})$ 和 $G_j(\mathbf{x})$ 的预测结果列联表为:

$G_i(\mathbf{x})=+1$ $G_i(\mathbf{x})=-1$
$G_j(\mathbf{x})=+1$ $a$ $c$
$G_j(\mathbf{x})=-1$ $b$ $d$

其中,$a$ 表示 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 均预测为正类的样本数,$b$ 表示 $G_i(\mathbf{x})$ 预测为正类 $G_j(\mathbf{x})$ 预测为负类的样本数,$c$ 表示 $G_i(\mathbf{x})$ 预测为负类 $G_j(\mathbf{x})$ 预测为正类的样本数,$d$ 表示 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 均预测为负类的样本数,且 $a+b+c+d=n$

根据列联表,给出如下常见的多样性度量

1)不合度量(Disagreement Measure)

$\text{dis}_{ij}\in [0,1]$,值越大多样性越大

2)相关系数(Correlation Coefficient)

$\rho_{ij}\in [-1,1]$,若 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 无关,则 $\rho_{ij}=0$,若 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 正相关,则值为正,否则为负

3)Q-统计量(Q-statistic)

$Q_{ij}$ 与 $\rho_{ij}$ 符号相同,且 $|Q_{ij}|\geq |\rho_{ij}|$

4)k-统计量(k-statistic)

其中,$p_1$ 是两个分类器取得一致的概率,$p_2$ 是两个分类器偶然达成一致的概率,它们可由数据集 $D$ 估算,即:

若 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 在 $D$ 上完全一致,则 $k=1$,若它们是偶然一致,则 $k=0$

通常来说,$k$ 为非负值,仅在 $G_i(\mathbf{x})$ 与 $G_j(\mathbf{x})$ 达成一致的概率低于偶然性的情况下取负值

【多样性增强】

要在个体学习器足够好的情况下,增强多样性,从整个算法学习过程上来考虑,有:

  • 输入:如果每个学习器学习不同的样本,那么可以学习出相对来说不同的个体学习器,可以随机划分训练样本,或利用不同的属性子集训练出不同的个体学习器
  • 模型:考虑异质集成,训练出不同的组件学习器
  • 输出:依据标签的特性来进行划分,得到不同的个体学习器

从以上三点来考虑,有以下五种方法:

  1. 训练样本扰动:从原始训练样本中产生不同的样本子集,然后利用不同的样本子集训练不同的个体学习器
  2. 输入属性扰动:从初始属性集中抽取出若干个属性子集,然后利用不同的属性子集训练出不同的个体学习器,需要注意的是,若数据只包含少量属性,或则该方法不适用
  3. 算法参数扰动:通过随机设置不同的参数来训练差别较大的个体学习器
  4. 输出标记扰动:对训练样本的类别标记稍作变动,也可对输出进行转化
  5. 混合扰动:在同一个集成算法中同时使用上述多种扰动方法
感谢您对我的支持,让我继续努力分享有用的技术与知识点!