IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 集成学习之AdaBoost -> 正文阅读

[人工智能]集成学习之AdaBoost


前言

集成学习(Ensemble Learning)是利用多个学习器来实现学习任务的一种机器学习模型,集成学习目前已经涉及到各个领域,并有不错的学习效果。AdaBoost是集成学习与提升方法中的代表,本文将介绍AdaBoost的算法原理

一、AdaBoost基本思想

1.弱分类器和强分类器

弱分类器:比较粗糙的分类规则,分类的正确率仅比随机分类略好
强分类器:精确的分类规则,分类的正确率非常高

2.核心思想

提升方法的基本思想很简单,就是“三个臭皮匠顶一个诸葛亮”。因为求弱分类器比求强分类器要容易的多,从弱学习算法出发,得到一系列的弱分类器,然后将这些弱分类器组合起来构成一个强分类器,达到分类效果。
在这里插入图片描述
给定一个数据集,如图,按层进行学习(每条虚线上均为一层弱分类器)。对于每一层来说,数据集是不变的,改变的是权重w(i)(AdaBoost根据样本分类对错改变权重,也即前一层分类对的下一层没必要过多关注,在下一层所占权重变小,前一层分类错误的在下一层被重点关注,所占权重大)。每一层弱分类器学习完成后,根据分类误差率得到相应的权值(分类误差率小的占最后总表决权值大,分类误差率大的占最后总表决权小)。最终,将得到的所有弱分类器按权重线性组合输出。

二、算法实现

1. 引入数据集

假设给定一个二类分类的训练数据集T = {( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) x_1, y_1), (x_2, y_2),...,(x_N, y_N) x1?,y1?),(x2?,y2?),...,(xN?,yN?)},其中,每个样本点由实例和标签组成。实例 x i ∈ x_i \in xi? X ? \subseteq ? R n R^n Rn,标签 y i y_i yi? ∈ \in Y = {-1, +1},X是实例空间,Y是标签集合。

2. 输出最终分类器

2.1 初始化训练数据的权值

  • D 1 D_1 D1? = ( w 11 , . . . , w 1 i , . . . , w 1 N w_{11},...,w_{1i},...,w_{1N} w11?,...,w1i?,...,w1N?), w 1 i w_{1i} w1i? = 1 N \frac{1}{N} N1?,i = 1, 2, 3,…,N

2.2 对m = 1,2,…,M

(a) 使用具有权值分布 D m D_m Dm?的训练数据集学习,得到基本分类器 G m ( x ) G_m(x) Gm?(x):X → \rightarrow {-1, +1}

(b) 计算 G m ( x ) G_m(x) Gm?(x)在训练数据集上的分类误差率

  • e m e_m em? = ∑ i = 1 N P ( G m ( x i ) ≠ y i ) = ∑ i = 1 N w m i I ( G m ( x i ) ≠ y i ) \displaystyle\sum_{i=1}^{N} P(G_m(x_i) \neq y_i) = \displaystyle\sum_{i=1}^{N}w_{mi}I(G_m(x_i) \neq y_i) i=1N?P(Gm?(xi?)?=yi?)=i=1N?wmi?I(Gm?(xi?)?=yi?)

    其中,I 表示 G m ( x i ) ≠ y i G_m(x_i) \neq y_i Gm?(xi?)?=yi?的实例个数, e m e_m em? = ∑ i = 1 N P ( G m ( x i ) ≠ y i ) = ∑ G m ( x i ) ≠ y i w m i \displaystyle\sum_{i=1}^{N} P(G_m(x_i) \neq y_i) = \displaystyle\sum_{G_m(x_i) \neq y_i}w_{mi} i=1N?P(Gm?(xi?)?=yi?)=Gm?(xi?)?=yi??wmi? 这里, w m i w_{mi} wmi?表示第 m 轮中第 i 个实例的权值,所有的权值之和为1( ∑ i = 1 N w m i = 1 \displaystyle\sum_{i=1}^{N} w_{mi}= 1 i=1N?wmi?=1)。 G m ( x ) G_m(x) Gm?(x)在加权的训练数据集上的分类误差率是被 G m ( x ) G_m(x) Gm?(x)误分类样本的权值之和,所以数据权值分布 D m D_m Dm?在每一轮随基本分类器 G m ( x ) G_m(x) Gm?(x)分类误差率的改变而更新

(c)计算 G m ( x ) G_m(x) Gm?(x)系数

  • α m \alpha_m αm? = 1 2 l n 1 ? e m e m \frac{1}{2}ln\frac{1-e_m}{e_m} 21?lnem?1?em??

α m \alpha_m αm?是所有基本分类器在最终分类器中的权重, 由②可知,当 e m ≤ 1 2 e_m\le\frac{1}{2} em?21?时, α m ≥ 0 \alpha_m \geq 0 αm?0, e m ∈ ( 0 , 1 ) e_m \in (0, 1) em?(0,1),该函数为单减函数,所以分类误差率 e m e_m em?越小,最终所占权重 α m \alpha_m αm?就越大。

