集成學習基礎:Bagging 原理與應用

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術!

Bagging 介紹

1. 定義與全稱:

  • BaggingBootstrap Aggregating 的縮寫,中文常譯為 裝袋法
  • 它是一種并行式的集成學習方法。
  • 核心目標是通過構建多個基學習器的預測結果進行組合(通常是投票或平均),來獲得比單一基學習器更穩定、更準確、泛化能力更強的模型。
  • 其名字直接反映了它的兩個關鍵步驟:Bootstrap(自助采樣)Aggregating(聚合)

往期文章推薦:

  • 20.CART算法全解析:分類回歸雙修的決策樹之王
  • 19.C4.5算法深度解析:決策樹進化的里程碑
  • 18.決策樹:化繁為簡的智能決策利器
  • 17.深入解析ID3算法:信息熵驅動的決策樹構建基石
  • 16.類圖:軟件世界的“建筑藍圖”
  • 15.餅圖:數據可視化的“切蛋糕”藝術
  • 14.用Mermaid代碼畫ER圖:AI時代的數據建模利器
  • 13.ER圖:數據庫設計的可視化語言 - 搞懂數據關系的基石
  • 12.決策樹:被低估的規則引擎,80%可解釋性需求的首選方案
  • 11.實戰指南:用DataHub管理Hive元數據
  • 10.一鍵規范代碼:pre-commit自動化檢查工具實戰指南
  • 9.如何數據的永久保存?將信息以加密電磁波形式發射至太空實現永久保存的可行性說明
  • 8.NLP已死?大模型時代誰在悄悄重建「語言巴別塔」
  • 7.撕掉時序圖復雜度:Mermaid可視化極簡實戰指南
  • 6.動手實踐:LangChain流圖可視化全解析
  • 5.LangChain LCEL:三行代碼構建AI工作流的秘密
  • 4.LangChain執行引擎揭秘:RunnableConfig配置全解析
  • 3.避坑指南:Windows下pygraphviz安裝全攻略
  • 2.Python3安裝MySQL-python踩坑實錄:從報錯到完美解決的實戰指南
  • 1.Git可視化革命:3分鐘學會用Mermaid+AI畫專業分支圖

2. 核心思想:
Bagging 的基本思想非常簡單而強大:

  1. 引入隨機性: 通過對原始訓練數據集進行 有放回的隨機抽樣(Bootstrap Sampling),創建出多個不同的、略有重疊的子訓練集。
  2. 并行訓練: 使用這些不同的子訓練集,獨立地訓練出多個 同質的 基學習器。這些學習器通常是同一種算法(例如都是決策樹)。
  3. 聚合結果: 對于一個新的預測樣本,讓所有訓練好的基學習器進行預測,然后將它們的預測結果進行聚合
    • 分類任務: 采用 多數投票法(Majority Voting),即選擇得票最多的類別作為最終預測結果。
    • 回歸任務: 采用 簡單平均法(Averaging),即計算所有基學習器預測值的平均值作為最終預測結果。

3. 關鍵步驟詳解:

  • Bootstrap Sampling (自助采樣):

    • 假設原始訓練集 D 包含 N 個樣本。
    • 要訓練 T 個基學習器,就需要創建 Tbootstrap 樣本集 D_1, D_2, ..., D_T
    • 生成每個 D_t 的過程:
      1. 從原始訓練集 D有放回地隨機抽取一個樣本。
      2. 將該樣本放入 D_t 中。
      3. 重復步驟 1 和 2 N 次。這樣 D_t 就包含了 N 個樣本(注意:因為有放回,某些樣本會被多次抽中,而另一些樣本可能一次都沒被抽中)。
    • 重要特性:
      • 每個 bootstrap 樣本集 D_t 的大小與原始訓練集 D 相同(N 個樣本)。
      • 由于有放回抽樣,原始訓練集 D 中大約有 63.2% 的樣本會出現在任意一個給定的 D_t 中。剩下的約 36.8% 的樣本被稱為該基學習器的 袋外樣本
      • 不同的 bootstrap 樣本集之間會有一定的重疊,但也存在差異。
  • Base Learner Training (基學習器訓練):

    • 使用第 t 個 bootstrap 樣本集 D_t 獨立地訓練第 t 個基學習器 M_t
    • 基學習器可以是任何學習算法(決策樹、神經網絡、線性回歸等),但決策樹因其高方差(不穩定)特性,常作為 Bagging 的首選基學習器(這就是隨機森林的基礎)。
    • 訓練過程是并行的,各個基學習器之間互不干擾。
  • Aggregating (聚合):

    • 分類 (Classification):
      • 對于一個新的輸入樣本 x,每個基學習器 M_t 預測一個類別標簽 y_t
      • 最終的預測結果 y_final 是所有 T 個預測標簽 {y_1, y_2, ..., y_T}出現次數最多的那個類別(即多數投票)。
    • 回歸 (Regression):
      • 對于一個新的輸入樣本 x,每個基學習器 M_t 預測一個數值 r_t
      • 最終的預測結果 r_final 是所有 T 個預測值 {r_1, r_2, ..., r_T}算術平均值

