【机器学习】集成学习 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

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot集成SOL链的详细过程

《SpringBoot集成SOL链的详细过程》Solanaj是一个用于与Solana区块链交互的Java库,它为Java开发者提供了一套功能丰富的API,使得在Java环境中可以轻松构建与Solana... 目录一、什么是solanaj?二、Pom依赖三、主要类3.1 RpcClient3.2 Public

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

SpringBoot如何集成Kaptcha验证码

《SpringBoot如何集成Kaptcha验证码》本文介绍了如何在Java开发中使用Kaptcha生成验证码的功能,包括在pom.xml中配置依赖、在系统公共配置类中添加配置、在控制器中添加生成验证... 目录SpringBoot集成Kaptcha验证码简介实现步骤1. 在 pom.XML 配置文件中2.