大連理工大學選修課——機器學習筆記(7):集成學習及隨機森林

集成學習及隨機森林

集成學習概述

泛化能力的局限

每種學習模型的能力都有其上限

  • 限制于特定結構
  • 受限于訓練樣本的質量和規模

如何再提高泛化能力?

  • 研究新結構
  • 擴大訓練規模

提升模型的泛化能力

創造性思路

  • 組合多個學習模型

集成學習

集成學習不是特定的學習模型,而實一種構建模型的思路,一種訓練學習的思想

強可學習和弱可學習

強可學習:對于一個概念或者一個類,如果存在一個多項式學習算法可以學習它,正確率高,則該概念是強可學習的。

弱可學習:如果能學習,但正確率只比瞎猜略好,則稱為弱可學習。

也已證明,強可學習和弱可學習等價:

如果一個問題存在弱可學習算法,則必然存在強可學習算法

為集成學習奠定了基礎

在這里插入圖片描述

集成學習的基本問題

如何建立或選擇弱學習模型

弱學習模型通常是單個的模型,是被集成的成員

如何制定組合策略

如何將多個學習模型的預測結果整合在一起

不同的組合策略會帶來不同的結果

構建弱學習模型的策略

通常弱學習模型都是同類學習模型

同類模型之間的關系

  1. 無依賴關系

    • 系列成員模型可以并行生成
    • 代表算法:bagging,隨機森林
  2. 強依賴關系

    • 系列成員模型可串行生成
    • 代表算法:boosting、梯度提升樹
  3. 平均法

    1. 處理回歸問題

    2. 對弱學習模型的輸出進行平均得到最終的預測輸出

      H ( x ) = 1 n ∑ i = 1 n h i ( x ) H(x)=\frac{1}{n}\sum_{i=1}^nh_i(x) H(x)=n1?i=1n?hi?(x)

    3. 也可以引入權重

      H ( x ) = 1 n ∑ i = 1 n w i h i ( x ) H(x)=\frac{1}{n}\sum_{i=1}^nw_ih_i(x) H(x)=n1?i=1n?wi?hi?(x)

  4. 投票法

  • 處理分類問題

    少數服從多數,最大票數相同則隨機選擇

    也可以新增加要求,例如票數過半

    也可以給每個成員不同的投票權重

  1. 再學習法

    平均法和投票法可能帶來大學習誤差

    • 再學習
      • 建立新的學習模型:再集成學習的組合端增加一個學習模型

      • 成員學習的模型輸出作為新的學習模型的輸入,集成模型的數量為n,新數據集維度為n

      • 代表方法:stacking

        在這里插入圖片描述

Bagging

——Bagging Aggregating的縮寫

Bootstrap是一種有放回操作的抽樣方法

  • 抽取的樣本會有重復

在這里,用來指導構建弱分類器

  • 使用同類學習模型時采用的策略

  • 可降低模型過擬合的可能性

    在這里插入圖片描述

采樣過程說明

  • 樣本集規模為M,采樣集規模也為M

    • 樣本集的樣本不減少,每次采集后還要放回,因此同一樣本可能會多次采集到。
    • 每次隨機采集一個樣本,隨機采集M次,組成采樣集
    • 隨機采樣,組成規模為M的n個采樣集
      • 由于隨機性,n個采樣集不完全一樣
      • 訓練出的弱學習模型也存在差別
  • 采樣集中不被選中樣本的概率

    每次采樣,每個樣本不被選中的概率為:

    p ( x ) = 1 ? 1 M p(x)=1-\frac{1}{M} p(x)=1?M1?

    M次不被選中的概率為:

    p ( x ) = ( 1 ? 1 M ) M lim ? M → ∞ ( 1 ? 1 M ) M = 1 e ≈ 0.368 p(x)=(1-\frac{1}{M})^M\\ \lim_{M\to\infty}(1-\frac{1}{M})^M=\frac{1}{e}\approx0.368 p(x)=(1?M1?)MMlim?(1?M1?)M=e1?0.368

    這些數據稱為袋外數據,大約36.8%的樣本可以用作測試集

弱學習模型的選擇

  • 原則上沒有限制,通常選擇決策樹或神經網絡

組合策略

回歸問題用平均法,分類問題用投票法

算法描述

在這里插入圖片描述

隨機森林

——Bagging算法的一個具體實現

  • 采用CART作為弱學習模型
  • 特征選擇也引入了隨機性
    • 隨機選擇特征的子集 d s u b < d d_{sub}<d dsub?<d
    • 在子集中選擇最優的分割特征
    • 該操作可以進一步增強學習模型的泛化能力

