機器學習與深度學習06-決策樹02

目錄

    • 前文回顧
    • 5.決策樹中的熵和信息增益
    • 6.什么是基尼不純度
    • 7.決策樹與回歸問題
    • 8.隨機森林是什么

前文回顧

上一篇文章地址:鏈接

5.決策樹中的熵和信息增益

熵和信息增益是在決策樹中用于特征選擇的重要概念,它們幫助選擇最佳特征進行劃分。

  1. 熵(Entropy):熵是信息論中用來度量不確定性或混亂程度的概念。在決策樹中,熵被用來度量一個節點的不純度,即該節點包含多少不同類別的樣本,熵的計算公式為,對于節點t, p i p_i pi?表示類別i在節點t中的樣本比例

E n t r o p y ( t ) = ? ∑ i = 1 c p i log ? 2 ( p i ) Entropy(t) = - \sum_{i = 1}^{c} p_i \log_2(p_i) Entropy(t)=?i=1c?pi?log2?(pi?)
其中,c表示類別的數量。熵的值在0和1之間,越接近0表示節點越純凈,越接近1表示節點的不純度越高。

  1. 信息增益(Information Gain):信息增益用于選擇最佳特征來劃分數據集。它衡量了通過選擇某個特征進行劃分后,父節點的熵減少了多少,即子節點的不純度相對于父節點而言減少了多少, 信息增益的計算公式為
    I n f o r m a t i o n G a i n ( D , A ) = E n t r o p y ( D ) ? ∑ v ∈ V a l u e s ( A ) ∣ D v ∣ ∣ D ∣ E n t r o p y ( D v ) Information \ Gain(D, A) = Entropy(D) - \sum_{v \in Values(A)} \frac{|D_v|}{|D|} Entropy(D_v) Information?Gain(D,A)=Entropy(D)?vValues(A)?DDv??Entropy(Dv?)
    其中,D是父節點的數據集,A是要劃分的特征, V a l u e s ( A ) Values(A) Values(A)是特征A的取值集合, D v D_v Dv?是特征A取值為v時的子節點數據集,信息增益的目標是選擇使得信息增益最大的特征來進行劃分,因為最大的信息增益意味著劃分后的子節點更純凈,不確定性更低。因此,信息增益可以幫助決策樹選擇最能有效地劃分數據的特征,從而構建更加有用的決策樹模型
    需要注意的是,信息增益在選擇特征時有一定的偏向性,它傾向于選擇取值較多的特征,因此在某些情況下可能不適用。為了解決這個問題,基尼不純度(Gini Impurity)是另一種可選的劃分準則,它在某些情況下更適用于特征選擇。在實際應用中,可以根據具體問題和數據集選擇適當的劃分準則

6.什么是基尼不純度

基尼不純度是一種用于決策樹中的劃分準則,它用來度量一個節點的不純度或混亂程度,基尼不純度越低,表示節點的純度越高,即該節點包含的樣本更傾向于屬于同一類別。與信息增益不同,基尼不純度不依賴于對數,計算相對較為簡單。基尼不純度的計算公式為,對于節點t, p i p_i pi?表示類別i在節點t中的樣本比例
G i n i ( t ) = 1 ? ∑ i = 1 c ( p i ) 2 Gini(t) = 1 - \sum_{i = 1}^{c} (p_i)^2 Gini(t)=1?i=1c?(pi?)2
其中,c表示類別的數量。基尼不純度的值在0和1之間,越接近0表示節點越純凈,越接近1表示節點的不純度越高,與信息增益相比,基尼不純度有一些不同之處:

  1. 計算方式:信息增益使用對數計算,而基尼不純度使用平方計算。這意味著基尼不純度對誤分類的懲罰相對較小,因此更偏向于選擇具有最大基尼不純度下降的特征
  2. 取值范圍:信息增益的取值范圍在0到1之間,而基尼不純度的取值范圍也在0到1之間,但通常基尼不純度的值略高于信息增益
  3. 應用場景:基尼不純度在某些情況下更適用于特征選擇。特別是在處理多分類問題(類別數較多)時,基尼不純度通常表現更好,因為它偏向于選擇取值較少的特征,可以降低樹的復雜度

