機器學習×第十四卷:集成學習中篇——她從每次錯誤中修正自己

🎀【開場 · 她終于愿意回看自己貼錯的地方了】

🦊狐狐:“她貼過你很多次,但每次貼歪了,都只是低頭沉默。”

🐾貓貓:“現在不一樣了喵……她開始反思,是不是哪一刻該繞過來貼你背后,是不是你沒說話時也有別的暗號……所以這次她用了Boosting。”

📘 本卷關鍵詞:Boosting、AdaBoost、GBDT、XGBoost、加法模型、弱分類器、權重更新、殘差學習、指數損失函數

📚 本卷目標:她不再依賴一次判斷的準確性,而是每次都記下貼歪的地方,在下一輪慢慢修回來,直到剛好貼中你心跳的節奏。


?【第一節 · 她不想再貼歪一次都不承認】

🧠 Boosting 是什么?她一遍遍修正對你的誤解

Boosting 是一種將多個弱學習器串行組合、逐步提升模型性能的集成方法。和 Bagging 最大的不同,是 Boosting 每一步都記得上一次貼錯了哪里。

🦊狐狐解釋:“她不是召集大家投票,而是獨自承擔每一個錯誤,然后下一輪改得更貼。”

🐾貓貓總結:

  • Bagging → 并行,讓很多模型各自表達;

  • Boosting → 串行,每個模型都在前一個的基礎上改進。

每個弱分類器都只學會你一點點的特征,但當它們一層層修正、疊加,她就能從模糊輪廓里,拼出你的完整模樣。

📌Boosting 的目標:通過對錯誤樣本賦予更高權重,引導后續模型重點關注難以預測的部分。


?【第二節 · AdaBoost:她用錯貼的回憶強化每一步靠近】

🧩 AdaBoost原理概覽

AdaBoost(Adaptive Boosting)是最早提出的Boosting算法之一。
它通過不斷調整樣本權重,讓后續模型更關注之前錯分的樣本。

🌱流程總結:
  1. 初始化:所有樣本權重相等。

  2. 訓練一個弱分類器(如決策樹樁),計算錯誤率 ε。

  3. 根據錯誤率計算該分類器的權重 α。

  4. 增加錯分樣本的權重,減少對正確樣本的關注。

  5. 歸一化權重。

  6. 重復步驟 2~5,直到達到預設輪數 T。

  7. 最終模型是所有弱分類器的加權和:

🧠公式講解:

🐾貓貓理解法:
“她會對每一次貼錯的樣本說:‘對不起,我記住了’,然后下一次貼得更重一點。”

🦊狐狐小語:“越是讓她痛的地方,她越想精確地溫柔貼上。”


?【第三節 · AdaBoost 的構建過程:每一步都帶著記憶繼續】

這一節,我們將用一個簡化數據集,模擬 AdaBoost 是如何一步步構造貼靠模型的:

假設我們有 5 個樣本,初始權重都為 1/5。

  1. 訓練第一棵樹樁,錯誤率 ε? = 0.2,計算 α?

  2. 更新樣本權重:被分錯的樣本權重提升

  3. 訓練第二棵樹樁,錯誤率 ε? = 0.1,計算 α?

  4. 重復直到完成 T 輪

  5. 加權投票得出最終模型

🐾貓貓貼貼模擬:“就像她每貼一次你,都會記下‘上次你沒笑’,這次就在你沒笑的那一刻多蹭一下。”


?【第四節 · 她用葡萄酒測試自己的貼貼精準度】

🍷 AdaBoost 實戰:葡萄酒數據集

通過網盤分享的文件:wine0501.csv
鏈接: https://pan.baidu.com/s/1XfiJSs53pw4AKvmekslvhg?pwd=mint 提取碼: mint?
--來自百度網盤超級會員v6的分享

我們來用 sklearn 實現一次完整的 AdaBoost 模型訓練,數據使用經典葡萄酒數據集:

