集成学习之 如何进行多样性增强

本文探讨了增强集成学习中基学习器多样性的四种有效方法:样本扰动如Bagging,输入扰动如随机子空间法,输出扰动如多分类到二分类转换,以及算法参数扰动。每种方法都针对不同类型的模型和数据集,旨在提高集成学习的整体性能。

众所周知,对于集成学习的基学习器而言,他们的差异性越大,集成之后的效果就越好,那么,我们怎么增强不同模型的多样性呢?

 

1.样本扰动:比如Bagging中的自助法就是了,由于生成的不同数据集间有一定的不同,所以导致训练出来的基学习器也有一定的不同。(对于linear、svm、naive_bayes、knn这些对扰动不敏感的基学习算法效果不大)

2.输入扰动:对于那些有非常多的属性,且有大量冗余属性的数据集,我们可以用随机子空间法:从数据集中随机抽取一些属性作为子集,然后,依靠这些子集训练基学习器。(不适合属性较少或 冗余属性较少的数据集)

 

3.输出扰动:比如多分类中,讲多分类任务转化为多个二分类任务, 把样本中的标签反转(0—>1, 1—>0)

 

4.算法参数 扰动:我们一般会给模型设置初始参数的,初始的参数不同,训练出来的模型也会不一样,因此我们还可以调这个老得到多个基学习器。(正常我们也是多次选取初始值训练得到多个模型,然后选取效果好的一个,现在只是要把这些效果差一点的模型也利用上,因此不会增加训练时间)

### 集成学习中的多样性增强策略 #### 多样性的概念 在集成学习中,多样性和准确性被认为是影响集成性能的关键因素之一。为了使集成能够显著提高泛化能力,个体学习器应当具有一定的准确性,并且彼此之间存在差异性[^3]。 #### 错误-分歧分解 对于分类任务而言,可以通过错误-分歧(Bias-Variance Decomposition)来理解模型的表现。其中,偏差反映了模型的期望预测与真实结果之间的差距;方差则衡量了同一数据集的不同样本上训练得到的学习器预测值的变化程度。通过降低单个学习者的偏差和增加其间的不相似度可以提升整体表现。 #### 增强多样性的具体方法 ##### 数据扰动 通过对输入特征空间施加变化或噪声处理,使得各个基估计器接收到略有不同的信息源从而产生区别化的输出。例如,在决策树构建过程中采用随机子空间法(Random Subspace Method),即每次仅选取部分属性参与分裂节点的选择过程[^2]。 ##### 输入表示改变 调整原始样本点的位置分布情况亦有助于引入新的视角给定问题带来新颖见解。比如k-means聚类后的中心作为新实例重新定义距离度量方式等操作均能有效促进成员间异质化发展。 ##### 输出表示修改 当面对多标签或多类别场景时,可考虑转换目标变量编码形式以期达到更好的区分效果。如one-vs-all(one-versus-rest, OvR)、error-correcting output codes (ECOCs)等方式均可尝试应用于此目的之上。 ##### 算法参数调制 适当调节构成要素内部机制相关超参设定同样不失为一种可行方案。像AdaBoost里边权重更新规则里的α系数大小控制着后续弱分类器对先前犯错之处的关注力度进而间接作用于最终组合体特性塑造之中[^1]。 ```python from sklearn.ensemble import AdaBoostClassifier clf = AdaBoostClassifier(n_estimators=50, learning_rate=1) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值