(d)更新训练数据集的权值分布

  • D m + 1 = ( w m + 1 , 1 , . . . , w m + 1 , i , . . . , w m + 1 , N ) D_{m+1} = (w_{m+1,1},...,w_{m+1,i},...,w_{m+1,N}) Dm+1?=(wm+1,1?,...,wm+1,i?,...,wm+1,N?)
  • w m + 1 , i = w m i Z m exp ? ( ? α m y i G m ( x i ) ) , i = 1 , 2 , . . . , N w_{m+1,i} = \frac{w_{mi}}{Z_m}\exp(-\alpha_my_iG_m(x_i)), i = 1,2,...,N wm+1,i?=Zm?wmi??exp(?αm?yi?Gm?(xi?)),i=1,2,...,N
    这里, Z m Z_m Zm?是规范化因子
  • Z m = ∑ i = 1 N w m i exp ? ( ? α m y i G m ( x i ) ) Z_m = \displaystyle\sum_{i=1}^{N} w_{mi}\exp(-\alpha_my_iG_m(x_i)) Zm?=i=1N?wmi?exp(?αm?yi?Gm?(xi?))
    它使 D m + 1 D_{m+1} Dm+1?成为一个概率分布。

上式④可以写为: w m + 1 , i = { w m i Z m e ? α m , G m ( x i ) = y i w m i Z m e α m , G m ( x i ) ≠ y i w_{m+1,i}= \begin{cases} \frac{w_{mi}}{Z_m}e^{-\alpha_m}, G_m(x_i) = y_i\\ \frac{w_{mi}}{Z_m}e^{\alpha_m}, G_m(x_i) \neq y_i \end{cases} wm+1,i?={Zm?wmi??e?αm?,Gm?(xi?)=yi?Zm?wmi??eαm?,Gm?(xi?)?=yi??
由此式可知,被弱分类器 G m ( x ) G_m(x) Gm?(x)误分类样本的权值得以扩大,而被正确分类样本的权值得以缩小。由下式比上上式可知,被误分类的样本放大了 e 2 α m = 1 ? e m e m e^{2\alpha_m} = \frac{1-e_m}{e_m} e2αm?=em?1?em??倍。因此,误分类的样本在下一轮将更多的被关注,而正确分类的在下一轮被关注更少。

2.3 构建基本分类器(弱分类器)的线性组合

  • f ( x ) = ∑ m = 1 M α m G m ( x i ) f(x) = \displaystyle\sum_{m=1}^{M} \alpha_mG_m(x_i) f(x)=m=1M?αm?Gm?(xi?)
    得到最终的分类器
  • G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M α m G m ( x ) ) G(x) = sign(f(x)) = sign(\displaystyle\sum_{m=1}^{M}\alpha_mG_m(x)) G(x)=sign(f(x))=sign(m=1M?αm?Gm?(x))

三、AdaBoost训练误差分析

AdaBoost最终分类器的训练误差

  • 1 N ∑ i = 1 N I ( G ( x i ) ≠ y i ) ≤ 1 N ∑ i exp ? ( ? y i f ( x i ) ) = ∏ m Z m \frac{1}{N}\displaystyle\sum_{i=1}^{N}I(G(x_i) \neq y_i) \le \frac{1}{N}\displaystyle\sum_{i}\exp(-y_if(x_i)) = \displaystyle\prod_{m}Z_m N1?i=1N?I(G(xi?)?=yi?)N1?i?exp(?yi?f(xi?))=m?Zm?

该定理说明,可以在每一轮选取适当的 G m G_m Gm?使得 Z m Z_m Zm?最小,从而使训练误差下降最快。

  • ∏ m Z m = ∏ m = 1 M [ 2 e m ( 1 ? e m ) ] = ∏ m = 1 M ( 1 ? 4 γ m 2 ) ≤ exp ? ( ? 2 ∑ m = 1 M γ m 2 ) \displaystyle\prod_{m}Z_m = \displaystyle\prod_{m=1}^{M}[2\sqrt{e_m(1-e_m)}] = \displaystyle\prod_{m=1}^{M}\sqrt{(1-4\gamma_m^{2})} \le \exp(-2\displaystyle\sum_{m=1}^{M}\gamma_m^{2}) m?Zm?=m=1M?[2em?(1?em?) ?]=m=1M?(1?4γm2?) ?exp(?2m=1M?γm2?),其中 γ m = 1 2 ? e m \gamma_m = \frac{1}{2} - e_m γm?=21??em?

推论,如果存在 γ m > 0 , 对 所 有 的 m 有 γ m ≥ γ \gamma_m > 0,对所有的 m 有\gamma_m \geq \gamma γm?>0mγm?γ,则

  • 1 N ∑ i = 1 N I ( G ( x i ) ≠ y i ) ≤ exp ? ( ? 2 M γ 2 ) \frac{1}{N}\displaystyle\sum_{i=1}^{N}I(G(x_i) \neq y_i) \le\exp(-2M\gamma^2) N1?i=1N?I(G(xi?)?=yi?)exp(?2Mγ2)

这个推论说明在此条件下,AdaBoost的训练误差以指数下降。

四、总结

AdaBoost具备非常典型的集成学习特点,将多个弱分类器按分类正确率得到不一样的权重,最后将所有的弱分类器按所得权重线性结合在一起,从而得到一个强分类器。

1. 优点

AdaBoost能够很巧妙的将多个弱分类器组合起来形成一个强分类器,而弱分类器可由不同的分类算法形成,并且AdaBoost精度很高。

2.缺点

AdaBoost缺点很明显,因为训练过程相当于黑盒,训练多少次能达到强分类器的效果我们不知道,所以训练次数难以确定。并且每一次都是训练完整个数据集,导致非常耗时。

参考文献

李航.统计学习方法(第二版) [M].北京:清华大学出版社,2019

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:26:17  更:2021-07-24 11:26:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:27:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码