數學 · 決策樹(一)· 混亂程度

決策樹的、我所能夠講的數學部分,可能就是一些混亂程度的定義了。所謂一個東西的混亂程度,可以理解為那個東西有多亂。混亂程度越大,東西就越亂(廢話)。我們在做機器學習時,目的常常是為了預測某個東西屬於哪一類;如果很亂的話就很難分辨、反之就會清晰一些

(這個人在講什麼)

總之,我們希望我們要分類的東西越不亂越好,為此我們需要數學的定義。常用的混亂程度的定義有兩種

  • Gini 係數

為簡潔(其實是懶),我打算只介紹離散的情況,連續的情況是同理可得的

(講道理我最討厭在答案裡面看到同理可得,但是自己寫的時候又特別喜歡 ( σ"ω")σ )

    • 它的定義是:

      其中K代表著隨機變數 Y 的可能取值個數,p_{k}表示 Y 取第 k 個值的概率。通常來說 log 的底取為 2,此時熵的單位叫比特(如果取 e 為底的話,單位就叫納特)這個定義意味著什麼呢?

      • 可以證明,當

        時,H(Y)達到極大值- log frac{1}{K} 、也就是log K

      • 那麼p_{1} = p_{2} = ... = p_{K} = frac{1}{K} 意味著什麼?意味著隨機變數 Y 取每一個類的概率都是一樣的、也就是說它亂得不行(喂)。換句話說就是它完全沒有規律可循,想要預測它的狀態只能靠運氣
      • 我們的目的是想讓 Y 不亂,直觀上來說就是想讓 Y 有規律、從而方便我們預測。這翻譯成數學語言是什麼呢?就是 Y 取某一個類的概率特別大、取其它類的概率都特別小。極端的栗子就是 Y 取某個值的概率為 1、取其它值的概率為 0。帶入H(Y)的定義,會發現此時H(Y) = 0
    • 相信觀眾老爺們也發現了,H(Y)具有如下性質:

      • Y 越亂,H(Y)越大;Y 越有規律,H(Y)越小

      這是H(Y)最重要的性質。事實上,所有刻畫混亂程度的東西都有應該要有這個性質

  • Gini 係數
    • 它的定義很簡潔:

      其中p_{k} = P(Y = y_{k})、也就是 Y 取第 k 類的概率

      同樣引用之前的栗子:
      • 如果 Y 很亂,那麼有p_{1} = p_{2} = ... = p_{K} = frac{1}{K} 、此時Gini(Y)取得極大值1 - frac{1}{K}
      • 如果 Y 很有規律、以至於有一個p_{k}為 1、其它為 0 的話,就有Gini(Y) = 0

稍微總結一下:

  • 熵:H(Y) = - sum_{i = 1}^{K}{p_{i} log p_{i}}
  • Gini :Gini(Y) = sum_{k = 1}^{K}{p_{k}(1 - p_{k})} = 1 - sum_{k = 1}^{K}{p_{k}^{2}}

最後補兩張圖,它們分別是當 K = 2 時、熵(左)和 Gini 係數(右)的變化趨勢:

其中熵的單位取為比特

這一章我們主要介紹了混亂程度,決策樹裡面用到的信息增益相關的數學定義與內涵會在下一章進行說明

希望觀眾老爺們能夠喜歡~

(猛戳我進入下一章!( σ"ω")σ)


推薦閱讀:

分類演算法之決策樹(應用篇)
機器學習演算法實踐-決策樹(Decision Tree)
quest 法求差別閾限的思路?
神經網路能否代替決策樹演算法?

TAG:数学 | 机器学习 | 决策树 |