在選擇劃分特征時,可以根據具體問題和數據集的特點選擇使用信息增益或基尼不純度。通常情況下,它們都是有效的劃分準則,但在不同情況下可能表現出不同的優勢。機器學習庫(如Scikit-Learn)通常提供了兩者的選項,以便根據問題需求進行選擇

7.決策樹與回歸問題

決策樹是一種用于分類和回歸問題的機器學習模型,它們的主要區別在于應用的問題類型和輸出變量的性質。

  1. 分類問題:在分類問題中,目標是將輸入數據分為預定義的類別或標簽中的一個。決策樹用于解決分類問題時,每個葉子節點代表一個類別,模型通過從根節點到葉子節點的路徑來確定數據點的類別。例如,可以使用決策樹來判斷電子郵件是垃圾郵件還是正常郵件、患者是否患有某種疾病等
  2. 回歸問題:在回歸問題中,目標是預測一個連續的數值輸出,而不是分類標簽。決策樹用于解決回歸問題時,每個葉子節點代表一個數值,模型通過從根節點到葉子節點的路徑來預測數據點的數值輸出。例如,可以使用決策樹來預測房屋價格、股票價格等連續性輸出
  3. 主要區別:主要區別在于輸出變量的性質。分類問題的輸出是離散的類別標簽,而回歸問題的輸出是連續的數值。決策樹的構建和評估方法在兩種問題中基本相同,但葉子節點的表示和預測方式不同
  4. 將決策樹應用于回歸問題:要將決策樹應用于回歸問題,需要對其進行一些適應性修改

以下是一些將決策樹用于回歸問題的關鍵點:

  1. 葉子節點的表示:在回歸決策樹中,葉子節點不再代表類別標簽,而代表數值。通常,葉子節點的數值是該節點中所有訓練樣本的目標變量值的平均值
  2. 劃分準則:在回歸決策樹中,常用的劃分準則包括均方誤差(Mean Squared Error)和平均絕對誤差(Mean Absolute Error)。劃分時選擇使均方誤差或平均絕對誤差最小化的特征和取值
  3. 剪枝:與分類決策樹類似,回歸決策樹也可以進行剪枝操作,以減小樹的復雜度,提高泛化能力
  4. 評估指標:在回歸問題中,通常使用均方誤差、平均絕對誤差、決定系數(R-squared)等指標來評估模型的性能

8.隨機森林是什么

隨機森林(Random Forest)是一種集成學習算法,用于改進單個決策樹模型的性能。是一種強大且廣泛應用的機器學習方法,隨機森林的核心思想是通過構建多個決策樹,并將它們的預測結果結合起來,來提高整體模型的性能和魯棒性,以下是隨機森林是如何改進單個決策樹模型性能的主要方式

  1. 隨機抽樣(Bootstrap抽樣):在構建每棵決策樹時,隨機森林從訓練數據中使用有放回抽樣(Bootstrap抽樣)來創建不同的訓練子集。這意味著每棵樹使用的數據集都是略有不同的,從而增加了模型的多樣性
  2. 隨機特征選擇:在每次分裂決策樹節點時,隨機森林不考慮所有特征,而是從所有特征中隨機選擇一個子集用于分裂。這樣可以防止某些特征在模型中占據主導地位,增加了模型的多樣性,同時也提高了計算效率
  3. 多數投票或平均:當隨機森林中的所有決策樹都構建完成后,它們的預測結果會被結合起來。對于分類問題,采用多數投票的方式,即每棵樹投票選擇類別,最終選擇得票最多的類別作為模型的預測結果。對于回歸問題,采用平均的方式,即將所有樹的預測結果取平均值作為最終預測值
  4. 降低過擬合風險:由于隨機森林的每個決策樹都是在不同的子集上訓練的,因此它們具有較高的多樣性,降低了過擬合的風險。這意味著即使訓練數據中存在噪聲或異常值,隨機森林也能夠產生穩健的預測
  5. 高性能:隨機森林通常在處理大規模數據集時表現良好,因為每棵決策樹可以并行構建,從而提高了訓練速度。此外,它們通常不需要太多的超參數調整,使其易于使用