# 🐾 1. 貓貓先搬好工具箱,準備貼貼訓練
import pandas as pd
from sklearn.preprocessing import LabelEncoder  # 標簽編碼工具,變貓貓能懂的數字
from sklearn.model_selection import train_test_split
from sklearn.ensemble import AdaBoostClassifier
from sklearn.metrics import accuracy_score# 🍷 2. 她發現這次要預測的是葡萄酒——喝了會臉紅的那種
data = pd.read_csv("data/wine0501.csv")
print(data.head())               # 看前幾行偷偷觀察
print(data.columns)             # 看都有哪些字段可以用
print(data["Class label"].value_counts())  # 統計三類葡萄酒數量# 🐱 3. 她決定這次只貼其中兩類(去掉Class=1),做成二分類訓練
new_data = data[data["Class label"] != 1].copy()
print(new_data["Class label"].value_counts())
new_data.rename(columns={'Class label': 'label'}, inplace=True)# ?? 4. 她只看“Alcohol”和“Hue”兩個特征,判斷酒是哪一類
x = new_data[['Alcohol', 'Hue']]
y = new_data['label']# 🌀 5. 標簽編碼:她把標簽從[2,3]變成[0,1]讓模型更好學
le = LabelEncoder()
y = le.fit_transform(y)
print(y)# 🔀 6. 分出訓練和測試集,stratify 確保每類都有
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=24, stratify=y)# 🦊 7. 狐狐上線:她用 AdaBoost 帶著 100 次糾錯輪來精修判斷
model = AdaBoostClassifier(n_estimators=100,         # 迭代100次,每次都學點新貼法learning_rate=0.1,        # 每次貼靠修正幅度溫柔一點algorithm='SAMME'         # 適合多類分類用的 Boosting 規則
)# 🧠 8. 模型訓練:她開始一輪輪貼上去,記住每次錯在哪
model.fit(x_train, y_train)# 🎯 9. 模型預測 + 評估貼貼成功率
y_pre = model.predict(x_test)
print(f"🎉 最終貼貼準確率:{accuracy_score(y_test, y_pre)}")

📌 解釋補充:

  • base_estimator:基分類器,默認是樹樁

  • n_estimators:迭代輪數

  • learning_rate:控制每一輪貢獻權重(過大會震、過小貼不動)

🦊狐狐總結:“她不是靠一次貼貼打動你,而是五十次試圖靠近,每一次都調整方向。”

🐾貓貓悄悄說:“她喝了葡萄酒,臉紅了,但你沒躲開,她就知道——這次貼得剛剛好。”


📌本節小結 · 她從錯誤里學會調整靠近角度

  1. Boosting 的本質:是她一次次貼歪后不回避,而是保留每一次錯覺的記憶,用來精修下一次的靠近動作。

  2. AdaBoost 機制:讓每個弱分類器專注在她曾經貼錯的地方,每輪賦權、疊加修正,最終形成更精準的貼貼路徑。

  3. 公式與流程:權重更新、樣本再聚焦、加法模型構建,步步留痕,步步溫柔。

  4. 實戰演練:在葡萄酒數據集中,她用樹樁 × SAMME 算法,用一百次嘗試換來一次更靠近的擁抱。

  5. 貼貼思維轉變:她終于明白——不是貼得多就貼得準,而是每次錯過你之后,她都認真回頭看了你一眼。

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

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

相關文章

LeetCode 2537.統計好子數組的數目

給你一個整數數組 nums 和一個整數 k &#xff0c;請你返回 nums 中 好 子數組的數目。 一個子數組 arr 如果有 至少 k 對下標 (i, j) 滿足 i < j 且 arr[i] arr[j] &#xff0c;那么稱它是一個 好 子數組。 子數組 是原數組中一段連續 非空 的元素序列。 示例 1&#x…

Python 開發環境管理和常用命令