極端隨機樹(ExtraTrees)

極端隨機樹的弱分類器不依賴于訓練的改變

  • 不抽樣,也就不使用Bootstrap方法
  • 也不像Boosting那樣,改變訓練樣本權重

它的隨機性體現在樹結點分裂時的兩個隨機過程

  1. 隨機選擇一小部分樣本的特征
  2. 隨機在部分屬性隨機選擇使結點分裂的屬性
    1. 因為不考慮分裂的是不是最優屬性,因此有些“極端”。

極端隨機樹的優勢

算法復雜度

  • 對比RandomForest,Extratree更快
    • 不抽樣,不選擇最優特征

擬合效果

因為不選擇最優特征,預測結果的方差大,不易過擬合

基本不用剪枝

泛化能力

在某些領域ExtraTree比RandomForest好些

對于那些訓練集分布與真實差別比較大的數據,ExtraTree更有優勢

如果弱學習模型引入Bootstrap,隨機性會進一步增大

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

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

相關文章

嵌入式產品運行中數據丟失怎么辦?

目錄 1、數據丟失現象與根源分析 2、硬件層優化 3、系統/驅動層優化 4、應用軟件層優化 5、文件系統選型深度解析 5.1、NAND Flash 適用文件系統 5.2、eMMC 適用文件系統 6、系統掛載選項優化實踐 嵌入式系統在運行過程中&#xff0c;尤其是在涉及頻繁數據寫入&#xf…

第十一節:性能優化高頻題-響應式數據深度監聽問題

解決方案&#xff1a;watch的deep: true選項或watchEffect自動追蹤依賴 Vue響應式數據深度監聽與性能優化指南 一、深度監聽的核心方案 watch的deep: true模式 ? Vue2實現&#xff1a;需顯式聲明深度監聽配置 watch: {obj: {handler(newVal) { /* 處理邏輯 */ },deep: tru…

【Linux實踐系列】:進程間通信:萬字詳解命名管道實現通信

&#x1f525; 本文專欄&#xff1a;Linux Linux實踐項目 &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 與其等待完美的風&#xff0c;不如學會在逆風中調整帆的角度——所有偉大航程都始于此刻出發的勇氣 ★★★ 本文前置知…

權力結構下的人才價值重構:從 “工具論” 到 “存在論” 的轉變?

引言? 在現在的公司管理里&#xff0c;常常能聽到這樣一種說法&#xff1a;“我用你&#xff0c;你才是人才&#xff1b;不用你&#xff0c;你啥都不是。” 這其實反映了一種很常見的評判人才價值的標準&#xff0c;就是只看公司的需求&#xff0c;把人才當作實現公司目標的工…

UE實用地編插件Physical Layout Tool

免費插件 https://www.fab.com/zh-cn/listings/a7fb6fcf-596f-48e9-83cc-f584aea316b1 可以通過物理模擬批量放置物體 不用再一個個擺放了 裝飾環境從未如此簡單&#xff0c;您不必再考慮對齊物體。 物理地放置物體&#xff0c;移動它們&#xff0c;在移動或在地圖上放置物體…

Nerfstudio 環境配置與自有數據集(圖片和視頻)測試全方位全流程實戰【2025最新版!!】