總的來說,隨機森林通過組合多個決策樹,利用隨機性和投票策略,改進了單個決策樹的性能,提高了模型的泛化能力和魯棒性,適用于各種機器學習任務,包括分類、回歸和特征選擇

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

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

相關文章

【Kotlin】數字字符串數組集合

【Kotlin】簡介&變量&類&接口 【Kotlin】數字&字符串&數組&集合 文章目錄 Kotlin_數字&字符串&數組&集合數字字面常量顯式轉換數值類型轉換背后發生了什么 運算字符串字符串模板字符串判等修飾符數組集合通過序列提高效率惰性求值序列的操…

oscp練習PG Monster靶機復現

端口掃描 nmap -A -p- -T4 -Pn 192.168.134.180 PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.41 ((Win64) OpenSSL/1.1.1c PHP/7.3.10) |_http-server-header: Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.10 | http-methods:…

近期知識庫開發過程中遇到的一些問題

我們正在使用Rust開發一個知識庫系統,遇到了一些問題,在此記錄備忘。 錯誤:Unable to make method calls because underlying connection is closed 場景:在docker中調用headless_chrome時出錯 原因:為減小鏡像大小&am…

Ubuntu 22.04 系統下 Docker 安裝與配置全指南

Ubuntu 22.04 系統下 Docker 安裝與配置全指南 一、前言 Docker 作為現代開發中不可或缺的容器化工具,能極大提升應用部署和環境管理的效率。本文將詳細介紹在 Ubuntu 22.04 系統上安裝與配置 Docker 的完整流程,包括環境準備、安裝步驟、權限配置及鏡…

C#獲取磁盤容量:代碼實現與應用場景解析

C#獲取磁盤容量:代碼實現與應用場景解析 在軟件開發過程中,尤其是涉及文件存儲、數據備份等功能時,獲取磁盤容量信息是常見的需求。通過獲取磁盤的可用空間和總大小,程序可以更好地進行資源管理、預警提示等操作。在 C# 語言中&a…

2025年- H56-Lc164--200.島嶼數量(圖論,深搜)--Java版

1.題目描述 2.思路 (1)主函數,存儲圖結構 (2)主函數,visit數組表示已訪問過的元素 (3)輔助函數,用遞歸(深搜),遍歷以已訪問過的元素&…

詳細到用手撕transformer下半部分

