集成學習筆記

集成學習

簡介

在這里插入圖片描述

決策樹

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

GBDT

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
擬合殘差
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

一般 GBDT

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

XGBOOST

1
能表達樣本落入的子節點,但是不能把表示結構
在這里插入圖片描述
2
在這里插入圖片描述

3.正則項 – 懲罰

防止過擬合,比如一個值總共有10顆樹都是由同一顆樹決定的,過擬合
5
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
找到一種方式不依賴于損失函數 – 二階泰勒
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述gi – 一階梯度 hi–二階梯度
損失
在這里插入圖片描述
凸函數Hj為正,lambda為正
在這里插入圖片描述
7 確定樹結構

  • 窮舉 – 所有組合,復雜度太高,不可行
  • gain – 貪心算法
    • 增益 = obj前 - obj后

不需要考慮排列組合的過程
在這里插入圖片描述
停止分裂:
1 max(gain) <= 0
2 葉子節點個數
3 效果

作者代碼
在這里插入圖片描述
在這里插入圖片描述

唐宇迪

O b j ( Θ ) = L ( Θ ) + Ω ( Θ ) Obj(\Theta) = L(\Theta)+\Omega(\Theta) Obj(Θ)=L(Θ)+Ω(Θ)

損失:
L = ∑ i = 1 n l ( y i , y i ^ ) L = \sum_{i=1}^{n}{l(y_i,\hat{y_i})} \hspace{4cm} L=i=1n?l(yi?,yi?^?)

O b j = ∑ i = 1 n l ( y i , y i ^ ) + ∑ = 1 t Ω ( f i ) Obj= \sum_{i=1}^{n}{l(y_i,\hat{y_i})}+\sum_{=1}^{t}\Omega({f_i)} \hspace{4cm} Obj=i=1n?l(yi?,yi?^?)+=1t?Ω(fi?)

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

樣本的遍歷轉化為葉子節點的遍歷是等價的

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

Gain
在這里插入圖片描述

xgboost的安裝
https://www.lfd.uci.edu/~gohlke/pythonlibs/
搜索xgboost
https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

xgboost參數:

‘booster’:‘gbtree’,
‘objective’: ‘multi:softmax’, 多分類的問題
‘num_class’:10, 類別數,與 multisoftmax 并用
‘gamma’:損失下降多少才進行分裂
‘max_depth’:12, 構建樹的深度,越大越容易過擬合
‘lambda’:2, 控制模型復雜度的權重值的L2正則化項參數,參數越大,模型越不容易過擬合。
‘subsample’:0.7, 隨機采樣訓練樣本
‘colsample_bytree’:0.7, 生成樹時進行的列采樣
‘min_child_weight’:3, 孩子節點中最小的樣本權重和。如果一個葉子節點的樣本權重和小于min_child_weight則拆分過程結束
‘silent’:0 ,設置成1則沒有運行信息輸出,最好是設置為0.
‘eta’: 0.007, 如同學習率
‘seed’:1000,
‘nthread’:7, cpu 線程數

在這里插入圖片描述

為什么xgboost要用二階泰勒展開,優勢在哪里?

xgboost進行了二階泰勒展開, 使用梯度下降求解時收斂速度更快。
引入二階泰勒展開是為了統一損失函數求導的形式,以支持自定義損失函數。二階泰勒展開可以在不選定損失函數具體形式的情況下, 僅僅依靠輸入數據的值就可以進行葉子分裂優化計算, 本質上也就把損失函數的選取和模型算法優化(參數選擇)分開了。 這種去耦合方法增加了xgboost的適用性, 使得它可以自定義損失函數, 可以用于分類, 也可以用于回歸。
————————————————
版權聲明:本文為CSDN博主「Yasin_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Yasin0/article/details/82154768

Adaboost

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2 特征選擇

2.1

在這里插入圖片描述

2.2 參數
1.1 weight

特征在所有樹中作為劃分屬性的次數。

1.2 gain

特征在作為劃分屬性時loss平均的降低量(也就是特征的信息增益),以特征k=1,2,…,K為例,其重要度計算可以表述如下:
在這里插入圖片描述
這里k表示某節點,T表示所有樹的數量,N(t)表示第t棵樹的非葉子節點數量, [公式] 表示第t棵樹的第i個非葉子節點的劃分特征,所以 [公式] ,I(.)是指示函數, [公式] 分別表示落在第t棵樹的第i個非葉子節點上所有樣本的一階導數和二階導數之和,[公式]分別表示落在第t棵樹上第i個非葉子節點的左、右節點上的一階導數之和,同理,[公式]分別表示落在第t棵樹上第i個非葉子節點的左、右節點上的二階導數之和,所以有
在這里插入圖片描述
λ為正則化項的超參數。

