集成算法學習筆記

一、集成算法簡介

1. 核心思想

類比“多個專家綜合判斷優于單個專家”,通過構建并結合多個個體學習器,提升模型的泛化能力(降低過擬合風險、提高預測準確性),完成復雜的學習任務。

2. 個體學習器與結合模塊

?? ?? ? 個體學習器:多個基礎模型(如決策樹、KNN、SVM等),是集成算法的核心組成單元。

?? ?? ? 結合模塊:將所有個體學習器的預測結果匯總,輸出最終結論,常見結合策略包括3類:

?? ?? ? 簡單平均法:對回歸任務,直接取所有個體學習器預測結果的平均值作為最終輸出。

?? ?? ? 加權平均法:對回歸任務,給不同個體學習器分配不同權重(通常精度高的權重更大),加權求和得到最終結果(公式:H(x) = \sum_{i=1}^{n} \omega_i h_i(x),其中\omega_i為第i個學習器的權重,且\omega_i \geq 0、\sum_{i=1}^{n} \omega_i = 1)。

? ? 投票法:對分類任務,采用“少數服從多數”原則,統計所有個體學習器的預測類別,得票最多的類別為最終結果。

?? ?? ? 若多數個體學習器預測正確,集成結果會提升性能(如測試例1中集成正確,單個學習器有錯誤);

?? ?? ? 若個體學習器錯誤趨勢一致,集成可能不起作用(如測試例2)或起負作用(如測試例3)。

二、集成算法分類(按個體學習器生成方式)

根據個體學習器間的依賴關系,分為3類核心算法:

?? ?? ? 并行化方法(Bagging):個體學習器無強依賴,可同時生成,代表為隨機森林。

?? ?? ? 序列化方法(Boosting):個體學習器有強依賴,需串行生成(后一個學習器依賴前一個的結果),代表為AdaBoost。

?? ?? ? 堆疊方法(Stacking):聚合多種類型分類器/回歸器,分階段訓練,綜合多模型結果。

三、Bagging算法與隨機森林

1. Bagging算法

?? ?? ? 全稱:Bootstrap Aggregation(自助聚合)。

?? ?? ? 核心邏輯:

?? ?1.?? ?并行訓練:通過“有放回采樣(Bootstrap)”從原始訓練集中生成多個不同的子數據集,每個子數據集對應訓練一個個體學習器(如決策樹)。

?? ?2.?? ?結果結合:分類任務用簡單投票法,回歸任務用簡單平均法,匯總所有個體學習器結果。

2. 隨機森林(Bagging的典型代表)

?? ?? ? 定義:以“決策樹”為個體學習器的Bagging算法,核心在于“雙重隨機性”。

?? ?? ? 隨機1:數據采樣隨機:通過有放回采樣生成不同子數據集,訓練不同決策樹。

?? ?? ? 隨機2:特征選擇隨機:每個決策樹在劃分節點時,僅從所有特征中隨機選擇部分特征,再從中選最優切分特征。

?? ?? ? 優勢:

?? ?1.?? ?能處理高維度數據(特征多),無需手動做特征選擇。

?? ?2.?? ?訓練后可輸出特征重要性,輔助分析。

?? ?3.?? ?個體學習器可并行訓練,速度快。

?? ?4.?? ?支持可視化(如決策樹結構),便于理解模型邏輯。

3. 隨機森林代碼實現(Python sklearn)

(1)核心類

?? ?? ? RandomForestClassifier():用于分類任務的隨機森林模型。

?? ?? ? RandomForestRegressor():用于回歸任務的隨機森林模型。

(2)關鍵參數
參數 含義與取值?
n_estimators 個體學習器(決策樹)的數量,默認100,通常需根據數據調整(數量過少易欠擬合,過多增加計算成本)。?
oob_score 是否用“袋外樣本(Out of Bag,未被采樣到的樣本)”評估模型,默認False;設為True時,等同于簡易交叉驗證,無需額外劃分驗證集。?
bootstrap 是否采用有放回采樣,默認True(Bagging的核心特性,保證子數據集多樣性)。?
max_samples 每個決策樹訓練時使用的最大樣本量,默認None(即使用全部子數據集樣本)。?

4. 課堂練習:葡萄酒分類

基于sklearn.datasets.load_wine數據集(含13個特征,如酒精含量、蘋果酸、灰分等,目標是將葡萄酒分為3類),用RandomForestClassifier()實現分類,步驟包括數據加載、劃分訓練/測試集、模型訓練、精度評估。

四、Boosting算法與AdaBoost

1. Boosting核心思想

從“弱學習器”(精度略高于隨機猜測的模型)開始,通過動態調整樣本權重和學習器權重,逐步加強模型能力,最終將多個弱學習器串聯成“強學習器”。核心特點是個體學習器串行生成(后一個學習器依賴前一個的結果)。

2. AdaBoost(Boosting的典型代表)

