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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 15、数据分析--集成学习(二) -> 正文阅读

[人工智能]15、数据分析--集成学习(二)

Boosting集成算法(实现的方式有很多)

? Boosting(就像流水线一样的工作形式)通过串行地构造多个个体分类器,然后以一定的方式将他们组合 成一个强学习器

每个个体学习器训练数据集后都把总结给到强学习器和下一个个体学习器

? Boosting在集成学习领域是非常耀眼的一类方法,其中又以AdaBoost和GBDT最为突出

? AdaBoost是Adaptive Boosting的简称,在人脸识别(在深度学习成型前用Adaboost最多)和处理不均匀数据相关领域得到广泛引用;

? GBDT 更是被称为最强学习器,在各类数据竞赛中得到追捧(因精度特别高)。这两类方法都是集成模型,其构造方 法是通过构造多个弱分类器来组成一个强分类器,且他们同属于Boosting框架

Adaboost(通过调整权重来进行算法梳理)和GBDT(精度最高的)之间的区别

? 比如对容易预测错误的进行加权,容易预测正确的可以进行减权

? AdaBoost“”“不属于梯度提升方法”“”(Gradient Boosting),即它在构造集成模型的时候没有用到梯 度下降的思想,而是用的 Forward Stagewise Additive Modeling (分步前向加性模型, FSAM)。

? 基于Gradient Boosting算法的学习器被称为Gradient Boosting Machine(GBM),如果说 AdaBoost是boosting方法的开山之作,那么GBM就是boosting方法的集大成者。

Adaboost算法

? 定义

? Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些 弱分类器集合起来,构成一个更强的“”“最终分类器(针对分类的)”“”(强分类器)。

? 介绍

? AdaBoost,是“Adaptive Boosting”(自适应增强)的缩写,是一种机器学习方法,由Yoav Freund 和Robert Schapire于1995年提出。

? 思想

? 前面的模型对训练集预测后,在每个样本上都会产生一个不同损失,AdaBoost会为每个样本更新权重, 分类错误的样本要提高权重,分类正确的样本要降低权重,下一个学习器会更加“关注”权重大的样本; 每一次得到一个模型后,根据模型在该轮数据上的表现给当前模型设置一个权重,表现好的权重大,最终 带权叠加得到最终集成模型。

只要模型超过50%的准确率,都是属于可信的模型

Adaboost分类解析:

? 初始化(第一次,即在第一个个体学习器中)样本集的权重值都是相同的

? 计算分类误差率(AdaBoost最基础的核心):分类错误样本的权重和(为0表示模型优,为1表示模型差)

? 弱学习器的系数(弱学习器的可信度):弱学习器针对强学习器处理得到的结果(越优数值越大,达到正无穷)

? 更新训练集中样本的权重:归一化,让下一次迭代更新的结果的权重值的加和结果也是为1(把针对强学习器处理得到的结果进行权重更新又可以让权重和为1了, 分类错误的样本要提高权重,分类正确的样本要降低权重)

? 最终学习器得到的数进行sign,得到+1或-1

? 迭代(迭代表示从第一个模型开始训练多少个新的模型)多轮以后,分类误差率为0结束迭代,得到最终的强分类器

Adaboost回归解析:

? Adaboost不仅能做分类算法,还能做回归算法

? 回归误差率:受误差平方影响,范围在0~1(越接近0效果越好,越接近1效果越差)

? 更新训练集中样本的权重:误差小的降低权重,误差大的增加权重

? 最终学习器:先对弱学习器进行加权,取中位数,再组成最终模型

AdaBoost总结

? 优点:

		可以使用各种回归分类模型来构建弱学习器,非常灵活

? Sklearn中对AdaBoost的实现是从“”带权学习“”视角出发的,思想朴素,易于理解

? 控制迭代次数可以一定程度防止发生过拟合

? 缺点:

? 对异常样本敏感,异常样本在迭代中可能会获得较高的权重(错误性的不断过度加大由于异常样本引起),影响最终预测准确性。

