【机器学习】集成学习 Bagging Boosting 综述

2024-04-10 23:38

本文主要是介绍【机器学习】集成学习 Bagging Boosting 综述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

集成学习 Ensemble learning:

        主要包括三种形似的集成方式【Bagging、Boosting、Stacking】
        指将若干弱分类器 (或基(础)分类器) 组合之后产生一个强分类器 (可以是不同类型的分类器)
        ·并不算是一种分类器,而是一种分类器的结合方法;
        ·一个集成分类器的性能会好于单个分类器;
        
1.Bagging 算法(bootstrap aggregation):
        多个分类器同时对一个样本进行分类计算,对它们的结果 取平均 【并行训练,结果取平均值】
        设共有N个(弱)分类器, 第n个分类器的 分类模型为 fn(x)
        则这个集成的强分类器的分类模型为  fa(x) = (1/N)Σ[fn(x)]   其中n = 1,2,...,N        【1.1】

        ·随机森林 (Random Forest):
            Bagging 思想的最典型代表
            随机:数据采样 随机(采样量相同,常用0.6~0.8D),特征选择 随机(特征选取量相同,常用0.6~0.8K,K为特征总数)
            森林:多个决策树 并行放在一起

2.Boosting 算法(Boostrapping):
        一种把若干个(弱)分类器 (前后串联) 整合为一个(强)分类器的方法 【串行训练,对前者的预测值相对真实值的残差弥补】
        对于一个含有 m-1 个弱分类器的 模型fm-1(x),在添加一个 弱分类器 h(x) 后
        集成的强分类器的模型为 :fm(x) = fm-1(x) + argmin_h { Σ[L(yi, fm-1(xi) + h(xi))] }         【2.1】 
        【2.1】中函数  argmin_x { f(x) } 是指 使得函数 f(x) 取得其最小值时所有自变量 x 的集合 (f 取最小值时 x 的值)
        
Boosting 
        |->XGBoost  
(Xtreme Gradient Boosting 极限 梯度 增强)
        |->AdaBoost   (Adaptive Boosting 自适应 增强)    
        |->GBDT   (Gradient Boosting Decision Tree 梯度提升决策树)
        |->LightGBM   (Light Gradient Boosting Machine 轻量级 梯度提升机)

 

这篇关于【机器学习】集成学习 Bagging Boosting 综述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892478

相关文章

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

SpringBoot集成P6Spy的实现示例

《SpringBoot集成P6Spy的实现示例》本文主要介绍了SpringBoot集成P6Spy的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录本节目标P6Spy简介抛出问题集成P6Spy1. SpringBoot三板斧之加入依赖2. 修改

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal