机器学习-集成学习(ensemble learning)

机器学习(5)——集成学习(Ensemble Learning) 本文主要是对监督学习进行相应的总结,概述出相应的内容。 阅读详情

集成学习ensemble learning:本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。
可以用两句话形容:
1、“三个臭皮匠顶个诸葛亮”:一堆弱分类器的组合可以成为一个强分类器;
2、“知错能改,善莫大焉”:不断在错误中学习,迭代来降低放错概率。

投票分类器VotingClassifier:结合多个不同的机器学习分类器,使用多数票(hard)或者平均预测概率(soft)来预测数据标签,可以平衡各个模型的弱点。

一、集成学习概述

1、训练若干个个体学习器(弱学习器)
弱学习器可以是同质或异质的:
同质:boosting系列算法(一系列个体学习器存在强依赖关系,需要串行生成)
例如Ada(adaptive) Boosting算法 以及 提升树Boosting系列算法,Gradient Boosting。
在这里插入图片描述

异质:bagging和随机森林(Random Forest)(个体学习器间不存在强依赖关系,一系列个体学习器可以并行生成)。
在这里插入图片描述

区别bagging和boosting:
在bagging方法中,特点在于随机化抽样,通过反复的抽样训练新的模型,最终在这些模型的基础上取平均。
boosting的核心思想在于,对多个模型的预测结果做加权平均则是将多个弱学习模型提升为强学习模型,在此过程中权重在不断更新。

2、一定的结合策略
在对个体学习器进行训练后,需要一种结合策略,将其形成一个强学习器。
1)平均法:对若干个弱学习器的输出进行平均(算术平均和加权平均等)得到最终的预测输出,常用于数值类的回归预测问题。
2)投票法:相对多数投票法(少数服从多数)、绝对多数投票法(过半数票)以及加权投票法,常用于分类问题预测。
3)学习法:
为了解决上述两种方法学习误差较大的问题,采用学习法,代表方法时stacking。
当使用stacking的结合策略时,会再加上一层学习器,此时弱学习器为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。

3、形成强学习器

二、AdaBoosting以及GBDT(Gradient Boosting Decision Tree)

这两种算法是基于Boosting思想的著名算法,Boosting算法中,初始化时对每个训练样本赋予相等的权重,如1/n,然后利用该学习算法对训练集训练G轮,每次训练后,对训练失败的训练样本进行学习,从而得到一个预测函数序列,预测效果好的预测函数权重较大。
而Adaboosting和GradientBoosting在面对已存在弱分类器组合的shortcomings时表征不同,Adaboosting依据权值高的样本点,而GrandientBoosting依据梯度。

1)Adaboosting算法(记住两点:两个权重)
涉及两个权重的计算:
样本的权值:
在没有先验知识的情况下,初始的分布应为等概分布,样本数目为n,权值为1/n;
每次迭代更新权值,提高分错样本的权重。
弱分类器的权值:
最后的强学习器是多个弱学习器通过权值组合得到的;
通过权值体现不同弱学习器的影响,正确率高的弱学习器权重高(实际上是分类误差的一个函数)。

2)GradientBoosting算法(记住一点:梯度下降)
GradientBoosting算法是一种利用树的集成模型,引入损失函数描述模型的“靠谱”程度,假设模型未过拟合,损失函数越大,则模型错误率越高。
在求解损失函数时,可以通过梯度下降法来一步步迭代求解,得到最小化的损失函数和模型参数值(梯度即导数or偏导)。
GradientBoostingRegressor的函数参数如下(sklearn包中提供):

class sklearn.ensemble.GradientBoostingRegressor(
loss='ls', learning_rate=0.1, n_estimators=100, subsample=1.0, 
min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_depth=3,
init=None, random_state=None, max_features=None, alpha=0.9, 
verbose=0, max_leaf_nodes=None, warm_start=False, presort='auto')[source]

参数含义:
loss:选择损失函数,默认值ls (least squres)
learning_rate:学习率,默认是0.1

机器学习—集成学习(ensemble learning) 一、集成学习 集成学习是将多个弱机器学习器结合,构建一个有较强性能的机器学习器的方法,也就是通过构建并合并多个学习器来完成学习任务,其中构成集成学习的弱学习器称为基学习器、基估计器。 1、根据集成学习的各基估计器类型是否相同,可以分为:同质和异质。 同质:指个体学习器全是同一类型。 异质:指个体学习器包含不同类型的学习算法。 2、根据个体学习器的生成方式,将集成学习方法可以分为两类:boosting和bagging boosting:它的特点是各个弱学习器之间有依赖关系。 bagging:它的 阅读详情

相关推荐

【Python与机器学习 5-4】集成学习 Ensemble learning

集成学习(Ensemble learning)通过构建并结合多个学习器来完成学习任务好的集成,个体学习器应“好而不同”:个体学习器要有一定的“准确性”,并且还要有“多样性”。 集成学习分类集成学习可以分成同质集成和异质集成两大类。同质集成集成中包含同种类型的学习器->“基学习器”(base leaner)异质集成集成中包含不同类型的学习器->“组件学习器”(component leaner)集成策