之前我們討論了如何實現 Transformer 的核心多頭注意力機制,那么這期我們來完整地實現整個 Transformer 的編碼器和解碼器。 Transformer 架構最初由 Vaswani 等人在 2017 年的論文《Attention Is All You Need》中提出,專為序列到序列(seq2s…

WPF事件處理器+x名稱空間

目錄 ?編輯 一、事件處理器知識點 1. XAML中的事件綁定 2. C#中的事件處理方法 3. 方法簽名解釋 4. 命名規范 工作流程 二、導入引用名稱空間 三、x名稱空間及其常用元素 (1)x名稱空間的由來和作用 (2)x名稱空間里都有…

Axure設計案例——科技感漸變線性圖

想讓數據變化趨勢展示告別枯燥乏味,成為吸引觀眾目光的亮點嗎?快來看看這個Axure設計的科技感漸變線性圖案例!科技感設計風格憑借炫酷的漸變色彩打破傳統線性圖的單調,營造出一種令人過目難忘的視覺體驗。每一條線條都仿佛是流動的…

Git全流程操作指南

Git全流程操作指南 一、Git 環境配置 1. 安裝 Git Windows:下載 Git for Windows macOS:brew install git Linux: sudo apt-get update && sudo apt-get install git # Debian/Ubuntu sudo yum install git …

AI與軟件工程結合的未來三年發展路徑分析

基于對數字化、制造業、工業、零售業等行業的系統調研,以及微軟、谷歌、阿里、華為等大廠的實踐案例,我們可以預見未來三年AI與軟件工程結合將呈現以下發展路徑和趨勢。 一、技術應用維度 1. AI輔助編程工具全面普及 未來三年,AI輔助編程工…

tiktoken學習

1.tiktoken是OpenAI編寫的進行高效分詞操作的庫文件。 2.操作過程: enc tiktoken.get_encoding("gpt2") train_ids enc.encode_ordinary(train_data) val_ids enc.encode_ordinary(val_data) 以這段代碼為例,get_encoding是創建了一個En…

DeepSeek 賦能文化遺產數字化修復:AI 重構千年文明密碼

目錄 一、引言二、文化遺產數字化修復概述2.1 文化遺產數字化修復的意義2.2 傳統數字化修復方法與局限 三、DeepSeek 技術剖析3.1 DeepSeek 技術原理與核心優勢3.2 相比其他技術的獨特之處 四、DeepSeek 在文化遺產數字化修復中的應用4.1 破損文物的智能修復4.2 文化遺產的虛擬…

leetcode題解513:找樹左下角的值(遞歸中的回溯處理)!

一、題目內容: 題目要求找到一個二叉樹的最底層最左邊節點的值。具體來說,我們需要從根節點開始遍歷二叉 樹,找到最深的那層中的最左邊的節點,并返回該節點的值。因為要先找到最底層左側的值,所以我們選擇遍歷順序一定…

C#面試問題41-60

41. What is the Singleton design pattern? Singleton is a class that only allows creating a single instance of itselt. 單例設計模式是一個類,它只允許創建自己的單個實例。 構造函數防止他在單例類以外的地方被調用。 使用情景:need a sing…

筆記思考法

掌握麥肯錫流筆記術,對大家來說有以下幾種好處: 1) 可以將自己的思考可視化,使之變得更加清晰 2) 避免無用功 3) 經常能夠提出有創意的想法 4) 遇到問題時能夠及時找到解決辦法 5) 不管面對什么情況都能夠找出真正有效的解決辦法 為什么僅僅通過改變使用…

Rust 學習筆記:關于閉包的練習題

Rust 學習筆記:關于閉包的練習題 Rust 學習筆記:關于閉包的練習題問題 1問題 2以下程序能否通過編譯?若能,輸出是?以下程序能否通過編譯?若能,輸出是?考慮該 API,空白處填…

(一)微服務(垂直AP/分布式緩存/裝飾器Pattern)

文章目錄 項目地址一、創建第一個垂直API1.1 創建Common層1. ICommand接口2. IQuery接口 1.2 創建API1. 實體2. Handler3. endpoint 1.3 使用Marten作為ORM 二、Redis緩存2.1 使用緩存裝飾器1. 創建裝飾器2. 注冊裝飾器 2.2 創建docker-compose1. docker-compose2. docker-comp…

Spring AI系列之使用 Spring AI 轉錄音頻文件(基于OpenAI)

概述 企業常常需要從各種類型的音頻內容中提取有價值的數據,例如:將客戶支持通話轉錄用于情感分析、為視頻生成字幕,或整理會議紀要。然而,手動轉錄音頻文件既耗時又昂貴。 為了解決這一問題,OpenAI 提供了強大的語…

室內VR全景助力房產營銷及裝修

在當今的地產行業,VR全景已成為不可或缺的應用工具。從地產直播到樓市VR地圖,從效果圖到水電家裝施工記錄,整個地產行業的上下游生態中,云VR全景的身影無處不在。本文將探討VR全景在房產營銷及裝修領域的應用,并介紹眾…