机器学习强基计划10-1:为什么需要集成学习?核心原理是什么?

news/2024/10/17 16:30:56/

目录

  • 0 写在前面
  • 1 集成学习概念与优势
  • 2 结合策略梳理
    • 2.1 加权平均法
    • 2.2 投票法
    • 2.3 学习法
  • 3 误差-分歧分解

0 写在前面

机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。强基计划实现从理论到实践的全面覆盖,由本人亲自从底层编写、测试与文章配套的各个经典算法,不依赖于现有库,可以大大加深对算法的理解。

🚀详情:机器学习强基计划(附几十种经典模型源码)


1 集成学习概念与优势

集成学习(ensemble learning)并非一种机器学习算法,而是一种通过结合多个学习器来获得比单一学习器显著优越泛化性能的算法框架。集成学习的基本概念整理如下,可以收藏一下~

在这里插入图片描述

集成学习的算法框架如图所示

在这里插入图片描述
那么为什么需要集成学习呢?是因为相比个体学习器,集成学习具有特别的优势:

  • 统计意义:学习任务的假设空间往往很大,若使用单学习器可能因误选而导致泛化性能不佳,结合多个学习器会减小这一风险;
  • 计算意义:学习算法往往会陷入局部极小值——有的局部陷阱对应的泛化性能可能很糟糕, 结合多个学习器可降低陷入局部陷阱的风险;
  • 表示意义:某些学习任务的真实假设可能不在当前学习算法的假设空间中,结合多个学习器扩大总体假设空间,有可能学得更好的近似。

在这里插入图片描述

2 结合策略梳理

在结合策略中,设集成包含 T T T个个体学习器 { h 1 , h 2 , ⋯ , h T } \left\{ h_1,h_2,\cdots ,h_T \right\} {h1,h2,,hT} H H H是结合 T T T个个体学习器后的集成模型

2.1 加权平均法

加权平均法(weighted averaging)表示如下

H ( x ) = ∑ i = 1 T w i h i ( x ) , ( w i ⩾ 0 且 ∑ i = 1 T w i = 1 ) H\left( \boldsymbol{x} \right) =\sum_{i=1}^T{w_ih_i\left( \boldsymbol{x} \right)}, \left( w_i\geqslant 0\text{且}\sum\nolimits_{i=1}^T{w_i}=1 \right) H(x)=i=1Twihi(x),(wi0i=1Twi=1)

其中 w i w_i wi为个体学习器 h i h_i hi的权重,权重一般由训练数据中学习得到,例如估计出个体学习器的误差,然后令权重大小与误差大小成反比。特别地,当 w i = 1 / T w_i={{1}/{T}} wi=1/T时,加权平均法退化为简单平均法(simple averaging)。一般而言,在个体学习器性能相差较大时宜使用加权平均法,而在个体学习器性能相近时宜使用简单平均法。平均法策略常用于回归任务。

2.2 投票法

投票法(voting)策略常用于分类任务。设类别集合为 { c 1 , c 2 , ⋯ , c N } \left\{ c_1,c_2,\cdots ,c_N \right\} {c1,c2,,cN},则个体学习器 h i h_i hi在样本 x \boldsymbol{x} x上的输出是一个 N N N维向量 [ h i 1 ( x ) h i 2 ( x ) ⋯ h i N ( x ) ] T \left[ \begin{matrix} h_{i}^{1}\left( \boldsymbol{x} \right)& h_{i}^{2}\left( \boldsymbol{x} \right)& \cdots& h_{i}^{N}\left( \boldsymbol{x} \right)\\\end{matrix} \right] ^T [hi1(x)hi2(x)hiN(x)]T,其中 h i j h_{i}^{j} hij表示 h i h_i hi在类标记 c j c_j cj上的输出。绝对多数投票法(majority voting)核心原理是若某标记得票过半数则预测为该标记,否则拒绝预测