4. 為什么 Bagging 有效?

Bagging 的核心價值在于它能夠顯著降低模型的方差(Variance),從而提高模型的穩定性和泛化能力,尤其對于高方差、低偏差的基學習器(如深度未剪枝的決策樹)效果非常顯著。

  • 降低方差: 通過在不同的數據子集上訓練多個模型,Bagging 減少了模型對訓練數據中特定噪聲或波動的敏感性。單個模型可能因為訓練數據的微小變化而產生很大差異(高方差),但多個模型預測的平均或投票可以抵消這種波動,使得整體預測更加穩定和魯棒。
  • 輕微增加偏差: 由于每個基學習器只看到原始數據的部分樣本(約63.2%),并且可能沒有看到一些重要樣本(袋外樣本),單個基學習器的性能可能略低于在整個數據集上訓練的模型(輕微增加偏差)。但是,通過聚合多個模型,這種輕微的偏差增加通常被方差的顯著降低所補償,最終整體模型效果更好。
  • 降低過擬合風險: 通過降低方差,Bagging 有效地減少了模型過擬合訓練數據的風險,提高了在未見數據上的泛化能力。

5. 優勢:

  • 有效降低方差: 對高方差的基學習器(如決策樹)效果尤其顯著。
  • 提升模型穩定性與魯棒性: 對訓練數據的小變動不敏感,對噪聲和異常值更具抵抗力。
  • 減少過擬合: 提高泛化性能。
  • 并行化: 基學習器的訓練相互獨立,天然適合并行計算,加速訓練。
  • 簡單易用: 概念清晰,實現相對直接。
  • 內置驗證(利用袋外樣本): 袋外樣本可以用來評估單個基學習器的性能,它們的預測誤差的平均值(袋外誤差)可以作為Bagging集成模型泛化誤差的一個近似無偏估計,無需額外劃分驗證集。

6. 局限性:

  • 對高偏差模型提升有限: 如果基學習器本身偏差很高(欠擬合),Bagging 主要降低方差,對整體性能提升不大(偏差問題依然存在)。它不能有效降低偏差。
  • 模型解釋性降低: 集成的模型比單個基學習器更難解釋。
  • 計算成本: 需要訓練多個模型,計算和存儲開銷大于單個模型。
  • 可能損失部分信息: 每個基學習器只看到部分數據(約63.2%)。

7. 與 Boosting 的區別:

  • 并行 vs 串行: Bagging 是并行訓練基學習器;Boosting(如 AdaBoost, GBDT, XGBoost)是串行訓練,后續模型重點關注之前模型預測錯誤的樣本。
  • 樣本權重: Bagging 中所有樣本在抽樣時默認權重相同;Boosting 會根據之前模型的預測表現動態調整樣本權重,錯誤樣本權重增大。
  • 目標: Bagging 主要降低方差;Boosting 主要降低偏差(并能一定程度降低方差)。
  • 基學習器要求: Bagging 對基學習器要求不高,甚至可以是弱學習器(但效果會打折扣);Boosting 通常要求基學習器是弱學習器(僅比隨機猜測略好)。
  • 穩定性: Bagging 模型更穩定;Boosting 模型對數據和參數更敏感,容易過擬合(需仔細調參和正則化)。

