国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

基于香農(nóng)熵的決策樹算法

2019-11-10 19:43:28
字體:
供稿:網(wǎng)友

基于香農(nóng)熵的決策樹算法


《機(jī)器學(xué)習(xí)實戰(zhàn)》一書中有介紹構(gòu)造決策樹的算法。 所謂決策樹就是已知一些項特征的信息和項最終分類,求通過特征判斷項最終分類的遞歸決策樹。例如書中的例子是判斷一個動物是不是魚類,下面為一個數(shù)據(jù)集。

def createDataSet(): dataSet = [/ [1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']] labels = ['no surfacing', 'fl書里舉的另一個例子是隱形眼鏡的問題。書里提供了繪圖引擎用于繪制決策樹。


算法大致流程是: 1.獲得數(shù)據(jù)集 2.找到一個好的特征劃分?jǐn)?shù)據(jù)集為兩部分 3.遞歸這一過程直到數(shù)據(jù)集內(nèi)全部為同種類 4.打印由上述劃分確定的樹狀結(jié)構(gòu)


那么如何劃分?jǐn)?shù)據(jù)集,也就是如何確定最佳劃分狀態(tài)?當(dāng)然是信息量大的劃分。信息量可以用香農(nóng)熵刻畫。 U(s)=?Σ(pi?logpi2),其中P(s=si)=pi,且{si}為s的一個劃分

具體嚴(yán)格的數(shù)學(xué)推導(dǎo)我覺得可以用性質(zhì)刻畫定義(數(shù)學(xué)上很多函數(shù)都是先給出性質(zhì)再解函數(shù)方程獲得唯一定義,于是干脆用性質(zhì)代替定義)。 顯然U(s)有性質(zhì)信息量等于各部分信息量之和:U(s)=ΣU(si) 并定義初值條件U(B(1,12))=1(bit) 那么,只需要求出U(s_i)即可,下面假設(shè)f(P(si))=U(si),只需要求出f(x)(0<x<1)表達(dá)式即可

先考慮一個簡單的問題,p=12k時,2k個狀態(tài)信息量之和為U=2kf(p)=k(bit),因為由定義1bit信息可以解決一個二分問題。那么f(p)=k2k=?p?logp2,當(dāng)然這僅僅解決了1p=2k情形。

然后利用相同手法可以得到性質(zhì)(函數(shù)方程)f(x)x+f(f)y=f(x+y)x+y且有初值條件f(12)=12和連續(xù)條件

這就是一個中規(guī)中規(guī)中矩的函數(shù)方程了,依次解決1p是整數(shù),有理數(shù)情況,最后用連續(xù)條件(Cauchy法)推廣到實數(shù)即可。

可以得到信息量的表示方法,也就是香農(nóng)熵,注意與熱力學(xué)熵推導(dǎo)過程一模一樣,除了常數(shù)不同。


決策樹代碼略


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 锡林郭勒盟| 大理市| 谷城县| 和田县| 台中县| 唐河县| 阜平县| 襄垣县| 东丰县| 广南县| 郴州市| 中阳县| 南川市| 淮南市| 普安县| 雅江县| 阿坝县| 河东区| 增城市| 明光市| 辽宁省| 屏东市| 清远市| 宣恩县| 马龙县| 治多县| 安康市| 疏勒县| 苍山县| 棋牌| 德化县| 靖远县| 岳普湖县| 白城市| 碌曲县| 林芝县| 庆城县| 揭阳市| 金乡县| 平潭县| 丹阳市|