flora 1683

“集成学习”(ensemble learning)与“评估机器学习模型”(evaluating the quality of machine learning models)

作者:禅与计算机程序设计艺术 1.简介 (1)研究背景 随着人工智能领域的发展,越来越多的研究人员正在尝试利用机器学习方法解决实际问题。但是,如何选择适合任务的机器学习模型、训练数据集大小、超参数设置等仍然是一个关键难题。因此,如何有效地评估机器学习模型的质量

AI天才研究院 1850

【ArcGIS Add-in编程】如何创建ArcMap的下拉菜单插件

step1. VS2010中创建一个空的解决方案step2.创建一个项目 直接点击finish。step3 为该项目创建项目,选择Menu,作为根菜单,而后修改xml中的items项,添加需要放在下拉菜单中的项目,例如一个按钮; step4 现在可以创建项目,作为菜单中的项目。为该项目添加新的项目,选择button 此时 xml文件中,多了该button的项目,将该项目添加到items

吃货小跟班的博客 4430

手势控制 Python !Leap Motion Python 开发教程 (二)

手势控制 Python !Leap Motion Python 开发教程 (二) 现在进入正题,我来给大家总结一下我在使用 Leap Motion 开发过程中的经验以及学到的东西,其中我会概括以及翻译官方给出的注释,为了让这些注释更加通俗易懂,让大家更好理解。 回顾 在上一篇文章中我们讲了如何配置 Leap Motion 的 Python 2.7 的开发环境,如果您还没有配置好您的开发环境,可以参...

成畅的博客 3191

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功,附带问题分析详细过程

spark_dev的博客 1911

iverilog+GTKwave使用总结

iverilog是一个开源的硬件描述语言(HDL)仿真工具,用于对硬件描述语言(如Verilog)编写的数字电路进行仿真。它可以将Verilog代码编译为仿真模型,并通过仿真运行来验证设计的正确性。iverilog支持IEEE 1364-2005 Verilog语言标准,并提供了丰富的功能,包括对多种Verilog语言特性的支持、模块化设计、测试平台等。它还可以与其他工具(如GTKWave波形查看器)配合使用,以便进行仿真后的波形查看和分析。

争取早日成为硅农 2万+

S7-200SMART 的运动控制(一)向导配置具体步骤(图文)

S7-200SMART 的运动控制(一)向导配置具体步骤(图文)

Robot_PLC_HMI_Automation 3849

【Bug已解决】Codex CLI 报 stream disconnected before completion 解决方案

方案适用场景推荐指数更新根证书库社区验证的最常见根因⭐⭐⭐⭐⭐检查系统时间虚拟机/容器等特殊运行环境⭐⭐⭐⭐核对 base_url 配置排除证书问题后的下一步排查⭐⭐⭐⭐更换网络环境测试怀疑本地网络设备存在干扰⭐⭐⭐升级到最新版本已知版本缺陷的场景⭐⭐⭐⭐报错虽然表现形式很像网络连接问题,但社区排查的多个真实案例表明,很大一部分情况的根因其实是本机系统的 TLS 证书信任链异常或系统时间不准确,而不是单纯的网络质量问题。优先检查并更新系统根证书库,这是社区验证过的高频根因。

一键难忘的博客 8013

微信小程序:使用mqtt手机屏幕锁屏后导致中断问题,让mqtt在手机黑屏后依然能保持连接及持续后台运行接收或处理任务,详解微信小程序MQTT在应用退到后台或手机熄屏的情况下自动检测并重连【强制保活】

微信小程序切后台后MQTT连接无法维持,微信小程序MQTT一旦用户锁屏、切换到后台或手机熄屏,连接就会断开,导致无法继续监听和处理业务消息,微信小程序mqtt保活方案,微信小程序屏幕锁屏或息屏导致mqtt连接中断怎么办,如何解决MQTT不能黑屏持续连接的问题,微信小程序应用退到后台 MQTT连接断开问题解决,苹果ios手机,安卓手机,uniapp微信小程序mqtt断开怎么解决,后台应用怎么保活,uni-app中MQTT连接频繁断开如何解决?应用退到后台后MQTT连接断开以及常连接断连的问题,微信小程序、MQ

✅ 精选推荐文章 3026

C3 模块与普通 Bottleneck 堆叠区别

维度普通 Bottleneck 堆叠C3 模块设计理念残差学习CSP + 特征分治信息路径单一路径双路径(主干 + bypass)融合方式相加(Add)拼接(Concat)+ 卷积计算效率较低高(通道减半)特征保留弱(多次非线性)强(直连保留原始信息)梯度传播单一主路径多样化、更稳定任务适配通用(分类为主)专为目标检测优化可扩展性有限极强(即插即用各种模块)实际性能基准线显著优于(尤其在小目标和效率方面)

浩瀚之水的专栏 107

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: Python-Groupby函数应用
下一篇: Python-sklearn包中cross_val_score进行交叉验证
ckSpark
博客等级 码龄14年 273粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值