8. 典型應用:

  • 隨機森林: 這是 Bagging 最著名和最成功的應用。它以決策樹為基學習器,并在 Bagging 的基礎上額外引入了特征隨機性(在節點分裂時隨機選擇特征子集),進一步增強了多樣性和效果。
  • 其他模型的 Bagging 變體: 理論上,任何學習算法都可以作為 Bagging 的基學習器(如 Bagged KNN, Bagged SVMs 等),但決策樹因其不穩定性而受益最大。
  • 需要高穩定性模型的場景。

總結:

Bagging 是一種強大且實用的集成學習技術,其核心在于通過 Bootstrap 自助采樣生成多樣化的訓練子集,并行訓練多個基學習器,然后通過投票(分類)或平均(回歸) 聚合它們的預測結果。它最擅長降低高方差模型的方差,從而提升模型的穩定性、魯棒性和泛化能力,減少過擬合風險。隨機森林是 Bagging 思想的杰出代表和擴展。理解 Bagging 是深入掌握集成學習,特別是隨機森林的關鍵基礎。

本文由「大千AI助手」原創發布,專注用真話講AI,回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我,一起撕掉過度包裝,學習真實的AI技術!

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

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

相關文章

skiaSharp linux 上報錯

The type initializer for SkiaSharp.SKImageInfo threw an exception 這個錯誤表明在 Linux 系統上初始化 SkiaSharp 的 SKImageInfo 類型時出現了問題。以下是完整的解決方案: 安裝系統依賴: # Ubuntu/Debian sudo apt-get update sudo apt-get ins…

crawl4ai crawler.arun( 超時問題

delay_before_return_html500 # 單位:毫秒 會導致 crawler.arun 超時問題。按理說不應該 await crawler.arun( 1. 瀏覽器加載頁面 ? 2. 頁面DOM構建完成 ? 3. JavaScript執行完成 ? 4. 等待 delay_before_return_html 時間 ? (500ms) 5. 返回最終HTML內容 &…

Linux Kernel下exFat使用fallocate函數不生效問題

1)Linux驅動開發相關問題,分享給將要學習或者正在學習Linux驅動開發的同學。 2)內容屬于原創,若轉載,請說明出處。 3)提供相關問題有償答疑和支持。 Linux下經常使用fallocate去預分配一個很大的文件空間…

大學專業科普 | 物聯網、自動化和人工智能

在選擇大學專業時,可以先從自身興趣、能力和職業規劃出發,初步確定幾個感興趣的領域。然后結合外部環境因素,如專業前景、教育資源和就業情況等,對這些專業進行深入的分析和比較。 物聯網專業 課程設置 基礎課程:包括…

人工智能-基礎篇-7-什么是大語言模型LLM(NLP重要分支、Transformer架構、預訓練和微調等)

大型語言模型(Large Language Model)。這類模型是自然語言處理(NLP)領域的一個重要分支,它們通過在大量文本數據上進行訓練來學習語言的結構和模式,并能夠生成高質量的文本、回答問題、完成翻譯任務等。 1…

【趙渝強老師】基于PostgreSQL的分布式數據庫:Citus

由于PostgreSQL具有強大的功能和良好的可擴展性,因此基于PostgreSQL很容易就可以實現分布式架構。Citus便是具體的一種實現方式。它以擴展的插件形式與PostgreSQL進行集成,且獨立于PostgreSQL內核,部署也比較簡單。Citus是現在非常流行的基于…

【趙渝強老師】OceanBase OBServer節點的接入層

OceanBase數據庫代理ODP(OceanBase Database Proxy,又稱OBProxy)是OceanBase數據庫的接入層,負責將用戶的請求轉發到合適的OceanBase數據庫實例上進行處理。ODP是獨立的進程實例,獨立于OceanBase數據庫實例部署。ODP監…

ISP Pipeline(8): Color Space Conversion 顏色空間轉換

Color Space Conversion(顏色空間轉換) 是圖像處理中的一個重要步驟,它將圖像從一個顏色空間(Color Space)轉換到另一個,以滿足 顯示、分析、壓縮或算法需求。 為什么轉換顏色空間? 應用場景…

