连载|如何通俗理解AdaBoost

简介: 连载|如何通俗理解AdaBoost

AdaBoost

基本思想

对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易的多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布,针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。


对于提升方法来说,有两个问题需要回答:一是在每一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。关于第一个问题,Adaboost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样,那些没有得到正确分类的数据,由于其权值加大而受到后一轮的弱分类器的更大关注;对于第二个问题,Adaboost采取了加权多数表决的方法,具体的做法是加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,见效分类误差率大的弱分类器的权值,使其在表决中起较小的作用。


Adaboost算法

假设给定一个二分类的训练数据集:

image.png

image.png

image.png

我们用一张图来展示一下最终分类器的形式:

109.jpeg

数学原理


上面我们了解了adaboost算法的工作流程,本节再让我们来解释一下上文中的一些数学原理。


系数α m 的设定


image.png


损失函数的设定


我们了解了系数的设定,但是系数中用到了一个损失函数,那么对于这个损失函数我们为什么这样定义呢?

若损失函数达到最小时,G(x)可以达到最佳分类效果,我们就可以解释损失函数为什么要这样去定义了。

我们先将损失函数重写为分布的形式:

image.png

Adaboost例子

这里拿李航博士《统计学习方法》中的例子来说明一下:

我们有下表所示的训练数据,假设弱分类器由x<v或x>v产生,其阈值v使该分类器在训练数据集上分类误差率最低,我们尝试使用Adaboost来学习一个强分类器。

image.png

初始化数据权值分布:

image.png

(a)在权值分布为D1的训练数据上,阈值v取2.5时分类误差率最低,此时的基本分类器为:

image.png

(b)image.png在训练数据集上的误差率image.png

image.png

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


image.pngimage.png

image.pngimage.png



相关文章
|
5月前
|
算法 Python
决策树算法详细介绍原理和实现
决策树算法详细介绍原理和实现
|
6月前
|
自然语言处理 算法 程序员
程序员必知:一文搞懂HMM(隐马尔可夫模型)
程序员必知:一文搞懂HMM(隐马尔可夫模型)
29 0
|
机器学习/深度学习 算法 数据可视化
决策树算法的原理是什么样的?
决策树算法的原理是什么样的?
228 0
决策树算法的原理是什么样的?
|
机器学习/深度学习 数据采集 人工智能
基于sklearn随机森林算法探究肥胖的成因(二)
基于sklearn随机森林算法探究肥胖的成因
718 0
基于sklearn随机森林算法探究肥胖的成因(二)
概率统计中最重要的概念:概率统计与马尔可夫链的理解
概率统计中最重要的概念:概率统计与马尔可夫链的理解
222 0
概率统计中最重要的概念:概率统计与马尔可夫链的理解
|
机器学习/深度学习 人工智能 算法
通俗讲解强化学习!
强化学习这个概念是2017年Alpha Go战胜了当时世界排名第一的柯洁而被大众知道,后面随着强化学习在各大游戏比如王者荣耀中被应用,而被越来越多人熟知。王者荣耀AI团队,甚至在顶级期刊AAAI上发表过强化学习在王者荣耀中应用的论文。那么强化学习到底是什么,如何应用?下面和大家分享我对强化学习的整个过程,以及强化学习目前在工业界是如何应用的,欢迎沟通交流。
|
机器学习/深度学习 数据采集 Python
逻辑回归——一文带你搞懂逻辑回归原理
逻辑回归——一文带你搞懂逻辑回归原理
逻辑回归——一文带你搞懂逻辑回归原理
|
机器学习/深度学习 算法 前端开发
通俗解释随机森林算法
通俗解释随机森林算法
382 0
通俗解释随机森林算法
|
机器学习/深度学习 C# 算法
带你读《C#神经网络编程》之三:决策树和随机森林
本书旨在为C#程序员使用神经网络、CNTK等C#库和TensorFlowSharp解决复杂的计算问题时,提供实践指导。本书从神经网络入门知识开始,详细介绍如何使用Encog、Aforge和Accord搭建一个神经网络,帮助你深入理解神经网络相关概念和技术,例如深度网络、感知器、优化算法、卷积网络和自动解码器。此外,还详细讲解如何向.NET应用程序中添加智能特性,例如面部和运动检测、对象检测和标注、语言理解、知识和智能搜索。
|
人工智能 数据挖掘 机器学习/深度学习
详解谱聚类原理
一. 拉普拉斯矩阵性质 二.拉普拉斯矩阵与图分割的联系 三.Ratiocut 四.总结 一.拉普拉斯矩阵性质 这篇文章可能会有些枯燥,着重分享了谱聚类的原理中的一些思想,以及自己本人对谱聚类的一些理解。
1013 0