集成学习-多样性的度量和增强

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/winycg/article/details/84038907

多样性度量

在集成学习中,我们希望分类器具有多样性。多样性度量(diversity measure)是用于度量集成个体分类器的多样性。常规的做法是度量两个分类器的相似性,通常有如下指标。
给定数据集 D = { ( x i , y i ) } 1 m D=\{(\bm{x}_{i},y_{i})\}_{1}^{m} ,对二分类任务, y i { 1 , + 1 } y_{i}\in \{-1,+1\} ,对于两个分类器 h i h_{i} h j h_{j} 的预测结果列联表(contingency table)为:

h i = + 1 h_{i}=+1 h i = 1 h_{i}=-1
h j = + 1 h_{j}=+1 a a c c
h j = 1 h_{j}=-1 b b d d

(1)马修斯相关系数(Matthews correlation coefficient)
针对二分类问题:
M C C i j = a d b c ( a + b ) ( a + c ) ( c + d ) ( b + d ) MCC_{ij}=\frac{ad-bc}{\sqrt{(a+b)(a+c)(c+d)(b+d)}}
从公式中可以看出,值域为 [ 1 , 1 ] . [-1,1]. 当预测结果中没有 1 -1 + 1 +1 时, M C C i j = 0 MCC_{ij}=0
当预测结果全部正确时,正相关程度例如: M C C i j = 1 MCC_{ij}=1
当预测结果全部错误时,负相关程度最大: M C C i j = 1 MCC_{ij}=-1
当预测结果一半正确,一半错误时,且正负类标比例相同时,此时相当于随机猜测:
h i = [ 1 , + 1 , 1 , + 1 ] h j = [ 1 , + 1 , + 1 , 1 ] M C C i j = 0 h_{i}=[-1, +1,-1,+1]\\h_{j}=[-1, +1,+1,-1]\\MCC_{ij}=0
所以相关系数越小,表明两个分类器相似度越小,差异性越大。
使用sklearn中的函数可以实现马修斯相关系数的计算,函数中同样也包括了多分类情况下的计算:https://scikit-learn.org/stable/modules/model_evaluation.html#matthews-correlation-coefficient

>>> from sklearn.metrics import matthews_corrcoef
>>> y_true = [+1, +1, +1, -1]
>>> y_pred = [+1, -1, +1, +1]
>>> matthews_corrcoef(y_true, y_pred)  
-0.33...

(2)不合度量(disagreement measure)
d i s i j = b + c a + b + c + d dis_{ij}=\frac{b+c}{a+b+c+d}
值域为 [ 0 , 1 ] [0,1] 。不合度量实质上衡量了分类器结果不一致的比例,值越大,表明差异性越大。

多样性增强

在集成学习中,需要有效地生成多样性大的个体学习器,增强多样性的思路一般是在学习过程中引入随机性,常见的做法是对数据样本、输入属性、输入表示,算法参数进行扰动。
(1)数据样本扰动
给定的初始数据集,可以产生不同的数据子集,利用不同的数据子集训练出不同的学习器,数据样本扰动通常基于采样法。在bagging中使用自助采样,Adaboost使用序列采样,此类做法简单高效,使用很广,对很多基学习器。例如决策树,神经网络等,训练样本稍加变化就会导致学习器有显著变动,此时样本扰动对不稳定基学习器很有效;有一些基学习器对样本扰动不敏感,比如线性学习器、支持向量机、朴素贝叶斯,k近邻学习,称为稳定基学习器。
(2)输入属性扰动
不同的属性子空间提供了观察数据的不同视角,从不同属性子空间中训练出的个体学习器必然不同。对包含大量冗余属性的数据,使用属性子集能训练出的多个多样性大的学习器,还会因为属性数的减少而节省时间开销,同时,由于冗余属性较多,减少属性后训练出的个体学习器不至于太差。若数据只包含少量的属性,或者冗余属性很少,此时对属性扰动会导致每个分类器可用信息大大较少,效果较差。
(3)算法参数扰动
对学习器的超参数进行扰动。例如,可以通过调整正则化系数来控制神经网络的不同参数;决策树的属性选择机制可以替换为其他属性选择机制。

猜你喜欢

转载自blog.csdn.net/winycg/article/details/84038907