1.3 cover

這個計算方法,需要在定義模型時定義。之后再調用model.feature_importance_得到的便是cover得到的貢獻度。

cover形象地說,就是樹模型在分裂時,特征下的葉子節點涵蓋的樣本數除以特征用來分裂的次數。分裂越靠近根部,cover值越大。比如可以定義為:特征在作為劃分屬性時對應樣本的二階導數之和的平均值:
在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

Android開發之內訪Sqlite數據庫(六)

文章目錄 1. Android開發之外訪Sqlite數據庫1.1 Sqlite數據庫的優點1.2 Sqlite接口簡介接口中的抽象方法接口中的實例方法接口的構造方法示例步驟例子 —— 實現增刪改查 1. Android開發之外訪Sqlite數據庫 SQLite是一個軟件庫&#xff0c;實現了自給自足的、無服務器的、零配…

python的優勢有哪些?

python的優點很多&#xff0c;下面簡單地列舉一些&#xff1a; 簡單 Python的語法非常優雅&#xff0c;甚至沒有像其他語言的大括號&#xff0c;分號等特殊符號&#xff0c;代表了一種極簡主義的設計思想。閱讀Python程序像是在讀英語。 易學 Python入手非常快&#xff0c;學習…

K8s:無狀態

無狀態服務 無狀態服務是指服務的實例之間沒有持久化狀態&#xff0c;每個實例都是相同的&#xff0c;可以互換使用。 調度器 ReplicationController 簡稱 RC是 Kubernetes 早期版本中用來確保 Pod 副本始終運行的 API 對象。它通過監控 Pod 副本的數量&#xff0c;確保任何…

vue 常用的 UI 框架及表格

vue 3 常用的 UI 框架及表格 常用 UI 框架 Element PlusAnt Design VueiViewVxe UIVuetifyBootstrap VueMuse UI 專業表格 SpreadJSAG GridVxe Table

Linux——內存管理代碼分析

虛空間管理 頁框和頁的關系 頁框 將內存空間分為一個個大小相等的分區(比如:每個分區4KB),每個分區就是一個頁框&#xff0c;也叫頁幀&#xff0c;即物理頁面&#xff0c;是linux劃分內存空間的結果。 每個頁框都有一個頁框號&#xff0c;即內存塊號、物理塊號。 頁 將用戶…

深度學習之指數移動平均模型(EMA)介紹

指數移動平均模型&#xff08;Exponential Moving Average Model&#xff0c;EMA&#xff09;是一種用于平滑時間序列數據的技術。它通過對數據進行加權平均來減少噪音和波動&#xff0c;從而提取出數據的趨勢。 在深度學習中&#xff0c;EMA 常常用于模型的參數更新和優化過程…

完整指南:遠程管理 Linux 服務器的 Xshell6 和 Xftp6 使用方法(Xshell無法啟動:要繼續使用此程序........,的解決方法)

&#x1f600;前言 在當今軟件開發領域&#xff0c;遠程管理 Linux 服務器已成為日常工作的重要組成部分。隨著團隊成員分布在不同的地理位置&#xff0c;遠程登錄工具的使用變得至關重要&#xff0c;它們為開發人員提供了訪問和管理服務器的便捷方式。本文將介紹兩款功能強大的…

python隨機顯示四級詞匯 修改版直接顯示釋義

python隨機顯示四級詞匯 修改版直接顯示釋義 添加暫停 和繼續(按下中建滾輪觸發) 按下右鍵 退出程序 解決在暫停后 ,重新調用update_word 會明顯發現每隔5秒更新一次單詞的速率已經改變 速率改變的問題可能是由于暫停期間沒有清除之前的定時器所導致的。為了確保重新調用updat…

Linux高級進階-ssh配置

Ubuntu-system 允許使用root遠程登陸 apt install ssh -y在/etc/ssh/sshd_config 文件修改PermitRootLogin yes systemctl restart ssh遠程連接軟件用戶名為root

Ubuntu系統中Apache Web服務器的配置與實戰

