衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

建立決策樹的邏輯

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:深度學習自然語言 ? 2020-10-10 10:44 ? 次閱讀

一個小故事

zenRRan二十出頭了,到了婚配的年齡啦。又因為家是名門望族,所以一堆人搶著想來應聘配偶的職位。但是zenRRan比較挑剔,必須達到他的要求才能有機會成為他的另一半,要求為:

1. 性別女,非女性不要

于是刷刷刷走了一半人,剩下的全部為女性。

2.身高必須要在150-165cm

于是又走了一堆人,剩下的為160-165cm之間的女生。

3.性格要溫柔賢惠

聽到這些,又走了一些人,最后留下的極為最后的應聘候選人。

上述過程可以用樹來表示:

像上面的這樣的二叉樹狀決策在我們生活中很常見,而這樣的選擇方法就是決策樹。機器學習的方法就是通過平時生活中的點點滴滴經驗轉化而來的。

建立決策樹的邏輯

正如上述樹狀圖所示,我們最終會通過特征:

性別,身高,性格

得到了4種分類結果,都存在于葉子節點。

非女生,身高不符合的女生,身高符合性格不符合的女生,都符合的最佳候選人。

現在我們來回想下上面的建立決策的流程:

首先在一群給定數據(應聘者)中,我們先通過一個特征(性別)來進行二分類。當然選取這個特征也是根據實際情況而定的,比如zenRRan選取第一個條件為性別的原因是,來的男的太多了,比例占的有點大,所以先給他分成類放到一邊,剩下的更加好分類而已。

然后,對葉子節點(那些還想繼續分類的節點們)繼續進行上述的流程。

那么怎么選取特征作為當前的分類依據呢?有兩種方法:

信息熵和基尼系數。

信息熵

熵這個概念想必大家都不陌生,熵用來表示數據的確定性程度。研究一個詞,就要從他的來源說起,熵,來自熱動力學,表示原子或者一個事物的穩定程度,溫度越高,原子越活躍,越不穩定;反而溫度越低,就越穩定,越保持不動。所以慢慢的這個概念被用到各個方向,也就有了新的定義詞匯,但是它的本意沒變,就是穩定程度大小的表示。

那么在決策樹里面,我們用的是一種熵,信息熵,來表示類別的穩定程度。

公式為:

注:p為一個類的占比

什么意思呢?具體用數字表示下:

比如一個分類結果由三個類組成,占比為1/3 1/31/3,那么它們的信息熵為:

如果占比為1/10 2/10 7/10,那么它的信息熵為:

那再舉一個極端情況,也就是我們想要得到的類,只包含一種情況,其他的比例為0,那么比如占比情況為:1 0 0,那么它的信息熵為:

我們會發現一個分類結果里,里面的類別比例越是接近,信息熵也就越大,反之越是趨向于一個值,越是小,會達到0。

如果將所有的情況考慮在內的話,就能繪成一個圖(為了好畫,以該分好的類別里有兩種事物為例):

我們會發現,當占比為0.5的時候,也就是另一個事物的占比也是0.5的時候信息熵最高,當傾向于一個事物的時候,信息熵最小,無限接近并達到0。

為什么都占比一樣的時候信息熵最大呢?也就是說最不穩定呢?因為當每個事物都占比一樣的時候,一個小事物進來,不清楚它到底屬于哪一類;如果只有一類事物或者一類事物居多數,那么也就比較明確該屬于哪類,也就穩定,確定了。

那么怎么用呢?

我們通過計算機分類,因為有很多種分類情況,不是每一次分類都是直接將同一類分到一個類別里,而是將該分好的兩個類的信息熵總和最小為依據,不斷地通過暴力尋找最佳選擇。然后遞歸進行對分好類的數據進行再分類。

基尼系數

基尼系數和信息熵在這里具有同樣的性質。先看看它的公式:

公式看不出什么特色之處,就繼續用數字展示下:

比如依然是三分類,類別占比為1/3 1/3 1/3,基尼系數為:

類別占比為1/10 2/10 7/10,基尼系數為:

如果是極端情況下占比為1 0 0,那么基尼系數為;

我們根據公式其實就能看出來,平方的函數為凸函數,而該公式在都相等的時候值最大。

代碼實現

再重說下流程:

通過對每個特征進行嘗試分類,記錄當前分類最小的信息熵(或基尼系數)的特征為當前分類結果。

選取一些點,初始化數據:

X為二維平面的數據點,Y為類別。

數據點分布情況:

信息熵函數:

基尼系數函數:

二者使用一個即可。

下面是一個分類核心的流程:

文字描述為:

對數據點的特征0維進行嘗試分類,先按照0維數據排序,然后取每相鄰的中點值,然后以0維該值分界線,處于分界線兩側的數據分別求信息熵(或基尼系數),如果比之前的小,這就保存該值和當前維度。然后選取第1維進行相同操作,最終的最小信息熵(或基尼系數)最小對應的值為本次分類的結果。

但是這個僅僅是一層分類,如果還子節點還有要分類的數據,繼續上述操作即可。

分類代碼:

分類效果流程圖:

決策樹第一層分類結果為:

當前線為最佳值,1維的數據就是分過的,但是沒有當前的值好,也就沒顯示。

現在已經分出了兩類,左邊的紅色和右邊的綠色+藍色。那么還要對上述的右邊進行分類,獲取該數據,并且繼續進行分類,分類流程圖為:

最終得出的分類結果為上述兩條線。其中粉色為第一層分類,紫色為第二層分類。

批判性思維看決策樹

看到上述的分類結果,其實你心里也想到了決策樹的缺點了,就是分類總是橫平豎直的,不能是曲線。

比如

該四個數據的分類最佳理想條件下應該為上述紫色線條,但是決策樹的結果為;

如果存在數據在:

明明應該屬于藍色點的,但是被劃分到紅色點里。

所以可以看出,決策樹對數據的要求是是苛刻的。

另一個問題是,決策樹的學習問題,從上述代碼實現過程能夠看出來,可以說是暴力求解了。

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二叉樹
    +關注

    關注

    0

    文章

    74

    瀏覽量

    12376
  • 機器學習
    +關注

    關注

    66

    文章

    8441

    瀏覽量

    133093
  • 決策樹
    +關注

    關注

    3

    文章

    96

    瀏覽量

    13587

