机器学习——集成学习

一、个体与集成

集成学习通过构建并结合多个学习器来完成学习任务。

集成学习的一般结构:

先产生一组"个体学习器",再用某种策略将它们结合起来,个体学习器通常由一个现有的学习算法从训练数据产生。若集成中只包含同种类型的个体学习器,例如:"决策树集成"中全是决策树,"神经网络集成"中全是神经网络,则称这样的集成是同质的。

同质集成中的个体学习器也称为"基学习器",相应的学习算法称为"基学习算法"。

同时包含不同类型的个体学习器的集成是"异质"的,异质集成中的个体学习器由不同的学习算法生成,这时就不再有基学习算法;相应的,个体学习器一般不称为基学习器,常称为"组件学习器"。

二、集成个体应该"好而不同"

在一个二分类任务中,假定三个分类器在三个测试样本上的表现如上图所示,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法产生,即"少数服从多数"。图(a)中,每个分类器都只有66.6%的精度,但集成学习却达到了100%的精度;图(b)中,三个分类器的性能没有差别,集成之后性能也没有提高;图©中,每个分类器的精度都只有33.3%,集成学习的结果变得更差。

要获得好的集成,个体学习器应"好而不同" ,即个体学习器要有一定的"准确性",即学习器不能太差,并且要有"多样性",即学习器 间具有差异
事实上,个体学习器的"准确性"和"多样性"本身就存在冲突,一般的,各个学习器准确性很高之后,学习器之间存在很大的相似性,要增加多样性就需要牺牲准确性。

根据个体学习器的生成方式,目前的集成学习方法大致可分为两个大类。
个体学习器间存在强依赖关系,必须串行生成的序列化方法 { A d a B o o s t G r a d i e n t B o o s t L P B o o s t ⋯ } B o o s t i n g 族 个体学习器间存在强依赖关系,必须串行生成的序列化方法 \left. \begin{cases} AdaBoost \\ GradientBoost\\ LPBoost\\ \cdots \end{cases} \right\} Boosting族 个体学习器间存在强依赖关系,必须串行生成的序列化方法⎩ ⎨ ⎧AdaBoostGradientBoostLPBoost⋯⎭ ⎬ ⎫Boosting族
个体学习器间不存在强依赖关系,可同时生成的并行化方法 { B a g g i n g 随机森林 R a n d o m F o r e s t R a n d o m s u b s p a c e ⋯ 个体学习器间不存在强依赖关系,可同时生成的并行化方法 \begin{cases} Bagging \\ 随机森林 Random&Forest\\ Random&subspace\\ \cdots \end{cases} 个体学习器间不存在强依赖关系,可同时生成的并行化方法⎩ ⎨ ⎧Bagging随机森林RandomRandom⋯Forestsubspace

三、Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。

工作机制:

先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续收到更多的关注,然后基于调整后的训练样本分布来训练下一个基学习器,如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行 加权结合。

Boosting算法要求基学习器能对特定的数据分布进行学习,可通过"重赋权法"实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重,对无法接受带权样本的基学习算法,则可通过"重采样法"来处理,即在每一轮学习中,根据样本分布对训练集重新进行采样,再用重采样得到的样本集对基学习器进行训练。

Boosting主要关注降低偏差。

四、Bagging

Bagging是并行式集成学习算法,主要是基于"自助采样法"。

给定包含m个样本的数据集,先随机取出一个放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样,经过m个随机操作,得到包含m个样本的采样集,初始训练集中约有63.2%的样本出现在采样集中。

相关推荐
Christo316 小时前
TFS-1996《The Possibilistic C-Means Algorithm: Insights and Recommendations》
人工智能·算法·机器学习
蒋星熠18 小时前
Spring Boot 3.x 微服务架构实战指南
人工智能·spring boot·微服务·性能优化·架构·云计算·量子计算
地平线开发者19 小时前
理想汽车智驾方案介绍专题 3 MoE+Sparse Attention 高效结构解析
人工智能·算法·自动驾驶
lypzcgf19 小时前
Coze源码分析-工作空间-项目开发-前端源码
前端·人工智能·typescript·系统架构·开源软件·react·安全架构
飞哥数智坊1 天前
实测阿里 Qoder,但我还是失望了
人工智能·ai编程
飞凌嵌入式1 天前
当门禁系统遇上边缘计算,RK3568核心板如何带来智能化变革
人工智能·嵌入式硬件·嵌入式·边缘计算·飞凌嵌入式
霍格沃兹软件测试开发1 天前
Dify平台:Agent开发初学者指南
大数据·人工智能·深度学习
过往入尘土1 天前
搭建卷积神经网络
深度学习·机器学习·cnn
IAM四十二1 天前
基于 Embedding 的本地图像搜索
人工智能·llm·openai
说私域1 天前
数字经济时代企业营销转型:基于定制开发开源AI智能名片S2B2C商城小程序的探索
人工智能·小程序