(1)核心邏輯

?? ?1.?? ?初始化樣本權重:首次訓練時,所有樣本分配相同的權重(如總樣本數為N,每個樣本權重為1/N)。

?? ?2.?? ?訓練弱學習器并調整樣本權重:

?? ?? ? 用當前權重的樣本集訓練一個弱學習器(如簡單決策樹)。

?? ?? ? 計算該學習器的分類誤差率,對分類錯誤的樣本提高權重(下次訓練更關注這些難分樣本),對分類正確的樣本降低權重。

?? ?3.?? ?迭代訓練多個弱學習器:重復步驟2,生成多個弱學習器。

?? ?4.?? ?組合弱學習器為強學習器:

?? ?? ? 給誤差率低的弱學習器分配更大權重(其預測結果更可信),給誤差率高的分配更小權重。

?? ?? ? 最終預測時,加權匯總所有弱學習器的結果(分類任務為加權投票,回歸任務為加權平均)。

(2)核心優勢

通過“關注難分樣本+加權組合學習器”,能有效提升弱學習器的整體性能,泛化能力強,對簡單數據集效果顯著。

五、Stacking算法

1. 核心思想

“暴力聚合多種模型”,不限制個體學習器類型(可同時使用KNN、SVM、隨機森林、邏輯回歸等),分兩個階段訓練:

?? ?1.?? ?第一階段(基礎模型訓練):用原始訓練集訓練所有選定的基礎模型,得到每個模型對訓練集和測試集的預測結果。

?? ?2.?? ?第二階段(元模型訓練):將第一階段的預測結果作為“新特征”,訓練一個“元模型”(如邏輯回歸、簡單決策樹),最終由元模型輸出集成結果。

2. 特點

?? ?? ? 靈活性高:可融合多種類型模型的優勢,適合復雜數據集。

?? ?? ? 計算成本高:需訓練多類基礎模型和元模型,步驟較繁瑣。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94135.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

讓Chrome信任自簽名證書

讓Chrome信任自簽名證書(Unix系列OS) 背景 想在本地測試自己寫的基于HTTPS連接的Web應用,跑在3001端口。但使用Chrome瀏覽器訪問https://localhost:3001時顯示連接不安全。解決了但沒解決 使用mkcert一鍵創建證書: mkcert localho…

[江科大庫]基于 OpenMV 的矩形識別與 STM32 串口通信(電子設計大賽實用教程)