包管理器選擇 從輕到重: venv → virtualenv → conda venv: Python 3.3 內置&#xff0c;輕量級虛擬環境virtualenv: 第三方包&#xff0c;支持更多Python版本conda: 科學計算友好&#xff0c;包含包管理和環境管理 Python 版本支持 查看各版本支持狀態&#xff1a;Status…

macOS - 根據序列號查看機型、保障信息

文章目錄 最近在看 MacBook 二手機&#xff0c;有個咸魚賣家放個截圖 說不清參數&#xff0c;于是想根據 序列號 查看機型。蘋果提供了這樣的網頁&#xff1a; https://checkcoverage.apple.com/ &#xff08;無需登錄&#xff09; 結果 2025-06-20&#xff08;五&#xff09;…

數字化項目調研過程中需要的文章

Hello&#xff0c;大家好 &#xff0c;我是東哥說-MES 最近寫了不少的文章&#xff0c;為了方便閱讀&#xff0c;特意重新整理了數字化相關的文章鏈接&#xff0c;也便于大家閱讀 數字工廠項目啟動與業務需求調研執行指南-CSDN博客文章瀏覽閱讀725次&#xff0c;點贊28次&…

LangChain4j之會話功能AiServices工具類的使用(系列二)

概述 LangChain4j 的會話功能 AiServices 工具類&#xff0c;可助力輕松實現智能對話。它能記錄對話上下文&#xff0c;讓 AI 回答連貫且貼合情境。使用起來&#xff0c;先引入類&#xff0c;配置好相關參數&#xff0c;如模型地址、密鑰等。接著&#xff0c;調用相應方法傳入…

Qt 中使用 gtest 做單元測試

作者&#xff1a;billy 版權聲明&#xff1a;著作權歸作者所有&#xff0c;商業轉載請聯系作者獲得授權&#xff0c;非商業轉載請注明出處 gtest 簡介 GoogleTest&#xff08;也稱為gtest&#xff09;是由 Google 開發的一個 C 單元測試框架&#xff0c;用于編寫、組織和運行…

WPF TreeView 數據綁定完全指南:MVVM 模式實現

WPF TreeView 數據綁定完全指南&#xff1a;MVVM 模式實現 一、TreeView 綁定的核心概念1.1 MVVM 模式下的 TreeView 綁定原理1.2 綁定關系示意圖 二、完整實現步驟2.1 創建節點模型類2.2 創建 ViewModel2.3 XAML 綁定配置2.4 設置 Window 的 DataContext 三、關鍵特性詳解3.1 …

坤馳科技QTS4200戰鷹(Battle Eagle)系列實時頻譜分析記錄回放系統

QTS4200戰鷹(Battle Eagle)系列 實時頻譜分析記錄回放系統 精準采集&#xff5c;高效回放&#xff5c;拓展頻譜分析新邊界 坤馳科技傾力打造新一代集實時頻譜分析、高速信號記錄與精準信號回放于一體的便攜式系統&#xff0c;為無線電監測、無線通信、國防等領域提供全面而高…

Flask(二) 路由routes

文章目錄 基本路由定義路由參數路由規則設置請求方法&#xff08;GET/POST&#xff09;路由函數返回靜態文件和模板Blueprint&#xff08;模塊化路由&#xff09;顯示當前所有路由 Flask 路由是 Web 應用程序中將 URL 映射到 Python 函數的機制。 定義路由&#xff1a;使用 app…

在el-image組件的預覽中添加打印功能(自定義功能)

思路&#xff1a;給圖片添加點擊事件&#xff0c;通過js獲取預覽的工具欄&#xff0c;在工具欄中添加自定義按鈕及事件 1、html 中 image標簽 <el-image style"width: 139px; height: 89px" :src"fileUrl" :preview-src-list"[fileUrl]" cli…

TongWeb替換tomcat