原文標題:【機器學習】決策樹的理論與實踐

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    科技在物聯網方面

    據傳輸的需求。例如,利用5G的低延遲、高帶寬特性,實現機器人與云端服務器之間的快速數據傳輸,提高機器人的響應速度和智能化水平。 智能決策與數據分析 邊緣計算與云計算結合:宇科技的機器人采用了邊緣
    發表于 02-04 06:48

    xgboost超參數調優技巧 xgboost在圖像分類中的應用

    一、XGBoost超參數調優技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(GBDT)的高效梯度提升框架,在機器學習競賽和實際業務應用中取得了卓越
    的頭像 發表于 01-31 15:16 ?91次閱讀

    xgboost的并行計算原理

    之一。 XGBoost簡介 XGBoost是一種基于梯度提升框架的集成學習算法,它通過構建多個決策樹來提高模型的預測性能。與傳統的梯度提升相比,XGBoost在算法上進行了優化,包括正則化項的引入、缺失值的處理、剪枝操作等,這些都有助于提高模型的泛化能力。 并行計
    的頭像 發表于 01-19 11:17 ?381次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-初識設備之設備組成和結構

    前邊講解了內核編譯選項的配置,這一節我們詳細講一下設備。設備的知識是Linux驅動開發人員必備的技能,我們現在使用的Linux內核,絕大多數都是支持設備功能的,掌握設備是軟件嵌
    發表于 01-08 08:32

    飛凌嵌入式ElfBoard ELF 1板卡-初識設備之設備組成和結構

    前邊講解了內核編譯選項的配置,這一節我們詳細講一下設備。設備的知識是Linux驅動開發人員必備的技能,我們現在使用的Linux內核,絕大多數都是支持設備功能的,掌握設備是軟件嵌
    發表于 01-07 09:16

    邏輯異或和邏輯或的比較分析

    邏輯異或(Exclusive OR,簡稱XOR)和邏輯或(OR)是數字邏輯和編程中兩種基本的邏輯運算,它們各自具有獨特的功能和應用場景。以下是對邏輯
    的頭像 發表于 11-19 09:48 ?516次閱讀

    簡單認識邏輯電路的用途

    在數字電子的世界里,每一個決策、每一條指令、每一次數據處理,都離不開CMOS邏輯IC的掌控。CMOS邏輯IC大致包括兩種邏輯,即組合邏輯和時
    的頭像 發表于 11-01 15:44 ?386次閱讀

    什么是默克爾(Merkle Tree)?如何計算默克爾根?

    01 默克爾的概念 默克爾(Merkle Tree)是一種特殊的二叉,它的每個節點都存儲了一個數據塊的哈希值。哈希值是一種可以將任意長度的數據轉換為固定長度的字符串的算法,它具有唯一性和不可
    的頭像 發表于 09-30 18:22 ?1095次閱讀
    什么是默克爾<b class='flag-5'>樹</b>(Merkle Tree)?如何計算默克爾根?

    數字邏輯怎么把邏輯圖畫成電路圖

    將數字邏輯中的邏輯圖畫成電路圖是一個涉及多個步驟的過程,以下是一個詳細的指導: 一、理解邏輯圖 首先,需要深入理解邏輯圖所表達的邏輯功能。
    的頭像 發表于 08-21 17:36 ?1053次閱讀

    數字系統的核心:邏輯門電路

    數字邏輯門是一種電子電路,它根據輸入端的數字信號組合做出邏輯決策。數字邏輯門可以有多個輸入,例如輸入A、B、C、D等,但通常僅具有一個數字輸出(Q)。單個
    的頭像 發表于 07-16 10:04 ?1399次閱讀
    數字系統的核心:<b class='flag-5'>邏輯</b>門電路

    機器學習算法原理詳解

    機器學習作為人工智能的一個重要分支,其目標是通過讓計算機自動從數據中學習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的機器學習算法原理,包括線性回歸、邏輯回歸、支持向量機(SVM)、決策樹和K近鄰(KNN)算法,探討它們的理論基礎、算法流程、優缺點及應用場景
    的頭像 發表于 07-02 11:25 ?1368次閱讀

    原理圖設計里兩顆重要的(國產EDA)

    原理圖里面兩顆重要的,那就是元件和網絡,作為EDA工具中的重要視圖和概念,雖然看似枯燥,但它們扮演著非常重要的角色,它們為電路圖的層次化結構提供了有力支撐。想象一個大型的電路設計項目,就像一個
    的頭像 發表于 05-29 17:47 ?829次閱讀
    原理圖設計里兩顆重要的<b class='flag-5'>樹</b>(國產EDA)

    崔東:進口車增量助力消費增長,年內潛力巨大

    崔東指出,隨著我國汽車產業的發展壯大以及電動化轉型帶來的市場需求變化,燃油車需求逐漸萎縮,進口燃油車需求亦隨之降低。鑒于國際關系日益復雜,他建議應提前規劃并建立多元化的進口模式,以保持進口車市場的穩定。
    的頭像 發表于 05-27 10:30 ?529次閱讀

    集線器是什么?集線器內部構造

    集線器內部采用了電器互聯,當維護LAN的環境是邏輯總線或環型結構時,完全可以用集線器建立一個物理上的星型或型網絡結構。
    的頭像 發表于 03-22 15:22 ?4058次閱讀
    集線器是什么?集線器內部構造

    什么是隨機森林?隨機森林的工作原理

    隨機森林使用名為“bagging”的技術,通過數據集和特征的隨機自助抽樣樣本并行構建完整的決策樹。雖然決策樹基于一組固定的特征,而且經常過擬合,但隨機性對森林的成功至關重要。
    發表于 03-18 14:27 ?3763次閱讀
    什么是隨機森林?隨機森林的工作原理
    百家乐电子| 兴和县| 波克棋牌官网| 大发888线上| 德州扑克网上平台| 青鹏棋牌游戏大厅v3.0| 德州扑克秘籍| 名仕国际棋牌下载| 博彩投注网| 西乌珠穆沁旗| 百家乐官网游戏平台有哪些哪家的口碑最好 | 无棣县| 百家乐官网最佳下注方法| 百家乐官网赌场大赢家| 百家乐官网谁能看准牌| 做生意佩戴什么纳财| 百家乐桌现货| 志丹县| 真人斗地主| 百家乐官网散台| 百家乐如何玩法| 永利高官网| 澳门百家乐官网大揭密| 职业赌百家乐官网技巧 | 如何胜百家乐官网的玩法技巧和规则 | 百家乐官网怎么玩| 百家乐二十一点| 大发888娱乐城开户| 皇冠足球比分| 百家乐官网八卦投注法| 百家乐美女视频| 八大胜百家乐的玩法技巧和规则| 顶级赌场真假的微博| 百家乐官网输一压二| 百家乐官网如何赚钱洗码| 澳门百家乐经历| 大发888电子游艺| 百家乐官网赌场优势| 网上百家乐如何作假| 大发888官网亚洲线上| 百家乐官网连黑记录|