| |
|
开发:
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、随机森林) |
什么是集成学习如现在你要买一台电脑,相信你大概率不会只听销售员的介绍,就下单的,你可能会询问一下身边的朋友,或是上网查阅有关电脑的品牌、配置、价格等问题。简单说,就是不会单一的做出决定,而是或经过都方面的意见与建议。
如何得到多个个体学习器1、同质个体学习器:所有的个体学习器都是一个种类的,或者说是同质的。比如都是决策树个体学习器,或者都是神经网络个体学习器。 目前来说,同质个体学习器的应用是最广泛的,一般我们常说的集成学习的方法都是指的同质个体学习器。而同质个体学习器使用最多的模型是 CART 决策树和神经网络。 同质个体学习器按照个体学习器之间是否存在依赖关系可以分为两类: 集成学习常用算法目前的集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是 Boosting ,后者的代表是 Bagging 和随机森林 (Random Forest)。(注意 Bagging并行式集成学习方法中最著名的代表,它是基于自助采样法进行模型训练和模型评估的方法。基本思想为在分类问题中,将若干个弱分类器的分类结果进行投票选择,从而组成一个强分类器。 自助采样通过一次自助采样,对于包含 m 个样本的原始数据集,我们可以得到包含 m 个样本的训练集,训练集与原始数据集大小一致。这样做有什么好处呢? 学习器结合对学习好的 T 个基学习器进行结合,其实就是对预测输出进行结合,在分类任务中,Bagging 使用简单投票法,在回归任务中使用简单平均法。如果在分类预测时出现两个类获得的票数相同,那么可以随机地二选一,或者进一步考察基学习器投票的置信度来确定。 包外估计通过自助采样得到的训练集,对其去重后得到的样本量约为原始数据集的 63.2% ,那么剩下约 36.8% 的样本正好可以用来作为验证集,评估模型的泛化误差,这种评估方法就叫做包外估计。 好,理解以上这三点,差不多也就理解了 Bagging 的思想。再补充以下几点: 二是与标准的 AdaBoost 只适用于二分类任务不同,Bagging 可以不经调整就用于多分类和回归任务。 三是从偏差-方差分解的角度来看,与 GBDT 关注于降低偏差不同,Bagging 主要关注降低方差,因此在不剪枝决策树、神经网络等容易受到样本扰动的学习器上效果更明显。 随机森林这以决策树为基学习器的 Bagging 集成算法,是Bagging 集成算法中性能最强的。要理解随机森林,就要从它的名称入手,拆成“随机”和“森林”两个词,分别来理解。 首先森林两个字是非常好理解的,随机森林的基学习器是决策树,成百上千棵决策树就构成了一个森林,这是一种形象的说法。学习到多棵决策树之后,再按照上面所写的 Bagging 中基学习器的结合方法,就可以得到分类或回归的最终预测结果。 再来理解随机二字。随机森林中运用了两个“随机”,一是样本随机,也就是一般的 Bagging 集成中通过自助采样所得到的效果,也叫做样本扰动,这体现了随机森林继承性的一面。二是特征随机,也叫属性扰动,体现了随机森林创新的一面。假设训练数据集中的样本有 d 个属性(特征),构成一个属性集合,那么随机森林在构建一棵决策树的过程中,在每一个结点上选择属性进行分裂时,都先从属性集合中随机选择一个包含 k 个属性的属性子集( k<d ),再从这个子集中选择一个最优属性进行分裂。回想一下传统的决策树构建过程,在每一个结点上都是从完整的属性集合(包含 d 个属性)中,选择最佳的属性进行分裂。一般情况下,推荐 k 的值取。 所以随机森林中每棵树生成的规则是: 1、对于包含 m 个样本的原始数据集,通过自助采样得到同样包含 m 个样本的训练集; 随机森林只是对 Bagging 做了一个小改动,与一般 Bagging 集成中基学习器的“多样性”仅来自于样本扰动不同,随机森林再加入了属性扰动的机制。 其实从直观角度来解释,每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N 棵树会有 N 个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别,指定为最终的输出,这就是一种最简单的 Bagging 思想。集成学习通过建立几个模型的组合,来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。 1)从样本集中有放回随机采样选出 n 个样本; AdaboostAdaboost 是属于机器学习里面的监督学习,是一个二分类模型。它是一种迭代算法,其核心思想是针对同一个训练集,训练不同的分类器(弱分类器) ,然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。 BoostingBoosting 基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。 与 bagging 不同,boosting 采用的是一个串行训练的方法。首先,它训练出一个弱分类器,然后在此基础上,再训练出一个稍好点的弱分类器,以此类推,不断的训练出多个弱分类器,最终再将这些分类器相结合,这就是 boosting 的基本思想。 Adaboost算法原理对提升方法来说,有两个问题需要回答:一是在每一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。 注意Bagging + 决策树 = 随机森林 来源:头歌 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 3:39:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |