大數據-276 Spark MLib - 基礎介紹 機器學習算法 Bagging和Boosting區別 GBDT梯度提升樹

點一下關注吧!!!非常感謝!!持續更新!!!

大模型篇章已經開始!

  • 目前已經更新到了第 22 篇:大語言模型 22 - MCP 自動操作 Figma+Cursor 自動設計原型

Java篇開始了!

  • MyBatis 更新完畢
  • 目前開始更新 Spring,一起深入淺出!

目前已經更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 數據挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 離線數倉(已更完)
  • 實時數倉(正在更新…)
  • Spark MLib (正在更新…)

在這里插入圖片描述

Bagging和Boosting區別

數據方面

● Bagging:對數據進行采樣訓練
● Boosting:根據前一輪學習結果調整數據的重要性

投票方面

● Bagging:所有學習器平權投票
● Boosting:對學習器進行加權投票

學習順序

● Bagging:學習是并行的,每個學習器沒有依賴關系
● Boosting:學習是串行的,學習有先后順序

主要作用

● Bagging:主要用于提高泛化性能,解決過擬合
● Boosting:主要用于提高訓練精度,解決欠擬合

GBDT

基本介紹

GBDT的全稱是:Gradient Boosting Decision Tree,梯度提升樹,在傳統機器學習算法中,GBDT算的上是TOP3的算法。

Decision Tree

無論是處理回歸問題還是二分類還是多分類問題,GBDT使用的決策樹統統都是CART回歸樹。
對于回歸樹算法來說最重要的是尋找最佳的劃分點,那么回歸樹中可劃分點包含了所有的特征的所有可取的值。
在分類樹中最佳劃分點的判斷標準是熵或者基尼系數,都是純度來衡量的,但是在回歸樹中的樣本標簽華四連續數值,所以再使用熵之類的指標不再合適,取而代之的是平方誤差,他能很好的評判擬合程度。

回歸決策樹

不管是回歸決策樹還是分類決策樹,都會存在兩個問題:
● 如何選擇劃分點?
● 如何決定葉節點的輸出值?

一個回歸樹對應輸入空間(即特征空間)的一個劃分以及在劃分單元上的輸出值。分類決策樹中,采用的信息論中的方法信息增益以及信息增益率,通過計算選擇最佳劃分點。

在回歸樹中,采用的是啟發式的方法,假設數據集有 n 個特征:
在這里插入圖片描述
假設將輸入空間劃分為M個單元,R1、R2…Rm,那么每個區域的輸出值就是:cm = avg(yi | xi ∈ Rm) 也就是該區域內所有點y值的平均數

舉例:
如下圖,加入要對樓內居民的年齡進行回歸,將樓劃分為3個區域R1,R2,R3,那么R1的輸出就是第一列居民年齡的平均值,R2輸出的就是第二列居民年齡的平均值,R3的輸出就是第三、四列八個居民年齡的平均值
在這里插入圖片描述

算法流程

輸入:訓練數據集D
輸出:回歸樹 f(x)
在訓練數據集所在的輸入空間中,遞歸的將每個區域劃分為兩個子區域并決定每個子區域上的輸出值,構建二叉決策樹:
1.選擇最優切分特征j與切分點s,求解:

在這里插入圖片描述
遍歷特征j對固定的切分特征j掃描切分點s,選擇使得上式達到最小值的對(j,s)

2.用選定的對(j,s)劃分區域并決定相應的輸出值:
在這里插入圖片描述
3.繼續對兩個子區域調用步驟(1)和(2),直到滿足停止條件。
4.將輸入空間劃分M個區域 R1,R2…Rm,生成決策樹:
在這里插入圖片描述

測試案例

通過一個實例加深對回歸決策樹的理解

訓練數據

訓練數據見下表
在這里插入圖片描述

計算過程

選擇最優的切分特征j與最優切分點s:
● 確定第一個問題:選擇最優切分特征:在本數據集中,只有一個特征,因此最優切分特征自然是X
● 確定第二個問題:我們考慮9個切分點[1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5]:損失函數定義平方損失函數 Loss(y,f(x))= (f(x) - y) -y)^2,將上述9個切分點依次帶入下面的公式 cm=avg(yi | xi ∈ Rm)

計算子區域的輸出值:
例如:取 s = 1.5,此時 R1 = {1}, R2 = {2,3,4,5,6,7,8,9,10},這兩個區域的輸出值分別為:
● c1 = 5.56
● c2 = (省略…) = 7.50

同理,可以得到其他各切分點的子區域輸出值,如下表所示:
在這里插入圖片描述

計算損失函數值,找到最優切分點:
把c1,c2的值代入到同平方損失函數 Loss(y, f(x)) = (f(x)- y) ^ 2
當 s = 1.5 時

在這里插入圖片描述
同理,計算得到其他各切分點的損失函數值,可獲得下表:
在這里插入圖片描述
顯然取 s = 6.5 時,m(s)最小,因此,第一個劃分變量【j=x, s=6.5】

用選定的 (j, s) 劃分區域,并決定輸出值:
● 兩個區域分別是 R1={1,2,3,4,5,6}, R2={7,8,9,10}
● 輸出值 cm = avg(yi | xi ∈ Rm),c1 = 6, c2 = 8.91

調用步驟(1)、(2),繼續劃分,對R1繼續劃分:
在這里插入圖片描述
取切分點[1.5,2.5,3.5,4.5,5.5],則各區域的輸出值c如下表:
在這里插入圖片描述
計算損失函數m(s):
在這里插入圖片描述

s=3.5,m(s)最小。

生成回歸樹:
假設在生成3個區域之后停止劃分,那么最終生成的回歸樹形式如下:
在這里插入圖片描述

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

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

相關文章

【HarmonyOS 5】如何優化 Harmony-Cordova 應用的性能?

以下是針對 ?Harmony-Cordova 應用性能優化?的完整方案,結合鴻蒙原生特性和Cordova框架優化策略: ??一、渲染性能優化? ?減少布局嵌套層級? 使用扁平化布局(如 Grid、GridRow)替代多層 Column/Row 嵌套,避免冗…

數據庫管理-第332期 大數據已死,那什么當立?(20250602)

數據庫管理332期 2025-06-02 數據庫管理-第332期 大數據已死,那什么當立?(20250602)1 概念還是技術2 必然的大數據量3 離線到實時4 未來總結 數據庫管理-第332期 大數據已死,那什么當立?(202506…

相機--RGBD相機

教程 分類原理和標定 原理 視頻總結 雙目相機和RGBD相機原理 作用 RGBD相機RGB相機深度; RGB-D相機同時獲取兩種核心數據:RGB彩色圖像和深度圖像(Depth Image)。 1. RGB彩色圖像 數據格式: 標準三通道矩陣&#…

神經符號集成-三篇綜述

講解三篇神經符號集成的綜述,這些綜述沒有針對推薦系統的,所以大致過一下,下一篇帖子會介紹針對KG的兩篇綜述。綜述1關注的是系統集成和數據流的宏觀模式“是什么”;綜述3關注的是與人類理解直接相關的中間過程和決策邏輯的透明度…

window/linux ollama部署模型

模型部署 模型下載表: deepseek-r1 win安裝ollama 注意去官網下載ollama,這個win和linux差別不大,win下載exe linux安裝ollama 采用docker方式進行安裝: OLLAMA_HOST=0.0.0.0:11434 \ docker run -d \--gpus all \-p 11434:11434 \--name ollama \-v ollama:/root/.ol…

計算A圖片所有顏色占B圖片紅色區域的百分比

import cv2 import numpy as npdef calculate_overlap_percentage(a_image_path, b_image_path):# 讀取A組和B組圖像a_image cv2.imread(a_image_path)b_image cv2.imread(b_image_path)# 將圖像從BGR轉為HSV色彩空間,便于顏色篩選a_hsv cv2.cvtColor(a_image, c…

每日算法 -【Swift 算法】盛最多水的容器

盛最多水的容器:Swift 解法與思路分析 📌 問題描述 給定一個長度為 n 的整數數組 height,每個元素表示在橫坐標 i 處的一條垂直線段的高度。任意兩條線段和 x 軸構成一個容器,該容器可以裝水,水量的大小由較短的那條…

云原生安全基礎:Linux 文件權限管理詳解

🔥「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 在云原生環境中,Linux 文件權限管理是保障系統安全的核心技能之一。無論是容器化應用、微服務架構還是基礎設施即代碼(IaC&#xf…

TypeScript 中的字面量類型(Literal Types)

在 TypeScript 中,字面量類型(Literal Types)是一種特殊的類型,它允許你將變量的類型限制為某個具體的值(如特定的字符串、數字或布爾值),而不僅僅是寬泛的類型(如 string、number&a…

晶臺光耦在手機PD快充上的應用

光耦(光電隔離器)作為關鍵電子元件,在手機PD快充中扮演信號隔離與傳輸的“安全衛士”。其通過光信號實現電氣隔離,保護手機電路免受高電壓損害,同時支持實時信號反饋,優化充電效率。 晶臺品牌推出KL817、KL…

python學習打卡day43

DAY 43 復習日 作業: kaggle找到一個圖像數據集,用cnn網絡進行訓練并且用grad-cam做可視化 浙大疏錦行 數據集使用貓狗數據集,訓練集中包含貓圖像4000張、狗圖像4005張。測試集包含貓圖像1012張,狗圖像1013張。以下是數據集的下…

大數據與數據分析【數據分析全棧攻略:爬蟲+處理+可視化+報告】

- 第 100 篇 - Date: 2025 - 05 - 25 Author: 鄭龍浩/仟墨 大數據與數據分析 文章目錄 大數據與數據分析一 大數據是什么?1 定義2 大數據的來源3 大數據4個方面的典型特征(4V)4 大數據的應用領域5 數據分析工具6 數據是五種生產要素之一 二 …

uniapp 開發企業微信小程序,如何區別生產環境和測試環境?來處理不同的服務請求

在 uniapp 開發企業微信小程序時,區分生產環境和測試環境是常見需求。以下是幾種可靠的方法,幫助你根據環境處理不同的服務請求: 一、通過條件編譯區分(推薦) 使用 uniapp 的 條件編譯 語法,在代碼中標記…

青少年編程與數學 02-020 C#程序設計基礎 15課題、異常處理

青少年編程與數學 02-020 C#程序設計基礎 15課題、異常處理 一、異常1. 異常的分類2. 異常的作用小結 二、異常處理1. 異常處理的定義2. 異常處理的主要組成部分3. 異常處理的作用小結 三、C#異常處理1. 異常的基本概念2. 異常處理的關鍵字3. 異常處理的流程4. 自定義異常5. 異…

云原生時代 Kafka 深度實踐:05性能調優與場景實戰

5.1 性能調優全攻略 Producer調優 批量發送與延遲發送 通過調整batch.size和linger.ms參數提升吞吐量: props.put(ProducerConfig.BATCH_SIZE_CONFIG, 16384); // 默認16KB props.put(ProducerConfig.LINGER_MS_CONFIG, 10); // 等待10ms以積累更多消息ba…

在 Dify 項目中的 Celery:異步任務的實現與集成

Celery 是一個強大而靈活的分布式任務隊列系統,旨在幫助應用程序在后臺異步運行耗時的任務,提高系統的響應速度和性能。在 Dify 項目中,Celery 被廣泛用于處理異步任務和定時任務,并與其他工具(如 Sentry、OpenTelemet…

Pytorch Geometric官方例程pytorch_geometric/examples/link_pred.py環境安裝教程及圖數據集制作

最近需要訓練圖卷積神經網絡(Graph Convolution Neural Network, GCNN),在配置GCNN環境上總結了一些經驗。 我覺得對于初學者而言,圖神經網絡的訓練會有2個難點: ①環境配置 ②數據集制作 一、環境配置 我最初光想…

2025年微信小程序開發:AR/VR與電商的最新案例

引言 微信小程序自2017年推出以來,已成為中國移動互聯網生態的核心組成部分。根據最新數據,截至2025年,微信小程序的日活躍用戶超過4.5億,總數超過430萬,覆蓋電商、社交、線下服務等多個領域(WeChat Mini …

互聯網向左,區塊鏈向右

2008年,中本聰首次提出了比特幣的設想,這打開了去中心化的大門。 比特幣白皮書清晰的描述了去中心化支付的解決方案,并分別從以下幾個方面闡述了他的理念: 一、由轉賬雙方點對點的通訊,而不通過中心化的第三方&#xf…

PV操作的C++代碼示例講解

文章目錄 一、PV操作基本概念(一)信號量(二)P操作(三)V操作 二、PV操作的意義三、C中實現PV操作的方法(一)使用信號量實現PV操作代碼解釋: (二)使…