一種認(rèn)知計(jì)算中基于cart的決策樹(shù)構(gòu)建方法
【專利摘要】本發(fā)明公開(kāi)一種認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu)建方法,包括:根據(jù)決策樹(shù)的制定規(guī)則,初始化決策樹(shù)的根節(jié)點(diǎn)和對(duì)應(yīng)的特征屬性集;對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行排序操作;判斷節(jié)點(diǎn)中的所有樣本數(shù)據(jù)是否屬于同一類,計(jì)算待分裂的節(jié)點(diǎn)的最優(yōu)和次優(yōu)特征屬性,判斷是否滿足選擇最優(yōu)分裂屬性和中斷機(jī)制的分裂條件,若滿足,則使用最優(yōu)分裂屬性進(jìn)行分裂,根據(jù)使用最優(yōu)分裂屬性分裂,然后使用特征屬性分裂后的節(jié)點(diǎn)迭代替換當(dāng)前節(jié)點(diǎn),從左右兩個(gè)分支中添加一個(gè)新的葉子節(jié)點(diǎn),達(dá)到?jīng)Q策樹(shù)的自動(dòng)分裂;否則等待數(shù)據(jù)流輸入,進(jìn)行樣本更新,繼續(xù)對(duì)節(jié)點(diǎn)分裂進(jìn)行計(jì)算。本發(fā)明進(jìn)一步提高了處理數(shù)據(jù)流的準(zhǔn)確度,降低了系統(tǒng)阻塞的可能性。
【專利說(shuō)明】
一種認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu)建方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及大數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu)建方 法。
【背景技術(shù)】
[0002] 云計(jì)算、物聯(lián)網(wǎng)等新興技術(shù)的快速發(fā)展促使數(shù)據(jù)的規(guī)模正以前所未有的速度增 長(zhǎng),大數(shù)據(jù)時(shí)代已經(jīng)開(kāi)始到來(lái)。決策樹(shù)是數(shù)據(jù)挖掘中的一種常用數(shù)據(jù)處理模型,常見(jiàn)的決策 樹(shù)構(gòu)建算法包括ID3,C4.5以及CART等,然而,ID3,C4.5和CART等決策樹(shù)構(gòu)建算法都是為靜 態(tài)數(shù)據(jù)集設(shè)計(jì)的,它們無(wú)法直接應(yīng)用于數(shù)據(jù)流的處理,因?yàn)閿?shù)據(jù)流是無(wú)窮無(wú)盡的。除此之 外,數(shù)據(jù)流將以很快的速度源源不斷的流入系統(tǒng),這也給決策樹(shù)的訓(xùn)練帶來(lái)了極大的挑戰(zhàn)。 現(xiàn)有的研究對(duì)數(shù)據(jù)流的處理也有一些解決方案,近十年使用最多的工具是增量學(xué)習(xí),增量 學(xué)習(xí)技術(shù)能夠從數(shù)據(jù)中學(xué)習(xí)新的知識(shí)并且保留原有知識(shí),并且整個(gè)過(guò)程不用重復(fù)處理已經(jīng) 學(xué)習(xí)過(guò)的數(shù)據(jù)。根據(jù)這一特性,可以使用增量學(xué)習(xí)技術(shù)來(lái)獲取特征屬性。但由于無(wú)法使用無(wú) 窮多的數(shù)據(jù)集來(lái)計(jì)算最優(yōu)特征的選擇,因此只能使用已知數(shù)據(jù)來(lái)構(gòu)成樣本集來(lái)訓(xùn)練決策 樹(shù),已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足當(dāng)前數(shù)據(jù)處理的需要。
【發(fā)明內(nèi)容】
[0003] 鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu) 建方法,在一定概率下,通過(guò)樣本訓(xùn)練所得的最優(yōu)特征與整個(gè)數(shù)據(jù)流應(yīng)該選擇的最優(yōu)特征 是一致的,可在較短的訓(xùn)練時(shí)間內(nèi)得到較高準(zhǔn)確性的決策樹(shù)模型。
[0004] -種認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu)建方法,包括以下步驟:
[0005] 步驟1、初始化決策樹(shù)的根節(jié)點(diǎn)和對(duì)應(yīng)的特征屬性集;
[0006] 步驟2、根據(jù)此時(shí)決策樹(shù)的特征屬性,對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行排序操作;
[0007] 步驟3、判斷節(jié)點(diǎn)中的所有樣本數(shù)據(jù)是否具有相同類別的數(shù)據(jù)標(biāo)簽,如果是,則執(zhí) 行步驟4,否則結(jié)束;
[0008] 步驟4、將節(jié)點(diǎn)設(shè)置為待分裂的節(jié)點(diǎn),同時(shí)計(jì)算節(jié)點(diǎn)的最優(yōu)和次優(yōu)特征屬性;
[0009] 步驟5、判斷節(jié)點(diǎn)是否滿足最優(yōu)特征屬性和中斷機(jī)制的分裂條件,如果滿足,則使 用最優(yōu)特征屬性進(jìn)行分裂,將分裂后的節(jié)點(diǎn)替換當(dāng)前節(jié)點(diǎn),并從分支中添加一個(gè)新的葉子 節(jié)點(diǎn),達(dá)到?jīng)Q策樹(shù)的自動(dòng)分裂;否則等待數(shù)據(jù)流輸入,進(jìn)行樣本更新,然后執(zhí)行步驟4。
[0010]所述決策樹(shù)的特征屬性是Gini增益。
[0011]所述最優(yōu)特征屬性為Gini增益最大的特征屬性。
[0012] 所述中斷機(jī)制的分裂條件是滿足f > A,其中r為尾-ΦΤ), i為X或y,L、R代表不同的訓(xùn)練子集;中斷參·
其中Z(K)是指標(biāo)準(zhǔn)正態(tài) 分布N(0,1)的l-α分位數(shù),Q(K)則表示5K2-8K+4,在這種情況下,gx比g y大的概率是l-α。
[0013] 本發(fā)明通過(guò)對(duì)海量數(shù)據(jù)流訓(xùn)練來(lái)處理數(shù)據(jù)流數(shù)據(jù),使用已知數(shù)據(jù)來(lái)構(gòu)成樣本集來(lái) 訓(xùn)練決策樹(shù),提高了處理數(shù)據(jù)流的準(zhǔn)確度,降低了系統(tǒng)阻塞的可能性。
【附圖說(shuō)明】
[0014] 圖1為本發(fā)明實(shí)施例基于CART的決策樹(shù)構(gòu)建方法的流程圖;
[0015] 圖2為本發(fā)明實(shí)施例與MDT和GDT算法準(zhǔn)確性性能對(duì)比;
[0016] 圖3為本發(fā)明實(shí)施例與McDiarmid Tree算法性能對(duì)比;
[0017] 圖4為本發(fā)明實(shí)施例準(zhǔn)確性與干擾數(shù)據(jù)比例的關(guān)系;
[0018] 圖5為本發(fā)明實(shí)施例與Gauss Decision Tree訓(xùn)練時(shí)間對(duì)比。
【具體實(shí)施方式】
[0019] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0020] CART首先創(chuàng)建一個(gè)根節(jié)點(diǎn)No,在學(xué)習(xí)的過(guò)程中,對(duì)于每一個(gè)指定的節(jié)點(diǎn)1都有一個(gè) 指定的訓(xùn)練集S的子集33與之對(duì)應(yīng)。對(duì)于根節(jié)點(diǎn),對(duì)應(yīng)的就是訓(xùn)練集S。當(dāng)一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的子 集都屬于同一個(gè)分類的時(shí)候,該節(jié)點(diǎn)就被設(shè)置為葉子節(jié)點(diǎn),代表該節(jié)點(diǎn)的訓(xùn)練已經(jīng)完成。如 果一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的子集不都屬于同一個(gè)分類的時(shí)候,算法將繼續(xù)迭代進(jìn)行,直至所有的訓(xùn) 練子集都對(duì)應(yīng)相應(yīng)的葉子節(jié)點(diǎn)。
[0021] 對(duì)于每個(gè)可以獲取的屬性b1,該屬性的取值B1將分成為兩個(gè)區(qū)間的子集g和碟。 這兩種子集將訓(xùn)練子集3 3分成兩個(gè)部分Lq和Rq。在CART中,常用的雜質(zhì)度量方法是Gini指 數(shù),對(duì)于一個(gè)子訓(xùn)練集S a,其Gini指數(shù)表示方法如下:
[0022] (1)
[0023]其中,
P表示訓(xùn)練集中屬于該分類的概率,k代表分類數(shù)值,a代表訓(xùn)練子集編號(hào)。從 公式1容易看出,Gini指數(shù)的最小值是0,當(dāng)所有樣本都正確分類的時(shí)候取得最小值。換句話 說(shuō),Gini指數(shù)反映了分類結(jié)果的純度,數(shù)值越小,分類越純,結(jié)果也就越準(zhǔn)確。當(dāng)前節(jié)點(diǎn)中訓(xùn) 練集的分類通概率出現(xiàn)時(shí),Gini指數(shù)出現(xiàn)最大值。
[0024]根據(jù)概率關(guān)系,可以得到加權(quán)Gini指數(shù):
[0025]
(:2>
[0026]在CART中,根據(jù)Gini指數(shù)或者加權(quán)Gini指數(shù)的增益來(lái)對(duì)節(jié)點(diǎn)進(jìn)行分裂操作,這類 似于ID3算法中根據(jù)信息熵增益進(jìn)行分裂操作。
[0027] 所有的計(jì)算和分析都是基于整個(gè)數(shù)據(jù)集進(jìn)行分析的。下面將討論針對(duì)流數(shù)據(jù)的分 析。由于流數(shù)據(jù)是無(wú)限的,不可能做到像CART-樣來(lái)計(jì)算樣本中屬于某一分類的概率,而只 能根據(jù)已知的數(shù)據(jù)樣本對(duì)其概率進(jìn)行估計(jì)。
[0028] 考慮到一個(gè)固定的節(jié)點(diǎn)的情況,在前面的分析中使用53表示,根據(jù)前面的分析,可 以得到如下結(jié)論:
[0029] ii) κΑ)
[0031] 這樣,相當(dāng)于是考慮了 K個(gè)特征中的K-I個(gè)來(lái)進(jìn)行計(jì)算。根據(jù)這一規(guī)則,概率Pk可以 類似的計(jì)算出來(lái),計(jì)算方法如下:
[0032]
(5,)
[0033]從公式5可以看出,K個(gè)特征屬性中的K-I一個(gè)是重要的。注意,概率Pj不是根據(jù)選 定的特征屬性來(lái)決定的,而是可以根據(jù)G(A)、&(€)以及。(R)來(lái)計(jì)算,結(jié)算公式如 下: Γλλο? ?
(6)
[0035] 對(duì)于任意的數(shù)據(jù)集,數(shù)據(jù)集的每一個(gè)組成元素都屬于K個(gè)類別的某一個(gè)。Gini指數(shù) 可以使用如下公式計(jì)算。
[0036]
(7)
[0037] 其中Pj表示數(shù)據(jù)集中屬于第j個(gè)分類的概率。這樣一來(lái),Gini指數(shù)可以使用K-I個(gè) 變量的函數(shù)來(lái)表示。同樣,Gini增益也可以使用以上提及的參數(shù)來(lái)表示:
[0038] Gini_g = Gini(Pi,P2. . . , Ρκ-ι )-PLGini (Pu, P2L. . . ,P(k-i)l)-( l-PL)Gini (Pir, P2R. . . ,P(k-i)r) (8)
[0039] 因此,最優(yōu)的分裂選擇特征屬性可以根據(jù)如下公式求出:
[0040]
(9)
[0041] 使用符號(hào)g1表示特征屬性b1的Gini增益。使用符號(hào)芎表示if的估計(jì)量,后面出現(xiàn)預(yù) 估量的地方,采用相同的表示方法。這些預(yù)估值在符合二項(xiàng)分布的隨機(jī)變量中可以當(dāng)作是 算術(shù)平均值來(lái)對(duì)待。假設(shè)s是數(shù)據(jù)集S的一個(gè)變量,定義一個(gè)變量δ,當(dāng)s屬于L 1時(shí)候?yàn)?,不屬 于L1時(shí)候?yàn)?。這時(shí)候,δ是服從二項(xiàng)分布的變量,且平均值為巧,方差為g(l- P/類似的, 定義SkL和SkR,k屬于{1,2,…,K-I}。當(dāng)左節(jié)點(diǎn)數(shù)據(jù)子集Im屬于第k個(gè)分類的時(shí)候,S klj變量值 為1,當(dāng)右節(jié)點(diǎn)數(shù)據(jù)子集rJl于第k個(gè)分類的時(shí)候,SkR變量值為1。
[0042] 如果根據(jù)兩個(gè)不同的特征屬性和樣本集計(jì)算出的Gini增益數(shù)值大于一個(gè)給定的 特殊值,則該值一定概率上反映真實(shí)的Gini增益值。根據(jù)這一依據(jù),可以根據(jù)最近得到的數(shù) 據(jù)集決定最佳特征屬性進(jìn)行決策樹(shù)分裂建樹(shù)操作。
[0043]為了方便描述,將以,思,,..,盡_郵)記作穿。然后考慮兩個(gè)特 征屬性bx和by,然后計(jì)算它們的Gini增益值。如果它們的差值滿足最優(yōu)分裂屬性的方法,即 如下公式10的關(guān)系:
(IQ)
[0045] 其中引入中斷參數(shù)γκ如公式11所示:
[0046]
(Ii)
[0047] 公式(11)中的Ζ(1-α)是指標(biāo)準(zhǔn)正態(tài)分布Ν(0,1)的l-α分位數(shù)。Q(K)則表示5Κ 2-8Κ+4。 在這種情況下,gx比gy大的概率是l-α。也就是說(shuō),如果g x和gy的Gini增益的預(yù)估值的關(guān)系滿 足公式10,則gx和g y的真實(shí)值滿足gx>gy的概率是l-α。中斷參數(shù)的引入是引入中斷機(jī)制,BP γκ>〇,它可以一定程度上防止程序堵塞,較少程序的計(jì)算量。
[0048] 根據(jù)之前的結(jié)論可以知道,當(dāng)bx和by是具有最大Gini增益的特征屬性的時(shí)候,那 么,b x可以選擇作為分裂屬性。而這種情況出現(xiàn)的可信度為l-c^1。也就是說(shuō),可以在一定可 信度下確定分裂所應(yīng)該選擇的最優(yōu)特征屬性。
[0049] 在圖 2 中,通過(guò)實(shí)驗(yàn)分析CART_DS算法與McDiarmid Tree (MDT)和Gaussian Decision Tree(⑶T)算法進(jìn)行性能對(duì)比。設(shè)置中斷因子參數(shù)Θ為0.05,設(shè)置固定概率值α為 10-7。固定這些參數(shù)不變,從104到109改變訓(xùn)練數(shù)據(jù)集的數(shù)量,比較算法分類的準(zhǔn)確性上的 表現(xiàn)。三種算法在準(zhǔn)確性性能方面的表現(xiàn)基本一致,本章提出的CART_DS算法稍微領(lǐng)先。這 種結(jié)果出現(xiàn)的原因是因?yàn)槿N算法實(shí)質(zhì)上都是基于CART生成決策樹(shù)算法所作出的改進(jìn)。也 就是說(shuō),對(duì)于相同的數(shù)據(jù)集,三種算法可能生成一致的決策樹(shù)。但是從總體趨勢(shì)我們可以看 出,算法的準(zhǔn)確性都隨著數(shù)據(jù)集的數(shù)量的增加表現(xiàn)為上升趨勢(shì),當(dāng)數(shù)據(jù)集數(shù)量在IO 9數(shù)量級(jí) 的時(shí)候,算法的準(zhǔn)確性可以接近95%。
[0050] 在圖3中,分析CART_DS算法與McDiarmid Tree算法的性能。設(shè)置中斷因子參數(shù)Θ為 〇,設(shè)置固定概率值α為0.1。在使用CART生成決策樹(shù)的過(guò)程中,最重要的分裂(也就是具有最 大增益的分裂)通常就是第一次分裂,即根節(jié)點(diǎn)的分裂。由于生成樹(shù)的最終結(jié)果是類似的, 算法最終的準(zhǔn)確率趨于相同。同時(shí)從圖中可以看出,CART_DS算法比McDiarmid Tree算法做 分裂的時(shí)候所需要的數(shù)據(jù)樣本數(shù)量更少,因此,CART_DS算法在于一個(gè)分裂操作中需要更少 的訓(xùn)練數(shù)據(jù)集,根節(jié)點(diǎn)的分裂操作總是比McDiarmid Tree算法更快。
[0051] 在圖4中,在樣本數(shù)據(jù)中加入一定比例的噪聲(干擾數(shù)據(jù))。使用如下機(jī)制來(lái)生成干 擾數(shù)據(jù)。在每一次數(shù)據(jù)生成的過(guò)程中,按照一個(gè)固定的概率Φ來(lái)改變樣本數(shù)據(jù)中的特征屬性 和標(biāo)簽值,改變后的值是所有可能值,并且每一種數(shù)值的取值可能性是一致的。Φ的取值從 0 %到50 %之間(包含)逐漸變化。本實(shí)驗(yàn)的仿真實(shí)驗(yàn)結(jié)果表明,隨著噪聲比例的增加,準(zhǔn)確 率隨之下降。
[0052] 在圖5中,分析CART_DS算法與Gaussian Decision Tree算法在訓(xùn)練時(shí)間上的性能 對(duì)比。設(shè)置中斷因子參數(shù)Θ為0,設(shè)置固定概率值α為0.1,改變訓(xùn)練樣本集的數(shù)量η。從實(shí)驗(yàn)結(jié) 果可以看出,隨著訓(xùn)練數(shù)據(jù)集規(guī)模的增加,CART_DS算法在訓(xùn)練時(shí)間上的表現(xiàn)比Gaussian Decision Tree算法在訓(xùn)練時(shí)間上的表現(xiàn)所體現(xiàn)出的優(yōu)勢(shì)越發(fā)明顯,換句話說(shuō),CART_DS算 法在大數(shù)據(jù)規(guī)模下使用,優(yōu)勢(shì)更加明顯。
[0053]本發(fā)明方案所公開(kāi)的技術(shù)手段不僅限于上述實(shí)施方式所公開(kāi)的技術(shù)手段,還包括 由以上技術(shù)特征任意組合所組成的技術(shù)方案。
【主權(quán)項(xiàng)】
1. 一種認(rèn)知計(jì)算中基于CART的決策樹(shù)構(gòu)建方法,其特征是,包括w下步驟: 步驟1、初始化決策樹(shù)的根節(jié)點(diǎn)和對(duì)應(yīng)的特征屬性集; 步驟2、根據(jù)此時(shí)決策樹(shù)的特征屬性,對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行排序操作; 步驟3、判斷節(jié)點(diǎn)中的所有樣本數(shù)據(jù)是否具有相同類別的數(shù)據(jù)標(biāo)簽,如果是,則執(zhí)行步 驟4,否則結(jié)束; 步驟4、將節(jié)點(diǎn)設(shè)置為待分裂的節(jié)點(diǎn),同時(shí)計(jì)算節(jié)點(diǎn)的最優(yōu)和次優(yōu)特征屬性; 步驟5、判斷節(jié)點(diǎn)是否滿足最優(yōu)特征屬性和中斷機(jī)制的分裂條件,如果滿足,則使用最 優(yōu)特征屬性進(jìn)行分裂,將分裂后的節(jié)點(diǎn)替換當(dāng)前節(jié)點(diǎn),并從分支中添加一個(gè)新的葉子節(jié)點(diǎn), 達(dá)到?jīng)Q策樹(shù)的自動(dòng)分裂;否則等待數(shù)據(jù)流輸入,進(jìn)行樣本更新,然后執(zhí)行步驟4。2. 根據(jù)權(quán)利要求1所述的決策樹(shù)構(gòu)建方法,其特征是,步驟2中所述決策樹(shù)的特征屬性 是Gini增益。3. 根據(jù)權(quán)利要求2所述的決策樹(shù)構(gòu)建方法,其特征是,所述最優(yōu)特征屬性為Gini增益最 大的特征屬性。4. 根據(jù)權(quán)利要求1所述的決策樹(shù)構(gòu)建方法,其特征是,所述中斷機(jī)制的分裂條件是滿足 r-r >心其中r為傷'化'_各(巧,思,.·馬雌,瑪,,..,語(yǔ)_峭),功X或y,L、R代表不同的訓(xùn)練子 集;中斷參數(shù)其中Ζ(ι-α)是指標(biāo)準(zhǔn)正態(tài)分布N(0,1)的1-α分位數(shù),Q化)貝。 表示5Κ2-8Κ+4,在運(yùn)種情況下,gx比gy大的概率是1-α。
【文檔編號(hào)】G06F17/30GK105843924SQ201610179487
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年3月25日
【發(fā)明人】王堃, 陸恒, 張明翔, 岳東, 孫雁飛, 吳蒙, 亓?xí)x, 陳思光
【申請(qǐng)人】南京郵電大學(xué)