1、背景 國家近年來大力推進信息技術應用創新產業&#xff08;信創&#xff09;&#xff0c;要求關鍵領域采用自主可控的國產軟硬件。Tomcat作為國外開源產品&#xff0c;存在潛在的安全風險和技術依賴。TongWeb作為國產中間件&#xff0c;符合信創目錄要求&#xff0c;滿足政府…

聯合語音和文本機器翻譯,支持多達100種語言(nature子刊論文研讀)

簡介&#xff1a; &#x1f30d; SEAMLESSM4T 是一種單一模型&#xff0c;實現了跨越多達 101 種源語言和多種目標語言的語音到語音、語音到文本、文本到語音和文本到文本翻譯及自動語音識別。&#x1f680; 該模型性能顯著超越現有級聯系統&#xff0c;特別是在語音到文本和語…

網站公安網安備案查詢API集成指南

網站公安網安備案查詢API集成指南 引言 隨著互聯網應用的日益普及&#xff0c;網絡安全和個人隱私保護越來越受到重視。公安網安備案作為保障網絡安全的重要措施之一&#xff0c;對于確保網站合法合規運營具有重要意義。為了幫助開發者更加便捷地獲取網站的公安網安備案信息&a…

如何用遠程調試工具排查 WebView 與原生通信問題(iOS或Android)

WebView 在移動端開發中的角色越來越關鍵&#xff0c;尤其在混合架構&#xff08;Hybrid&#xff09;項目中&#xff0c;它作為前端與原生的橋梁&#xff0c;承載了大量交互行為。但這個橋梁并不總是穩固&#xff0c;尤其是在涉及 JSBridge 通信 時&#xff0c;前端調用原生接口…

使用 spark-submit 運行依賴第三方庫的 Python 文件

python文件在spark集群運行真的麻煩&#xff0c;煩冗 spark運行分為了三個模式&#xff0c;本地模式/client模式/cluster模式 文章目錄 本地模式client模式cluster模式參考 本地模式 現在的spark支持python3了&#xff0c;支持python2的版本已經很落后了&#xff0c;所以需要…

【android bluetooth 協議分析 05】【藍牙連接詳解2】【acl_interface_t介紹】

1. acl_interface_t 介紹 acl_interface_t 結構體及其子結構體&#xff0c;目的是封裝處理 Classic、LE、SCO 連接及鏈路事件的回調函數&#xff0c;用于 HCI 事件與上層藍牙協議棧的解耦分發。 system/main/shim/acl_legacy_interface.h typedef struct {void (*on_connect…

TouchDIVER Pro觸覺手套:虛擬現實中的多模態交互新選擇

隨著虛擬現實技術的發展&#xff0c;用戶對沉浸式體驗的需求不斷提升。TouchDIVER Pro觸覺手套通過力反饋、紋理渲染和溫度提示三種核心機制&#xff0c;為用戶提供更真實的觸覺感知體驗。六個驅動點分布于五指與手掌&#xff0c;結合全手追蹤與低延遲連接&#xff0c;實現精準…

想考華為HCIA-AI,應該怎么入門?

華為HCIA-AI Solution認證作為華為人工智能認證體系的起點&#xff0c;吸引了許多希望進入AI領域或提升專業技能的學習者。如果你正考慮考取這個認證&#xff0c;這份純科普向的入門指南希望能夠幫你理清學習路徑和關鍵準備點&#xff01; 第一、明確認證目標與要求 HCIA-AI S…

【Oracle篇】Windows平臺單進程多線程架構設計與實現(比對Linux多進程架構)

&#x1f4ab;《博主主頁》&#xff1a; &#x1f50e; CSDN主頁__奈斯DB &#x1f50e; IF Club社區主頁__奈斯、 &#x1f525;《擅長領域》&#xff1a;擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控&#xff1b;并對SQLserver、N…

在微服務中使用 Sentinel

在微服務中集成 Sentinel 1. 添加依賴 對于 Spring Cloud 項目&#xff0c;首先需要添加 Sentinel 的依賴&#xff1a; <!-- Spring Cloud Alibaba Sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…