5秒導(dǎo)讀:本文將介紹熵,以及決策樹算法,并講述如何使用該算法判斷事物屬性
前幾天我向禪師請(qǐng)教:“為何我的事業(yè)不能一帆風(fēng)順青云直上?”禪師曰:“潮漲潮落,月圓月缺,施主可曾見過世上有什么只增不減?”我堅(jiān)定的回答:“熵?。。 ?/span>
OK,且把閑話打住,讓我們開始今天的主題——決策樹,相信很多人玩過諸如“你能否貸款”之類的測(cè)試,其過程可以用樹狀表示
再比如“測(cè)測(cè)看他是否招黑體質(zhì)”,其問題可能是,他喜歡唱跳rap籃球?他染銀發(fā)?他背帶褲?反正諸如此類吧.......
其實(shí)這類的測(cè)試并不完全只是娛樂性質(zhì),如果我們能在數(shù)學(xué)的支撐下嚴(yán)格的生成符合真實(shí)情況的用于測(cè)試的決策樹,那么,我們就可以得到比較準(zhǔn)確的預(yù)測(cè)結(jié)果。事實(shí)上,決策樹算法,就是利用大量真實(shí)數(shù)據(jù)與熵來生產(chǎn)這樣一個(gè)測(cè)試的算法!
OK,讓我們從決策樹的數(shù)學(xué)依據(jù)——熵開始說起,熵由克勞德.香農(nóng)(Claude Elwood Shannon)首先提出,它描述了事物的混亂程度,至于熵為什么叫熵,是因?yàn)榭赐昕藙诘?/span>.香農(nóng)寫完信息論之后,約翰.馮.諾依曼建議使用“熵”這個(gè)術(shù)語,畢竟大家都不知道它是什么意思!
這類用到的公式其實(shí)非常簡單,其中pi表示了某個(gè)事件發(fā)生的概率。
這個(gè)公式的理解其實(shí)也非常簡單,首先請(qǐng)看ln的圖像
pi越小,ln(pi)負(fù)的越多,由于求和之前有一個(gè)負(fù)號(hào),所以算出來的熵值就會(huì)越大!
我們?cè)侔褑栴}說的具體些,假如一個(gè)袋子A里只有20個(gè)白色的球,那么摸到白球的概率就是1,該袋子的熵的就是1*ln(1)=0
假設(shè)袋子B里有20個(gè)球,每一個(gè)顏色都不一樣,那么該袋子的熵為
大概是2.995左右,顯然袋子B比袋子A更亂,所以計(jì)算出來的袋子B的熵比袋子A的熵更大。
明白了什么是熵以后,我們就可以介紹決策樹原理。決策樹的基本思路是,每一次判斷都使熵最大程度降低。到了樹的葉子節(jié)點(diǎn)(也就是該節(jié)點(diǎn)下再無其他節(jié)點(diǎn)),我們可以就得到判斷結(jié)果!再說的通俗些就是,每一次判斷,我們都找出最關(guān)鍵的因素,因?yàn)樵撘蛩刈顬殛P(guān)鍵,所以具備該因素的東西,基本都是一類。而基本一類的東西湊在一起熵自然會(huì)比較小,比如說上面的袋子A,因?yàn)橹挥邪浊颍造貫?/span>0。
OK,讓我們討論一個(gè)具體些的例子,比如說一輛車是否運(yùn)動(dòng)?,F(xiàn)在我們收集了如下一組數(shù)據(jù)
首先我們需要計(jì)算原始的熵,也就是
-P(大馬力)*ln[P(大馬力)] - P(小馬力)*ln[P(小馬力)] = 0.68291
為了選擇根節(jié)點(diǎn),我們找到最為關(guān)鍵的因素,也就是計(jì)算每一個(gè)指標(biāo)對(duì)應(yīng)的熵,再對(duì)比它相對(duì)原始熵減少的量,比如說“馬力”。4輛比較運(yùn)動(dòng)的車中3輛為大馬力,而小馬力的車沒有一輛運(yùn)動(dòng),具體算出來他的熵為:
-(4/7)*((1/4)*ln(1/4)-(3/4)*ln(3/4))= 0.39608
而顏色嘛,如法炮制算出來則是
基本沒怎么變,也就是說一輛車運(yùn)動(dòng)與否和顏色并沒有太大關(guān)系,假設(shè)其他屬性算出來,值都比馬力的0.39608大,那么當(dāng)然馬力就作為根節(jié)點(diǎn)!
至于剩下的屬性怎么辦?如果在一個(gè)屬性下分類完全一樣,那么直接作為葉子節(jié)點(diǎn)放那(比如說小馬力分支對(duì)應(yīng)的節(jié)點(diǎn)直接輸出否)。分類不完全一樣的,如法炮制,找出下一個(gè)最關(guān)鍵的因素即可!
決策樹的內(nèi)容到此結(jié)束,關(guān)注我們,獲取更多有關(guān) AI與大數(shù)據(jù)的信息,ASRay明日麗科技——科技助力企業(yè)發(fā)展,攜手共創(chuàng)更美明天!





暫無評(píng)論,快來評(píng)論吧!