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

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

3天內(nèi)不再提示

建立決策樹的邏輯

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

一個小故事

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

1. 性別女,非女性不要

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

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

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

3.性格要溫柔賢惠

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

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

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

建立決策樹的邏輯

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

性別,身高,性格

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

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

現(xiàn)在我們來回想下上面的建立決策的流程:

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

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

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

信息熵和基尼系數(shù)。

信息熵

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

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

公式為:

注:p為一個類的占比

什么意思呢?具體用數(shù)字表示下:

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

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

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

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

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

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

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

那么怎么用呢?

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

基尼系數(shù)

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

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

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

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

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

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

代碼實現(xiàn)

再重說下流程:

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

選取一些點,初始化數(shù)據(jù):

X為二維平面的數(shù)據(jù)點,Y為類別。

數(shù)據(jù)點分布情況:

信息熵函數(shù):

基尼系數(shù)函數(shù):

二者使用一個即可。

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

文字描述為:

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

但是這個僅僅是一層分類,如果還子節(jié)點還有要分類的數(shù)據(jù),繼續(xù)上述操作即可。

分類代碼:

分類效果流程圖:

決策樹第一層分類結(jié)果為:

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

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

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

批判性思維看決策樹

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

比如

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

如果存在數(shù)據(jù)在:

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

所以可以看出,決策樹對數(shù)據(jù)的要求是是苛刻的。

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

責任編輯:lq

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

    關(guān)注

    0

    文章

    74

    瀏覽量

    12326
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132654
  • 決策樹
    +關(guān)注

    關(guān)注

    3

    文章

    96

    瀏覽量

    13552

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    邏輯異或的定義和應用 邏輯異或與邏輯與的區(qū)別

    邏輯異或(XOR,Exclusive OR)是一種二進制運算,其結(jié)果取決于兩個輸入值是否不同。如果兩個輸入值相同,結(jié)果為0(假);如果兩個輸入值不同,結(jié)果為1(真)。邏輯異或在計算機科學、數(shù)字邏輯
    的頭像 發(fā)表于 11-19 09:40 ?495次閱讀

    簡單認識邏輯電路的用途

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

    LSM6DSV16X基于MLC智能筆動作識別(2)----MLC數(shù)據(jù)采集

    MLC 是“機器學習核心”(Machine Learning Core)的縮寫。在 LSM6DSV16X 傳感器 中,MLC 是一種嵌入式功能,它使傳感器能夠直接運行基于決策樹的機器學習算法。通過
    的頭像 發(fā)表于 10-22 10:02 ?778次閱讀
    LSM6DSV16X基于MLC智能筆動作識別(2)----MLC數(shù)據(jù)采集

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

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

    數(shù)字邏輯怎么把邏輯圖畫成電路圖

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

    數(shù)字系統(tǒng)的核心:邏輯門電路

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

    機器學習算法原理詳解

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

    原理圖設(shè)計里兩顆重要的(國產(chǎn)EDA)

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

    崔東:進口車增量助力消費增長,年內(nèi)潛力巨大

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

    集線器是什么?集線器內(nèi)部構(gòu)造

    集線器內(nèi)部采用了電器互聯(lián),當維護LAN的環(huán)境是邏輯總線或環(huán)型結(jié)構(gòu)時,完全可以用集線器建立一個物理上的星型或型網(wǎng)絡結(jié)構(gòu)。
    的頭像 發(fā)表于 03-22 15:22 ?3867次閱讀
    集線器是什么?集線器內(nèi)部構(gòu)造

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

    隨機森林使用名為“bagging”的技術(shù),通過數(shù)據(jù)集和特征的隨機自助抽樣樣本并行構(gòu)建完整的決策樹。雖然決策樹基于一組固定的特征,而且經(jīng)常過擬合,但隨機性對森林的成功至關(guān)重要。
    發(fā)表于 03-18 14:27 ?3588次閱讀
    什么是隨機森林?隨機森林的工作原理

    異或門的邏輯符號和邏輯電路組成

    異或門(XOR gate)是數(shù)字邏輯電路中常用的一種邏輯門。它的作用是對兩個輸入信號進行邏輯運算,輸出一個結(jié)果。
    的頭像 發(fā)表于 02-04 14:18 ?1.1w次閱讀
    異或門的<b class='flag-5'>邏輯</b>符號和<b class='flag-5'>邏輯</b>電路組成

    組合邏輯電路之與或邏輯

    邏輯電路由多個邏輯門組成且不含存儲電路,對于給定的輸入變量組合將產(chǎn)生確定的輸出,則這種邏輯電路稱為組合邏輯電路。
    的頭像 發(fā)表于 02-04 11:46 ?1733次閱讀
    組合<b class='flag-5'>邏輯</b>電路之與或<b class='flag-5'>邏輯</b>

    MCP251X can驅(qū)動移植nuc980采樣用設(shè)備配置時,中斷如何配置設(shè)備?

    MCP251X can驅(qū)動移植nuc980 采樣用設(shè)備配置時,中斷如何配置設(shè)備? spi0: spi@b0061000 { status = \"okay\"
    發(fā)表于 01-17 06:43