? AdaBoost属于boosting思想,他是1995年由Freund等人提出

? 提升树:

? AdaBoost思想结合决策树的基学习器,就得到提升树模型。提升树做分类时,基学习器选CART分类树; 回归时选CART回归树

? 两个视角:

? 带权学习视角、前向分布学习视角

? 前向分步学习的说明:

? 在前向分步学习视角下,当提升树的损失函数是平方损失和指数损失时,优化是简单的,但对一般损失函 数而言优化难度大,即没有通用的求解方案

? 因此2001年,Friedman提出了一个通用方案——梯度提升,起名为GBDT

GBDT算法(轻量级的梯度提升模型,最强学习器):迭代决策树(每科树之间都是产生了关联的)

? 产生的原因:为了解决AdaBoost难优化损失函数的困难,通过精雕细琢把每次没有把握的数据集放到下一轮迭代中去进行更新权重的操作,直到最后全部排除出来。(每个分类器在上一轮分类器的残差基础上进行训练)

? GBDT全称Gradient Boosting Decison Tree,同为Boosting家族的一员,它和Adaboost有很大 的不同。Adaboost 是利用前一轮弱学习器的误差率来更新训练集的权重,这样一轮轮的迭代下去, 简单的说是Boosting框架+任意基学习器算法+指数损失函数。

? GBDT通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训 练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差的。因为训练的过程是通过降低偏 差来不断提高最终分类器的精度

? GBDT由三部分构成:DT(Regression Decistion Tree)、GB(Gradient Boosting)和Shrinkage(衰 减)

? 由多棵决策树组成,所有树的结果累加起来就是最终结果

迭代决策树和随机森林的区别:

? 随机森林使用抽取不同的样本构建不同的子树,也就是说第m棵树的构建和前m-1棵树的结果是没有关系

? 迭代决策树在构建子树的时候,使用之前子树构建结果后形成的残差作为输入数据构建下一个子树;然后 最终预测的时候按照子树构建的顺序进行预测,并将“”预测结果相加“”

? 回归树(Regression Decistion Tree, DT):

GBDT的核心在于累加所有树的结果作为最终结果,所 以GBDT中的树都是回归树(处理分类问题的时候也是用回归树的,使用softmax进行转换就可以用回归树来处理分类问题了),而不是分类树。

? 注:GBDT实质上是一个回归算法,不过可以稍微的进行转换后就可以解决分类问题。在分类问题 中,假设有k个类别,那么每一轮实质上是构建了k棵树,对于某个样本x的会产生k个输出值,然后 将这些输出值使用softmax来产生属于c类别的概率值,选择概率最大的最为最终的预测值

?

? 衰减(Shrinkage):每次走一小步逐渐逼近结果的效果,要比每次迈一大步很快逼近结果的方式更 容易避免过拟合。即模型不完全信任每一个残差树,认为每颗树只“学习”到一部分预测信息,所 以在累加的时候只累加一小部分,通过多棵树的迭代就可以弥补不足

? 算法解析:

? 给定输入向量X和输出变量Y组成的若干训练样本(X1,Y1),(X2,Y2),…,(Xn,Yn) ,目标是找到近似函数 F ,使损失函数最小

? 损失函数使用最小二乘损失函数,最优值为残差

? 以贪心算法的思想扩展得到Fm(X),求解最优f,用上一次的预测加这次的结果

?

? 以贪心法在每次选择最优基函数f时仍然困难,使用梯度下降的方法近似计算

? 给定常数函数F0(X)

? 根据梯度下降计算“导数(残差)”值

? 使用数据 (, )(i=1……n )计算拟合残差找到一个CART回归树,得到第m棵树(leaf是针对每个叶节点来计算损失值):计算每个叶节点的损失值之和

? 更新模型:上一步与此步残差值的求和操作,最终得到的是第一次计算出来的数值加上每一个模型计算出来的数值对比每一个叶节点的损失值来进行的加和

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:28:06  更:2021-07-13 17:28:39 
 
开发: 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 21:29:09-

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