首页 分享 集成学习

集成学习

来源:萌宠菠菠乐园 时间:2024-09-26 00:14

多样性度量

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

h i = + 1 h_{i}=+1 hi​=+1 h i = − 1 h_{i}=-1 hi​=−1 h j = + 1 h_{j}=+1 hj​=+1 a a a c c c h j = − 1 h_{j}=-1 hj​=−1 b b b d 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)}} MCCij​=(a+b)(a+c)(c+d)(b+d)

​ad−bc​
从公式中可以看出,值域为 [ − 1 , 1 ] . [-1,1]. [−1,1].当预测结果中没有 − 1 -1 −1或 + 1 +1 +1时, M C C i j = 0 MCC_{ij}=0 MCCij​=0。
当预测结果全部正确时,正相关程度例如: M C C i j = 1 MCC_{ij}=1 MCCij​=1
当预测结果全部错误时,负相关程度最大: M C C i j = − 1 MCC_{ij}=-1 MCCij​=−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 hi​=[−1,+1,−1,+1]hj​=[−1,+1,+1,−1]MCCij​=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... 12345

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

多样性增强

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

相关知识

【机器学习基础】第三十一课:集成学习之多样性
友邦集成吊顶 JZM074 集成吊顶铝扣板 风雅白 5.4㎡
一种宠物牙科集成治疗台
竹木纤维集成墙板和直接涂乳胶漆墙面哪个好?
如何用机器学习识别猫叫和狗叫声?
喵?如何用机器学习识别猫叫和狗叫声?
永辉超市首家十大专项集成店开业涵盖宠物、母婴;宠物
集成吊顶浴霸147!9.9=20包灭蟑清+3支杀蟑胶饵!LED吊扇灯169!WIFI摄像头74
Kaggle PetFinder.my
毕业设计:基于深度学习的动物叫声识别系统

网址: 集成学习 https://www.mcbbbk.com/newsview254902.html

所属分类:萌宠日常
上一篇: SFT训练中的数据多样性:提升模
下一篇: 如何训练狗狗做一些基本动作

推荐分享