Spring Web MVC ①

🚀 一、Spring MVC MVC三層 Controller:樂團指揮,接收請求→調用模型→選擇視圖(Controller) Model:樂手,處理業務邏輯與數據(POJO對象) View:舞臺展示&…

【數據挖掘】貝葉斯分類學習—NaiveBayes

NaiveBayes 樸素貝葉斯的核心是貝葉斯定理,它描述了如何根據新證據更新事件的概率。 要求: 1、實現樸素貝葉斯分類算法,驗證算法的正確性,并將算法應用于給定的數據集Data_User_Modeling數據集,選擇一部分數據集作為已…

Java面試寶典:基礎二

🔒 25. final vs abstract 關鍵字 關鍵字修飾對象作用規則final類禁止被繼承final class MyClass { ... }方法禁止被子類重寫public final void func()變量變為常量(基本類型值不可變,引用類型地址不可變)final int MAX 100;abs…

小米手機安裝charles證書

使用紅米手機下載Charles證書一直下載中,無法正常下載。 不使用原裝瀏覽器,使用第三方瀏覽器下載就可以了。 使用第三方瀏覽器安裝,如我使用的是UC瀏覽器 使用第三方瀏覽器安裝的證書格式是".pem"格式問卷 將這個文件放入小米的dow…

DeepSeek R2 推遲發布:因 H20 算力短缺

DeepSeek 今年早些時候憑借其 R1 AI 模型備受廣泛關注。據《The Information》報道,R2 模型的工作似乎因 H20 處理器而停滯不前。 DeepSeek尚未透露其R2 模型的具體上市時間。 DeepSeek 使用 5 萬塊 Hopper GPU(包括 3 萬塊 H20、1 萬塊 H800 和 1 萬塊…

智能之火,重塑創造:大模型如何點燃新一代開發引擎?

導言:普羅米修斯之火再現 在科技演進的長河中,每一次生產力的躍遷都伴隨著工具的質變。從蒸汽機轟鳴到電力普及,再到信息高速公路的鋪就,人類駕馭能量的能力不斷突破。今天,我們站在一個嶄新的臨界點上:大語…

一文入門JS

轉自個人博客 因為本人經常使用QML,而由于QML與JS之間的關系,本人經常使用到JS相關語法,所以在此系統性對JS基礎知識進行總結、記錄。 1. 入門 JavaScript(簡稱 JS)是一種廣泛應用于Web開發的腳本語言,它…

libtool: error: ‘/usr/.local/lib/libgmp.la‘ is not a valid libtool archive

背景: 安裝gcc時提示需要vc11,然后安裝gcc依賴gmp、mpfr、mpc。 到mpc make時出錯: libtool: error: ‘/usr/.local/lib/libgmp.la’ is not a valid libtool archive 詳細: /usr/bin/grep: /usr/.local/lib/libgmp.la: No such f…

HDC2025聚焦鴻蒙生態,FairGuard加固方案保駕護航

近日,在2025年華為開發者大會(HDC)上,華為正式啟動HarmonyOS 6開發者Beta,并全面展示一年多以來與合作伙伴共建鴻蒙生態的創新成果:“累計有9000多個應用參與了70多個系統級創新體驗的聯合打造,目前有3萬多鴻蒙應用和元…

GAN的思考及應用

一、對文獻的思考 CycleGAN的思考,前兩周看到了關于CycleGAN的原始論文,是用于處理圖像數據,有了如下思考: 1、基礎理論與方法 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》是Cycle…

Xcode26新特性與iOS26適配指南

Xcode 26 新特性 在 WWDC25 上 Apple 推出了 Xcode 26,相比較 Xcode 16,它有如下的變化。 項目 安裝包更小,其他組件與工具鏈只有在需要時才會下載。設置界面重新設計,菜單從頂部挪到了左側,其中 Accounts 改名為 Apple Accounts,Text Editing 改名為 Editing,Key Bind…

閑庭信步使用SV搭建圖像測試平臺:第二十課——RGB圖像轉HSV圖像

(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程文件請關注…