?? 基于 OpenMV 的矩形識別與 STM32 串口通信(電子設計大賽實用教程) 一、前言 在本科生電子設計大賽中,經常會遇到圖像識別相關的任務,例如: 識別 矩形框(如識別一個 A4 紙、黑色標記框等); 將識別結果傳輸到 STM32 單片機,用于后續控制(舵機、移動小車、機械臂…

人臉識別驅動的工廠人體屬性檢測與預警機制

人體屬性檢測:人臉識別智慧檢測驅動的工廠管理革新(所有圖片均為真實項目案例)在制造業數字化轉型浪潮中,人體屬性檢測技術已成為破解傳統工廠管理難題的核心工具。通過融合人臉識別智慧檢測、目標檢測算法與多模態數據分析&#…

數據工程師——ETL

ETL面試題01 一、基礎概念與理論類 1. 請解釋什么是 ETL?它在數據處理流程中扮演什么角色? 答:ETL就是數據抽取、轉化、加載。目的是將分散的數據源集中在一起進行處理分析。 數據抽取:是指各種數據源中抽取數據,包括關系型數據庫(MySQL、Oracle等)、日志文件、Exce…

Oracle APEX 經典報表中的Checkbox

目錄 1. 建表&投入測試數據 2. 經典報表做成 2-1. 畫面布局如下?編輯 2-2. 報表使用的SQL 2-3. RS列的Heading設定 2-4. Function and Global Variable Declaration 2-5. Execute when Page Loads 2-6. Process 3. 運行效果?編輯 1. 建表&投入…

Codeforces Round 1043 (Div.3)

比賽連接:Codeforces Round 1043 (Div.3) A. Homework 題目鏈接:A - Homework Vlad and Dima have been assigned a task in school for their English class. They were given two strings aaa and bbb and asked to append all characters from bbb …

GPS欺騙式干擾的產生

我們在GNSS抗干擾天線的選型、測試方法以及為什么不能做RTK?(抗干擾內容全集)中提到的抗干擾天線,針對的是GPS壓制式干擾。對于GPS欺騙式干擾,抗干擾天線是無能為力的。 簡單來說,壓制式干擾是通過發射強功…

[PV]AXI R/W/RW帶寬計算的tcl腳本

AXI R/W/RW帶寬計算的tcl腳本 我基于前述的axi_read_bw_per_id.tcl腳本進行了修改,使其支持: 讀通道(Read Channel):計算基于rvalid && rready的有效周期(已在前述實現)。 寫通道(Write Channel):計算基于wvalid && wready的有效周期,考慮wstrb的ac…

阿里云AnalyticDB同步數據至華為云taurusdb

1 概述 AnalyticDB和taurusdb都是高度兼容mysql協議的數據庫,從現有的AnalyticDB官方數據同步方案來看,只有FlinkSQL合適。 同步方案官方文檔: https://help.aliyun.com/zh/analyticdb/analyticdb-for-mysql/user-guide/flink-subscribes-b…

學習嵌入式之驅動——系統移植(二)

一、uboot常用命令與環境變量1.命令:(1)環境變量操作命令命令功能格式printenv 查看環境變量printenvsetenv新建/修改環境變量setenv 環境變量名 環境變量值saveenv保存環境變量saveenv(2)內存操作命令命令功能格式示例…

EasyExcel 合并單元格最佳實踐:基于注解的自動合并與樣式控制

EasyExcel 合并單元格最佳實踐:基于注解的自動合并與樣式控制 前言 在日常開發中,我們經常需要導出 Excel 報表,而合并單元格是提升報表可讀性的常見需求。本文將介紹如何基于 EasyExcel 實現智能的單元格合并功能,通過自定義注解…

Unity設置UI顯示區域

系列文章目錄 untiy工具 文章目錄 系列文章目錄 ??前言 ??一、效果圖 ??二、制作過程(檢測中心點位置) ??2-1、代碼實現 ??三、優化為檢測整個UI四個角點 ??四、性能優化建議 ??壁紙分享 ??總結 ??前言 思路: 獲取屏幕的寬度和高度,定義中間區域的范圍…

Qt中用于圖像縮放的核??法QPixmap::scaled

QPixmap::scaled是Qt中用于圖像縮放的核??法,其作?和?法如下:?一、核心作用??圖像尺寸調整?根據指定尺寸對圖像進?等?例或?等?例縮放,?持放?和縮?操作。?保持寬高比?通過AspectRatioMode參數控制是否保持原始圖像的寬??。…

SQL Workbench/J:一款免費開源、跨平臺的通用SQL查詢工具

SQL Workbench/J 是一款基于 Java 開發的免費開源、跨平臺的通用 SQL 查詢工具。 SQL Workbench/J 主要專注于 SQL 腳本開發和數據導入導出功能,不提供各種數據庫管理功能。 功能特性 跨平臺:可以在任何安裝了 Java 運行時環境的操作系統上運行&#xf…

DOLO 上漲:Berachain 生態爆發的前奏?

在 Berachain 生態逐漸進入公眾視野之際,Dolomite(簡稱 Dolomite,代幣 DOLO)成為鏈上表現最為突出的明星協議。其代幣價格在短短兩個月內,從 $0.03 飆升至 $0.3,漲幅接近 10 倍。市場不僅將其視作 Berachai…

吉利汽車與芯鼎微成立聯合創新實驗室共譜車規級LCoS顯示新篇章

2025年8月20日,吉利汽車研究院技術規劃中心副主任李莉、光學實驗室負責人李金樺博士等一行四人蒞臨芯鼎微,雙方共同為"吉利汽車-芯鼎微聯合創新實驗室"揭牌,標志著兩家企業在車載先進顯示技術領域邁入深度協同創新的新階段。 在這汽…

NPM組件 @angular_devkit/core 等竊取主機敏感信息

【高危】NPM組件 angular_devkit/core 等竊取主機敏感信息 漏洞描述 當用戶安裝受影響版本的 angular_devkit/core 等NPM組件包時會竊取用戶的主機名、用戶名、IP地址信息并發送到攻擊者可控的服務器地址。 MPS編號MPS-1jf5-s6ix處置建議強烈建議修復發現時間2025-08-14投毒…

docker cuda版安裝 dockercuda版安裝

目錄 1.一鍵安裝docker 測試ok 2.安裝cuda支持 通用的應該沒問題 安裝工具包 配置 runtime: 3.檢查 Docker 是否支持 NVIDIA 運行時 1.一鍵安裝docker 測試ok curl -fsSL https://get.docker.com | sh 2.安裝cuda支持 通用的應該沒問題 也可以搜索安裝 cuda版d…

Spring發布訂閱模式詳解

Spring 的發布訂閱模式(Publish-Subscribe Pattern)是一種基于事件驅動的設計模式,通過 "事件" 作為中間載體實現組件間的解耦。在這種模式中,"發布者"(Publisher)負責產生事件并發布&…

服務器硬件中的磁盤SSD與HDD性能區別,以及分別適用于什么業務?

SSD(固態硬盤)和 HDD(機械硬盤)是服務器中常見的存儲設備類型,兩者在性能、可靠性、成本等方面存在顯著差異。根據這些特性,它們適用于不同的業務需求。以下是詳細的對比與應用場景分析:1. SSD …