H ( x ) = { c j , i f ∑ i = 1 T h i j ( x ) > 1 2 ∑ k = 1 N ∑ i = 1 T h i k ( x ) r e j e c t , o t h e r w i s e H\left( \boldsymbol{x} \right) =\begin{cases} c_j, \mathrm{if} \sum_{i=1}^T{h_{i}^{j}\left( \boldsymbol{x} \right)}>\frac{1}{2}\sum_{k=1}^N{\sum_{i=1}^T{h_{i}^{k}\left( \boldsymbol{x} \right)}}\\ \mathrm{reject}, \mathrm{otherwise}\\\end{cases} H(x)={cj,ifi=1Thij(x)>21k=1Ni=1Thik(x)reject,otherwise

相对多数投票法(plurality voting)核心原理是得票最多的标记即为预测,若同时有多个最高票,则随机选择一个输出

H ( x ) = c a r g max ⁡ j ∑ i = 1 T h i j ( x ) H\left( \boldsymbol{x} \right) =c_{\mathrm{arg}\max _j\sum\nolimits_{i=1}^T{h_{i}^{j}\left( \boldsymbol{x} \right)}} H(x)=cargmaxji=1Thij(x)

加权投票法(weighted voting)则是在相对多数投票法基础上考虑了个体学习器的权重

H ( x ) = c a r g max ⁡ j ∑ i = 1 T w i h i j ( x ) H\left( \boldsymbol{x} \right) =c_{\mathrm{arg}\max _j\sum\nolimits_{i=1}^T{w_ih_{i}^{j}\left( \boldsymbol{x} \right)}} H(x)=cargmaxji=1Twihij(x)

绝对多数投票法提供了拒绝预测选项,这在可靠性要求较高的学习任务中是一个很好的机制。但若要求必须提供预测结果,则不能采用绝对多数投票法。

根据 h i j h_{i}^{j} hij的取值类型分为两种情形

  • h i j ∈ { 0 , 1 } h_{i}^{j}\in \left\{ 0,1 \right\} hij{0,1}时,称为硬投票(hard voting)
  • h i j ∈ [ 0 , 1 ] h_{i}^{j}\in \left[ 0,1 \right] hij[0,1]时可视为后验概率 ,称为软投票(soft voting)

在软投票中,对能在预测出类别的同时产生分类置信度的学习器(如贝叶斯分类),其分类置信度可直接转化为投票概率。若不存在概率语义(如支持向量机分类间隔),则必须校准后才能作为投票概率。值得注意的是,在异质集成中,不同个体学习器的输出投票概率没有可比性,此时需要根据后验概率将软投票转换成硬投票处理。

2.3 学习法

学习法的核心原理是构造一个元学习器,建立个体学习器 { h 1 , h 2 , ⋯ , h T } \left\{ h_1,h_2,\cdots ,h_T \right\} {h1,h2,,hT}预测输出到集成输出的映射

f : [ h 1 ( x ) h 2 ( x ) ⋯ h T ( x ) ] T ↦ H ( x ) f:\left[ \begin{matrix} h_{1}^{}\left( \boldsymbol{x} \right)& h_{2}^{}\left( \boldsymbol{x} \right)& \cdots& h_{T}^{}\left( \boldsymbol{x} \right)\\\end{matrix} \right] ^T\mapsto H\left( \boldsymbol{x} \right) f:[h1(x)h2(x)hT(x)]TH(x)

这类结合策略的典型是Stacking算法,算法流程如表所示。

在这里插入图片描述

3 误差-分歧分解

误差-分歧分解是分析集成学习对个体学习器性能要求的工具,假设结合策略采用加权平均法

定义个体学习器的分歧(ambiguity) A ( h i ∣ x ) = ( h i ( x ) − H ( x ) ) 2 A\left( h_i|\boldsymbol{x} \right) =\left( h_i\left( \boldsymbol{x} \right) -H\left( \boldsymbol{x} \right) \right) ^2 A(hix)=(hi(x)H(x))2,则集成学习的分歧

A ˉ ( h ∣ x ) = ∑ i = 1 T w i A ( h i ∣ x ) = ∑ i = 1 T w i h i 2 ( x ) − H 2 ( x ) \begin{aligned}\bar{A}\left( h|\boldsymbol{x} \right) &=\sum_{i=1}^T{w_iA\left( h_i|\boldsymbol{x} \right)}\,\, \\ &=\sum_{i=1}^T{w_ih_{i}^{2}\left( \boldsymbol{x} \right)}-H^2\left( \boldsymbol{x} \right)\end{aligned} Aˉ(hx)=i=1TwiA(hix)=i=1Twihi2(x)H2(x)

表征了个体学习器间在样本 x \boldsymbol{x} x上的不一致性——也一定程度上反应了个体学习器的多样性。设真实模型为 f f f,则个体学习器 h i h_i hi与集成模型 H H H的偏差为

{ E ( h i ∣ x ) = ( f ( x ) − h i ( x ) ) 2 , i = 1 , 2 , ⋯ , T E ( H ∣ x ) = ( f ( x ) − H ( x ) ) 2 \begin{cases} E\left( h_i|\boldsymbol{x} \right) =\left( f\left( \boldsymbol{x} \right) -h_i\left( \boldsymbol{x} \right) \right) ^2, i=1,2,\cdots ,T\\ E\left( H|\boldsymbol{x} \right) =\left( f\left( \boldsymbol{x} \right) -H\left( \boldsymbol{x} \right) \right) ^2\\\end{cases} {E(hix)=(f(x)hi(x))2,i=1,2,,TE(Hx)=(f(x)H(x))2

设个体学习器的加权偏差为 E ˉ ( h ∣ x ) = ∑ i = 1 T w i E ( h i ∣ x ) \bar{E}\left( h|\boldsymbol{x} \right) =\sum\nolimits_{i=1}^T{w_iE\left( h_i|\boldsymbol{x} \right)} Eˉ(hx)=i=1TwiE(hix),则有 A ˉ ( h ∣ x ) = E ˉ ( h ∣ x ) − E ( H ∣ x ) \bar{A}\left( h|\boldsymbol{x} \right) =\bar{E}\left( h|\boldsymbol{x} \right) -E\left( H|\boldsymbol{x} \right) Aˉ(hx)=Eˉ(hx)E(Hx) ∀ x \forall \boldsymbol{x} x都成立,设 x p ( x ) \boldsymbol{x}~p\left( \boldsymbol{x} \right) x p(x),在样本空间有

∫ A ˉ ( h ∣ x ) p ( x ) d x = ∫ E ˉ ( h ∣ x ) p ( x ) d x − ∫ E ( H ∣ x ) p ( x ) d x ⇒ ∑ i = 1 T w i ∫ A ( h i ∣ x ) p ( x ) d x = ∑ i = 1 T w i ∫ E ( h i ∣ x ) p ( x ) d x − ∫ E ( H ∣ x ) p ( x ) d x \int{\bar{A}\left( h|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}=\int{\bar{E}\left( h|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}-\int{E\left( H|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}\\\Rightarrow \sum_{i=1}^T{w_i\int{A\left( h_i|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}}=\sum_{i=1}^T{w_i\int{E\left( h_i|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}}-\int{E\left( H|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}} Aˉ(hx)p(x)dx=Eˉ(hx)p(x)dxE(Hx)p(x)dxi=1TwiA(hix)p(x)dx=i=1TwiE(hix)p(x)dxE(Hx)p(x)dx

令个体学习器 h i h_i hi在全样本空间的泛化误差、分歧,以及集成模型的泛化误差为

{ E i = ∫ E ( h i ∣ x ) p ( x ) d x A i = ∫ A ( h i ∣ x ) p ( x ) d x E = ∫ E ( H ∣ x ) p ( x ) d x \begin{cases} E_i=\int{E\left( h_i|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}\\ A_i=\int{A\left( h_i|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}\\ E=\int{E\left( H|\boldsymbol{x} \right) p\left( \boldsymbol{x} \right) \mathrm{d}\boldsymbol{x}}\\\end{cases} Ei=E(hix)p(x)dxAi=A(hix)p(x)dxE=E(Hx)p(x)dx

则误差-分歧分解为

E = E ˉ − A ˉ {E=\bar{E}-\bar{A}} E=EˉAˉ

其中 E ˉ = ∑ i = 1 T w i E i \bar{E}=\sum\nolimits_{i=1}^T{w_iE_i} Eˉ=i=1TwiEi表示个体学习器泛化误差的加权均值, A ˉ = ∑ i = 1 T w i A i \bar{A}=\sum\nolimits_{i=1}^T{w_iA_i} Aˉ=i=1TwiAi表示个体学习器分歧的加权均值。

误差-分歧分解表明个体学习器性能越好、多样性越大,则集成模型总体的泛化误差 越小。因此,集成学习要求个体学习器满足“好而不同”


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

http://www.ppmy.cn/news/69850.html

相关文章

计算机图形学-GAMES101-8

引言 着色是针对某一个点(片段)的应用,这里需要考虑着色的频率。  漫反射项代表光向四面八方均匀的反射出去,和观察方向无关。  Blinn-Phong反射模型结构如下: ) 一、Blinn-Phong模型 (1)Specular 什么时候才能看到…

VOSviewer安装、环境配置及中英文文献的分析

VOSviewer介绍: VOSviewer是一个用于构建和可视化文献计量网络的软件工具。例如,这些网络可能包括期刊、研究人员或单个出版物,它们可以基于引文、书目耦合、共同引用或共同作者关系构建。VOSviewer 还提供文本挖掘功能,可用于构…

【夜莺(Flashcat)V6监控】3.链路追踪

链路追踪 介绍 链路追踪是分布式系统下的一个概念,它的目的就是要解决上面所提出的问题,也就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如,各个服务节点上的耗时、请求具体到达哪台机…

Yarn安装及配置一件启停

Yarn安装及配置一件启停 数据、程序、运算资源(内存、CPU)三者组在一起,才能完成数据的计算处理过程。在单机环境下,三者之间协调配合不是太大问题。为了应对海量数据的处理场景,Hadoop软件出现并提供了分布式处理思想。但是在分…

北华大学第九届程序设计竞赛 题解

5.14和队友VP一场,第二次VP,状态明显比第一次好很多,总共A了7题,基本是能做出来的都做出来了,最后还剩下接近2小时的时间。。。。。 A "北华"有几何 思路:数图片中“北华”的数量,直…

PHP学习教程大纲

以下是PHP学习教程的大纲: 第一部分:基础知识 PHP简介 什么是PHP? PHP的历史和发展 PHP的特点和优势 开发环境的搭建 安装PHP解释器 配置开发环境 第一个PHP程序 Hello World程序 程序的结构 编译和运行程序 数据类型和变量 基…

Linux权限

文章目录 一、Linux权限管理1、文件访问者的分类2、文件类型和访问权限(事物属性)3、文件权限值的表示方法4、目录文件的 r 、 w 、 x r、w、x r、w、x代表含义 二、文件访问权限的相关设置方法1、 c h m o d chmod chmod [参数] 权限 文件名2、 c h …

什么是点对点传输?什么是点对多传输

点对点技术(peer-to-peer, 简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P网络通常用于通过Ad Hoc连接来连接节点。这类网…