1. 程式人生 > >機器學習筆記:ID3演算法建立決策樹(一)

機器學習筆記:ID3演算法建立決策樹(一)

ID3演算法的核心思想

資訊熵的下降速度作為選取測試屬性的標準,所選的測試屬性是從根節點到當前節點的路徑上尚未被考慮的具有最高資訊增益的屬性。

維基百科上對ID3演算法有比較詳細的介紹:ID3維基

計算過程相關公式

  1. x是一個離散型的隨機變數,其概率分佈為

    p(x)=P(X=x),xX
    則X的熵為
    H(X)=i=0np(xi)log2p(xi)
    約定0log20=0
    n 表示有多少個分類,可以理解為所選測試屬性下有多少個不同值,H越大,資訊的不確定性越大,H越小,資訊的不確定性越小,H等於0時最具確定性,這種情況是所有元素都歸為同一類,每個值的發生都有相同的概率。
  2. 參考至資訊理論中的通道的數學模型 ,有
    U

    =[u1,u2,u3,...,ur],信源所發訊息,離散隨機變數;
    V=[v1,v2,v3,...,vq],新宿所收訊息,離散隨機變數;
    P(V|U):轉移概率表示發生為U,接收為V的概率,存在

    (vj|ui)=1,i=1,2,...,r;j=1,2,...,q

    P(V|U)可以這樣理解,當一個屬性中取值為U時,對另一個屬性取值
    V的影響程度

  3. 先驗概率P(U):信源傳送訊息前,U的概率分佈。其實就是上面的p(x)

  4. 後驗概率P(U|vj) : 信宿端收到訊息vj後,U的概率分佈。
  5. 後驗熵:信宿端收到vj後,關於U的平均不確定性為:
    H(U|vj)=i=0rP(ui
    |vj)log2P(ui|vj),j=1,2,...,q
  6. 條件熵:
    H(U|V)=j=0qi=0rP(ui|vj)log2P(ui|vj)
    條件熵即通道疑異度,對後驗熵在輸出V集合中求期望值,表示在信宿端收到全部輸出v後,對信源端U尚存在的不確定性。
  7. H(U|V)<H(U)
  8. 資訊增益:衡量通過通道傳輸進行通訊後所消除的不確定性的大小,定義為:
    I(U,V)=H(U)H(U|V)
    表示收到V後獲得關於U的資訊量,是不確定性的消除是信宿端所獲得的資訊量,其中:
    H(U)=i=0rP(ui)log2P(ui)
    H(U|V)=j=0qi=0rP(ui|vj)lo

    相關推薦

    機器學習筆記ID3演算法建立決策()

    ID3演算法的核心思想 以資訊熵的下降速度作為選取測試屬性的標準,所選的測試屬性是從根節點到當前節點的路徑上尚未被考慮的具有最高資訊增益的屬性。 維基百科上對ID3演算法有比較詳細的介紹:ID3維基

    機器學習筆記ID3演算法建立決策(二)

    在《機器學習筆記:ID3演算法建立決策樹(一)》中記錄了ID3演算法的計算公式和步驟,現在用例子記錄一下ID3構建決策樹的過程。 對以下資料進行分類: - 是否能飛? 是否有羽毛? 是小鳥? 1 是 是 是

    機器學習十大經典演算法決策學習筆記整理)

    一、決策樹概述 決策樹是一種樹形結構,其中每個內部節點表示一個屬性上的測試,每個分支代表一個測試輸出,每個葉節點代表一種類別。決策樹是一個預測模型,代表的是物件屬性與物件值之間的一種對映關係。 最初的節點稱為根節點(如圖中的"顏色"),有分支的節點稱為中間節點

    python機器學習筆記EM演算法

      EM演算法也稱期望最大化(Expectation-Maximum,簡稱EM)演算法,它是一個基礎演算法,是很多機器學習領域的基礎,比如隱式馬爾科夫演算法(HMM),LDA主題模型的變分推斷演算法等等。本文對於EM演算法,我們主要從以下三個方向學習: 1,最大似然 2,EM演算法思想及其推導 3,GMM(

    機器學習系列(五)決策——非線性迴歸與分類

    和猜猜看一樣,決策樹也是通過對解釋變數序列的逐條測試獲取響應變數結果的。那麼,哪個解釋變數應該先測試?直覺觀察會發現,解釋變數集合包含所有貓或者所有狗的測試,比既包含貓又包含狗的解釋變數集合的測試要好。如果子整合員種類不同,我們還是不能確定種類。我們還需要避免建立那種測試,把單獨的一隻貓或一條狗分離出

    機器學習筆記決策ID3,C4.5,CART)

    學習資料:《統計學習方法》,《機器學習》(周志華),韓小陽ppt,鄒博ppt。 決策樹是一種樹形結構,對例項進行分類和迴歸的,下面主要說的是用來進行分類,最後說道CART的時候也會說到決策樹用到迴歸問題上。 1、決策樹模型與學習 先給出分類決策樹模型定義:是一種對例項資料進行

    機器學習實戰》使用ID3演算法構造決策

    決策樹是一個基本回歸和分類的演算法 決策樹的優點: 1.易於理解和解釋,並且可以視覺化。 2.幾乎不需要資料預處理。決策樹還不支援缺失值。 3.可以同時處理數值變數和分類變數。其他方法大都適用於分析一種變數的集合。 4.可以處理多值輸出變數問題。 決策樹的缺點: 決策樹

    讀書筆記機器學習實戰(2)——章3的決策程式碼和個人理解與註釋

    首先是對於決策樹的個人理解: 通過尋找最大資訊增益(或最小資訊熵)的分類特徵,從部分已知類別的資料中提取分類規則的一種分類方法。 資訊熵: 其中,log底數為2,額,好吧,圖片我從百度截的。。 這裡只解釋到它是一種資訊的期望值,深入的請看維基百科

    Python機器學習筆記樸素貝葉斯演算法

      樸素貝葉斯是經典的機器學習演算法之一,也是為數不多的基於概率論的分類演算法。對於大多數的分類演算法,在所有的機器學習分類演算法中,樸素貝葉斯和其他絕大多數的分類演算法都不同。比如決策樹,KNN,邏輯迴歸,支援向量機等,他們都是判別方法,也就是直接學習出特徵輸出Y和特徵X之間的關係,要麼是決策函式,要麼是條

    Python機器學習筆記線性判別分析(LDA)演算法

    預備知識   首先學習兩個概念:   線性分類:指存在一個線性方程可以把待分類資料分開,或者說用一個超平面能將正負樣本區分開,表示式為y=wx,這裡先說一下超平面,對於二維的情況,可以理解為一條直線,如一次函式。它的分類演算法是基於一個線性的預測函式,決策的邊界是平的,比如直線和平面。一般的方法有感知器,最小

    Python機器學習筆記異常點檢測演算法——LOF(Local Outiler Factor)

    完整程式碼及其資料,請移步小編的GitHub   傳送門:請點選我   如果點選有誤:https://github.com/LeBron-Jian/MachineLearningNote   在資料探勘方面,經常需要在做特徵工程和模型訓練之前對資料進行清洗,剔除無效資料和異常資料。異常檢測也是資料探勘的一個方

    Python機器學習筆記奇異值分解(SVD)演算法

    完整程式碼及其資料,請移步小編的GitHub   傳送門:請點選我   如果點選有誤:https://github.com/LeBron-Jian/MachineLearningNote   奇異值分解(Singular  Value Decomposition,後面簡稱 SVD)是線上性代數中一種

    Python機器學習筆記利用Keras進行多類分類

    名稱 encoder 創建 numeric 種類 deep ast 4.0 允許   Keras是一個用於深度學習的Python庫,它包含高效的數值庫Theano和TensorFlow。   本文的目的是學習如何從csv中加載數據並使其可供Keras使用,如何用神經網絡建立

    區塊鏈學習筆記共識演算法

    本文主題:共識、演算法、共識演算法名詞解析,以及簡單理解PRS協議所採用的共識演算法 1、 什麼是共識?共識是共同的認識。 什麼是演算法?演算法是利用計算機處理問題的解決步驟。 演算法的基礎——結構化程式設計的思想 用計算機編寫程式時,為了提高應用程式的效率

    機器學習筆記——最鄰近演算法(KNN)補充

    最鄰近演算法補充(K-Nearest Neighbor,KNN) 1、訓練資料集?測試資料集? 我們在使用機器學習演算法訓練好模型以後,是否直接投入真實環境中使用呢?其實並不是這樣的,在訓練好模型後我們往往需要對我們所建立的模型做一個評估來判斷當前機器學習演算法的效能,當我們在

    機器學習筆記正則化

    有這麼幾個問題:1、什麼是正則化?2、為什麼要用正則化?3、正則化分為哪幾類?       在機器學習中我們經常看到在損失函式後會有一個正則化項,正則化項一般分為兩種L1正則化和L2正則化,可以看做是損失函式的懲罰項。懲罰項的作用我認為就是對模型中的引數限制,從而防止

    機器學習筆記Overview

    1)機器學習筆記(1):Introduction 2)機器學習筆記(2):單變數線性迴歸 3)機器學習筆記(3):線性代數回顧 4)機器學習筆記(4):多變數線性迴歸 5)機器學習筆記(五):邏輯迴歸 6)機器學習筆記(六):正則化 7)機器學習筆記(七):神經網路:表示

    機器學習筆記各種熵

    在機器學習中通常會使用各種熵來描述分佈與分佈之間的關係,如條件熵和交叉熵等,也有直接優化熵的模型,如最大熵模型。 這篇文章簡單總結一下之前見到過的一些熵相關的概念。 資訊量 定義 假設有離散隨機變數 XXX 滿足分佈 P(X=xi)=piP(X = x_{i}

    《web安全之機器學習入門》第6章決策與隨機森林演算法

    決策樹識別pop3埠掃描(原書中識別暴力破解,實際上pop3協議的並沒有guess_passwd型別的資料,所以改為識別port_sweep.):待分析資料集:KDD-99資料集,連結:http://kdd.ics.uci.edu/databases/kddcup99/kdd

    機器學習筆記(5) KNN演算法

    這篇其實應該作為機器學習的第一篇筆記的,但是在剛開始學習的時候,我還沒有用部落格記錄筆記的打算.所以也就想到哪寫到哪了. 你在網上搜索機器學習系列文章的話,大部分都是以KNN(k nearest neighbors)作為第一篇入門的,因為這個演算法實在是太簡單了.簡單到其實沒啥可說的.   &n