決策樹詳解,從熵說起

極無止境發表於2020-10-25

  熵,一個神奇的工具,用來衡量資料集資訊量的不確定性。

  首先,我們先來了解一個指標,資訊量。對於任意一個隨機變數X,樣本空間為{X1,X2,...,Xn},對於任意的樣本Xi,樣本Xi的資訊量也就是l(Xi) = -log(p(Xi))。由於p(Xi)是為樣本Xi的概率,也可以說是類Xi的概率,那麼l(Xi)的取值範圍為(+∞,0]。也就是X的的概率越小,其含有的資訊量越大,反之亦然。這也不難理解,Xi的發生的概率越大,我們對他的瞭解越深,那麼他所含有的資訊量就越小。如果隨機變數X是常量,那麼我們從任意一個Xi都可以獲取樣本空間的值,那麼我們可以認為X沒有任何資訊量,他的資訊量為0。如果說,我們要把隨機變數X樣本空間都瞭解完,才能獲得X的資訊,那麼我們可以認為X的資訊量“無窮大”,其取值為log(2,n)。

  緊接著,我們就提出了隨機變數X的資訊熵,也就是資訊量的期望,H(X) = -∑ni=1p(Xi)log2(p(Xi)),從離散的角度得出的公式。他有三個特性:

  • 單調性,即發生概率越高的事件,其所攜帶的資訊熵越低。極端案例就是“太陽從東方升起”,因為為確定事件,所以不攜帶任何資訊量。從資訊理論的角度,認為這句話沒有消除任何不確定性。也就是樣本空間的p(Xi)均為1。
  • 非負性,即資訊熵不能為負。這個很好理解,因為負的資訊,即你得知了某個資訊後,卻增加了不確定性是不合邏輯的。
  • 累加性,即多隨機事件同時發生存在的總不確定性的量度是可以表示為各事件不確定性的量度的和。

  有了熵這個基礎,那麼我們就要考慮決策樹是怎麼生成的了。對於隨機變數X的樣本個數為n的空間,每個樣本都有若干個相同的特徵,假設有k個。對於任意一個特徵,我們可以對其進行劃分,假設含有性別變數,那麼切分後,性別特徵消失,變為確定的值,那麼隨機變數X資訊的不確定性減少。以此類推,直到達到我們想要的結果結束,這樣就生成了若干棵樹,每棵樹的不確定性降低。如果我們在此過程中進行限制,每次減少的不確定性最大,那麼這樣一步一步下來,我們得到的樹,會最快的把不確定性降低到最小。每顆樹的分支,都可以確定一個類別,包含的資訊量極少,確定性極大,這種類別,是可以進行預測的,不確定性小,穩定,可以用於預測。

        有了以上的知識儲備,那麼我們要想生成一顆決策樹,只需要每次把特徵的資訊量最大的那個找出來進行劃分即可。也就是不確定性最大的那個分支,我們要優先劃分。這就會得出另外一個定義,條件資訊熵。也就是我的

相關文章