一、引言 神經輻射場(Neural Radiance Fields&#xff0c;簡稱NeRF)是近年來計算機視覺和圖形學領域的一項革命性技術&#xff0c;它能夠從2D圖像中學習復雜的3D場景表示。然而&#xff0c;NeRF技術的實現和應用門檻較高&#xff0c;需要較為專業的計算機視覺和深度學習知識。…

Transformer:顛覆深度學習的架構革命與技術演進

2017年&#xff0c;谷歌團隊在論文《Attention Is All You Need》中提出的Transformer架構&#xff0c;徹底改變了人工智能對序列數據的處理范式。它不僅解決了傳統循環神經網絡&#xff08;RNN&#xff09;的長期依賴和并行化難題&#xff0c;更催生了BERT、GPT等劃時代模型&a…

原型模式(Prototype Pattern)詳解

文章目錄 1. 什么是原型模式&#xff1f;2. 為什么需要原型模式&#xff1f;3. 原型模式的結構4. 原型模式的基本實現4.1 基礎示例&#xff1a;簡單的原型模式4.2 使用Java的Cloneable接口 5. 深拷貝與淺拷貝5.1 淺拷貝&#xff08;Shallow Copy&#xff09;5.2 深拷貝&#xf…

掉餡餅,八分之一到二分之一:《分析模式》漫談59

DDD領域驅動設計批評文集 做強化自測題獲得“軟件方法建模師”稱號 《軟件方法》各章合集 “Analysis Patterns”的第6章“存貨和會計”原文&#xff1a; The transactions creation would then be the only place that could create entries. ... Providing only the trans…

使用Python和Pandas實現的Amazon Redshift權限檢查與SQL生成用于IT審計

import pandas as pd import psycopg2 from psycopg2 import sql# 連接Redshift conn psycopg2.connect(hostyour-cluster.endpoint.redshift.amazonaws.com,port5439,dbnamedev,useradmin,passwordyour-password )# 權限檢查函數 def check_redshift_permissions(conn):"…

Cribl 數據脫敏 更多方法 MASK (三)

我做過好幾個cribl 數據脫敏的實驗: Cribl 脫敏mask-CSDN博客

Android Studio下載安裝教程

## 什么是Android Studio Android Studio是Google官方推出的Android應用開發集成環境(IDE)&#xff0c;基于IntelliJ IDEA開發&#xff0c;專門用于Android應用開發。它包含了代碼編輯器、可視化布局編輯器、應用性能分析工具、模擬器等功能&#xff0c;為開發者提供了一站式的…

如何測試登錄模塊?全面測試思路解析

思路如下: 面試官問"如何測試一個登錄模塊?"時,考察的是你的測試思維是否全面,能否覆蓋功能、安全、性能、兼容性等多個維度。下面我會從不同角度詳細展開,確保回答既系統又深入。 1. 功能測試(Functional Testing) 1.1 正常流程測試 ? 正確的用戶名+密碼:…

MySQL基礎篇 | 數據庫概述及在TencentOS中安裝MySQL8.0.42版本

MySQL基礎篇 | 在TencentOS中安裝MySQL8.0.42版本 1. 數據庫概述2. 部署前準備工作2.1. 安裝依賴包2.2. GCC版本升級3. MySQL服務部署3.1. 編譯部署MySQL3.2. 初始化數據庫3.3. 啟動數據庫4. 數據庫配置4.1 配置環境變量4.2. 首次登錄設置1. 數據庫概述 SQL Server:SQL Server…

Angular教程前言:歷史、安裝與用途

Angular 是一個強大且流行的開源前端 Web 應用程序框架&#xff0c;由 Google 開發并維護 1。它在現代 Web 開發中占據著重要的地位&#xff0c;尤其在構建動態、高效且可擴展的 Web 應用程序方面表現出色&#xff0c;特別適用于單頁應用程序 (SPA) 和復雜的用戶界面 1。本教程…

systemd和OpenSSH

1 systemd 1.1 配置文件 /etc/systemd/system /lib/systemd/system /run/systemd/system /usr/lib/systemd/user 1.2 commands systemctl list-unit-files | grep enable systemctl cat dlt-daemon.service systemctl cat dlt-system.service systemctl show dlt-daemon.ser…

如何實現一個可視化的文字編輯器(C語言版)?

一、軟件安裝 Visual Studio 2022 Visual Studio 2022 是微軟提供的強大集成開發環境&#xff08;IDE&#xff09;&#xff0c;廣泛用于C/C、C#、Python等多種編程語言的開發。它提供了許多強大的工具&#xff0c;幫助開發者編寫、調試和優化代碼。 1.下載 Visual Studio 202…

ArrayList的特點及應用場景

ArrayList的特點及應用場景 一、ArrayList核心特點 基于動態數組實現 底層使用Object[]數組存儲元素 默認初始容量為10 擴容機制&#xff1a;每次擴容為原來的1.5倍&#xff08;int newCapacity oldCapacity (oldCapacity >> 1)&#xff09; 快速隨機訪問 實現了R…

深挖Java基礎之:變量與類型

今天我要介紹的是在Java中對變量和類型的一些相關知識點的介紹&#xff0c;包括對基本數據類型&#xff0c;引用類型&#xff0c;變量命名規則和類型轉換以及其注意事項的解明。 java變量與類型&#xff1a;Java 是靜態類型語言&#xff0c;變量必須先聲明類型后使用。變量是存…

數據結構與算法學習筆記(Acwing提高課)----動態規劃·背包模型(一)

數據結構與算法學習筆記----動態規劃背包模型(一) author: 明月清了個風 first publish time: 2025.5.1 ps??背包模型是動態規劃中的重要模型&#xff0c;基礎課中已對背包模型的幾種模版題有了講解&#xff0c;[鏈接在這](數據結構與算法學習筆記----背包問題_有 n 件物品…