?? 歡迎大家來訪Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭?&#xff5e;?? &#x1f31f;&#x1f31f; 歡迎各位親愛的讀者&#xff0c;感謝你們抽出寶貴的時間來閱讀我的文章。 我是Srlua小謝&#xff0c;在這里我會分享我的知識和經驗。&am…

Educational Codeforces Round 166(Div.2) A~D

A.Verify Password&#xff08;字符串&#xff09; 題意&#xff1a; Monocarp正在開發他的新網站&#xff0c;目前面臨的挑戰是如何讓用戶選擇強密碼。 Monocarp認為&#xff0c;強密碼應滿足以下條件&#xff1a; 密碼只能由小寫拉丁字母和數字組成&#xff1b;字母后面不…

PasteCode系列系統說明

定義 PasteCode系列是指項目是基于PasteTemplate構建的五層以上項目&#xff0c;包括不僅限于 Domain EntityFrameworkCore Application.Contracts Application HttpApi.Host 熟悉ABP vNext就很好理解了&#xff0c;因為PasteTemplate就是基于ABP的框架精簡而來&#xff01;在…

一些Mysql面試題

InnoDB是如何存儲數據的&#xff1f; InnoDB 的數據是按「數據頁」為單位來讀寫的&#xff0c;默認數據頁大小為 16 KB。每個數據頁之間通過雙向鏈表的形式組織起來&#xff0c;物理上不連續&#xff0c;但是邏輯上連續。 數據頁內包含用戶記錄&#xff0c;每個記錄之間用單向…

【java 如何將字符串反轉?】

文章目錄 概要示例&#xff08;1&#xff09;使用StringBuilder的reverse方法&#xff08;2&#xff09;使用charAt和循環&#xff08;3&#xff09;使用雙指針&#xff08;4&#xff09;使用遞歸 總結 概要 在Java中&#xff0c;有多種方法可以將字符串反轉&#xff0c;我這里…

代碼隨想錄訓練營第二天 977有序數組的平方 209長度最小的子數組 59螺旋矩陣II

第一題&#xff1a; 題目鏈接&#xff1a;977. 有序數組的平方 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 先將數組求完平方和后進行排序&#xff0c;很簡單&#xff0c;主要是排序算法的考察。 這里采用快排 快排的思路&#xff1a; 取這個數組的中間值…

代碼隨想錄算法訓練營第四十六 | ● 139.單詞拆分 ● 關于多重背包,你該了解這些! ● 背包問題總結篇!

139.單詞拆分 視頻講解&#xff1a;https://www.bilibili.com/video/BV1pd4y147Rh https://programmercarl.com/0139.%E5%8D%95%E8%AF%8D%E6%8B%86%E5%88%86.html class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<st…

java stream流之groupby的用法

簡單分組 按照年齡對 Person 對象進行分組&#xff1a; 代碼示例 import java.util.*; import java.util.stream.Collectors;public class SimpleGrouping {public static void main(String[] args) {List<Person> people Arrays.asList(new Person("Alice"…

上市即交付,比亞迪秦L DM-i萬人交車暨千媒眾測開營

6月6日&#xff0c;“引領中級 開創油耗2時代”秦L DM-i萬人交車暨千媒眾測開營儀式在比亞迪大本營深圳盛大舉行。 眾多車主代表親臨現場&#xff0c;與全國各地的比亞迪4S店千店聯動&#xff0c;將秦L DM-i全國交付推向新的高潮。發布即量產&#xff0c;上市即交付&#xff0…

ESP32:FreeRTOS節拍配置(vTaskDelay延時10ms改為1ms)

文章目錄 背景方法手動修改sdkconfig通過idf.py menuconfig 背景 在FreeRTOS的默認配置中&#xff0c;任務調度的頻率默認是100HZ&#xff0c;因此默認vTaskDelay默認延時是10ms。 FreeRTOS 的系統時鐘節拍可以在配置文件 FreeRTOSConfig.h 里面設置&#xff1a;#define confi…

【HarmonyOS】鴻蒙應用子模塊module資源如何獲取

【HarmonyOS】鴻蒙應用子模塊module資源如何獲取 一、問題背景&#xff1a; 在多模塊項目工程中&#xff0c;單個模塊的資源不會放在主模塊中&#xff0c;所以我們需要在子模塊中訪問自己的資源。如果使用默認的資源獲取api&#xff0c;會提示找不到資源。 那如何獲取子模塊下…