生活随笔
收集整理的這篇文章主要介紹了
白话一下什么是决策树模型
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
有一天,小明無聊,對宿舍玩CS的舍友進行統(tǒng)計,結(jié)果剛記下四行,被舍友認為影響發(fā)揮,給踢到床下去了,讓我 們看看可憐的小明的記錄: ----------------------------- 武器 | 子彈數(shù)量 | 血 | 行為 ----------------------------- 機槍 | 多 | 少 | 戰(zhàn)斗 機槍 | 少 |
有一天,小明無聊,對宿舍玩CS的舍友進行統(tǒng)計,結(jié)果剛記下四行,被舍友認為影響發(fā)揮,給踢到床下去了,讓我 們看看可憐的小明的記錄: ----------------------------- 武器 |? 子彈數(shù)量 |? 血 |? 行為 ----------------------------- 機槍 |? 多? | 少 |? 戰(zhàn)斗 機槍 |? 少? | 多 | 逃跑 小刀 |? 少? | 多 |? 戰(zhàn)斗 小刀 |? 少? | 少 | 逃跑 ----------------------------- 為了對得起小明記錄的這四條記錄,我們對其進行決策樹分析,從數(shù)據(jù)中看: 1. 如果一個玩家子彈很多,那么即使血少他也會戰(zhàn)斗,如果子彈少的話,即使血多,他也會逃跑隱蔽起來; 2. 那我們再看子彈少的情況下,武器靠刀子,當血多時候,他還是會打一打得,但是血少,就立即逃跑隱蔽了。 這是我們大腦直覺上去分析,既然本文我是想聊一聊決策樹,那么我們就用決策樹來對小明的這些數(shù)據(jù)小試牛刀一下,順便來慰藉一下小明(從小到大我們已經(jīng)看過無數(shù)的小明了,這里再借用一下大度的小明)。 我們現(xiàn)在將數(shù)據(jù)分為兩塊: X = {武器類型,子彈數(shù)量,血} Y = {行為} 我們建立這顆決策樹的目的就是,讓計算機自動去尋找最合適的映射關系,即:Y = f(X),所謂聽上去大雅的“數(shù)據(jù)挖掘”學科,干得也差不多就是這回事,X我們稱之為樣本,Y我們稱之為結(jié)果(行為/類)。 樣本是多維的,X = {x1,x2,...xn},如本例:X = {x1=武器類型,x2=子彈數(shù)量,x3=血},我們就是要通過這些不同維度的觀測記錄數(shù)據(jù),和應對的不同結(jié)果,找到規(guī)律(映射關系),舉個例子: X = {天氣,溫度,濕度,女友約會} -> Y = {是否答應兄弟下午去打籃球} X = {老媽說你是胖子,老婆說你是胖子,自己上秤評估自己體重} -> Y = {去辦健身卡減肥} 這樣來說,X的多維不同的數(shù)據(jù),大個比方,更像是很多大臣,那么我們就是要根據(jù)這些大臣的意見,來決策,如本例: >> 左大臣:武器類型 >> 中大臣:子彈數(shù)量 >> 右大臣:血 這些大臣每個人都有想法,左右著皇帝繼續(xù)戰(zhàn)斗還是撤退,但是三個也不能全信,那么我們就要根據(jù)他們的陳年老帳(訓練樣本)來評判他們的話語的重要性,當然,優(yōu)先級高的肯定話語是有重量的,我們先提前來預覽一下這個例子訓練出來的決策樹的樣子: 這個根據(jù)小明的數(shù)據(jù)訓練出來的決策樹是不是和我們剛才拍腦門分析出來的結(jié)果差不多呢?看,子彈多就開打,子彈少,在看看用什么武器,如果又沒子彈又用機槍,那鐵定跑,如果用小刀,在掂量一下自己血厚不厚,厚則打,不厚則逃,看來決策樹分析的結(jié)果還是可以的啊,接下來,我們來研究研究,計算機(這個只會重復人們給它設定的代碼的家伙)是如何實現(xiàn)這樣的分析的。 既然是三個大臣提意見{左大臣:武器類型,中大臣:子彈數(shù)量,右大臣:血},那么我們要分析一下歷史數(shù)據(jù)(訓練數(shù)據(jù))他們哪個話更靠譜: 我們先單純的看看左大臣的歷史戰(zhàn)績(統(tǒng)計訓練樣本): 機槍 -> 戰(zhàn)斗 機槍 -> 逃跑 小刀 -> 戰(zhàn)斗 小刀 -> 逃跑 用機槍,你戰(zhàn)斗逃跑的概率都是50%,用刀子,你亦似打似逃!看來這個大臣立場不堅定啊! 再看看中大臣的: 子彈多 -> 戰(zhàn)斗 子彈少 -> 逃跑 子彈少 -> 戰(zhàn)斗 子彈少 -> 逃跑 用機槍,你戰(zhàn)斗概率是100%,用刀子,你33.3%打,你66.6%撤!這位大臣似乎堅定了一些。 再看看右大臣的: 血少 -> 戰(zhàn)斗 血多 -> 逃跑 血多 -> 戰(zhàn)斗 血少 -> 逃跑 和左大臣一樣,立場不堅定,50:50啊! 這樣,中大臣的話的重量就提升了,因此決策書的第一層就重用中大臣吧(中大臣變成一品大員) 計算機是怎么來做到這一步的呢?且讓我一步一步講: 決策樹訓練中,有一個很重要的尺子,來衡量大臣的可信度,這個尺子,就是信息論的熵(Entropy),這個熵是何許人也,竟然朝廷大臣的可信度竟然用次來衡量,讓我們對他做個自我介紹吧: 熵,洋名為(Entropy),乃測量信息的混亂程度為職,縱橫科學界各門學術之中,為人低調(diào),儉樸,就一個很短的公式:E = sum(-p(I)*log(p(I))),I=1:N(N類結(jié)果,如本例兩種,戰(zhàn)斗或逃跑),當信息一致,所有樣本都屬于一個類別I,那么熵為0,如果樣本完全隨機,那么熵為1,表明這個臣子對這種狀態(tài)的預測就是胡言亂語。 OK,熵,告訴我你對這個數(shù)據(jù)的看法: E(機槍) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1 E(小刀) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1 E(子彈多) = -(1/1)Log2(1/1) - (0/1)Log(0/1) = 0 + 0 = 0 E(子彈少) = -(1/3)Log2(1/3) - (2/3)Log(2/3) = 0.5283 + 0.39 = 0.9183 E(血多) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1 E(血少) = -(1/2)Log2(1/2) - (1/2)Log(1/2) = 0.5 + 0.5 = 1 那么我們怎么用這個熵來衡量大臣(每維數(shù)據(jù))的可信度呢,這里還要再引出一位仁兄,其是熵的上級,他熟知熵的能力,很會用熵,他就是信息增益(Information Gain),我們來看看這位上級是如何用熵來衡量的: Gain(Sample,Action) = E(sample) - sum(|Sample(v)|/Sample * E(Sample(v))) OK,Information Gain,說說你是怎么評估這個例子的三位大臣的! Gain(武器類型) = E(S) - (2/4)*E(機槍) - (2/4)*E(小刀) = 1 - (2/4)*1 - (2/4)*1 = 0 Gain(子彈數(shù)量) = E(S) - (1/4)*E(子彈多) - (3/4)*E(子彈少) = 1 - (1/4)*0 - (3/4)*0.9183 = 0.3113 Gain(血量) = E(S) - (2/4)*E(血多) - (2/4)*E(血少) = 1 - (2/4)*1 - (2/4)*1 = 0 接著,計算機通過信息增益結(jié)果,選擇最大的,作為一品大員 且看一品大員對子彈多的情況下料事如神(暫且不說本例樣本少),但是其在子彈少的情況下,決策還是不行的,那么,再用同樣的方法,再去選擇二品,三品,這就是決策樹的訓練,呵呵,不知有沒有幫助各位理解
from:?http://www.52analysis.com/shujuwajue/2441.html
總結(jié)
以上是生活随笔 為你收集整理的白话一下什么是决策树模型 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。