劉 帥,吳 濤,2,方 越,胡皓瑋
1.安徽大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,合肥 230031 2.安徽大學(xué) 計(jì)算機(jī)智能與信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室,合肥 230039
隨著決策樹在數(shù)據(jù)挖掘中的普遍運(yùn)用,其在圖像識(shí)別、機(jī)器學(xué)習(xí)、數(shù)據(jù)分類等方面均取得了顯著效果。傳統(tǒng)決策樹算法如ID3算法和C4.5算法在處理不平衡數(shù)據(jù)時(shí),分類效果不穩(wěn)定,尤其在處理更復(fù)雜的模糊數(shù)據(jù)時(shí)不能實(shí)現(xiàn)更好的分類,所以將模糊理論和決策樹相結(jié)合,模糊決策樹(Fuzzy Decision Tree, FDT)被提出。
目前很多專家提出多種FDT算法, Wang等[1]提出基于模糊規(guī)則的模糊決策樹算法,該模糊決策樹的節(jié)點(diǎn)能夠涉及多個(gè)特征模糊規(guī)則,證明其有更好的分類性能;翟俊海等[2]提出一種模糊粗糙決策樹算法,結(jié)合了知識(shí)的粗糙度和數(shù)據(jù)的模糊性,該算法比模糊ID3算法有更高的分類精度;Zheng等[3]將隸屬函數(shù)模型擴(kuò)展到模糊隨機(jī)森林中應(yīng)用于風(fēng)險(xiǎn)識(shí)別和預(yù)測(cè),結(jié)果表明該方法生成的決策樹比經(jīng)典決策樹更準(zhǔn)確;Wang[4]等提出決策樹與模糊粗糙集中與屬性約簡(jiǎn)融合的方法,該算法性能明顯優(yōu)于其他使用優(yōu)勢(shì)粗糙集的融合方法;Idris等[5]提出FID3算法,將模糊系統(tǒng)與ID3算法相結(jié)合,在乳腺癌數(shù)據(jù)集分類上有較高的準(zhǔn)確率;Li等[6]將分類問題轉(zhuǎn)化為模糊粒度空間來(lái)求解,將數(shù)據(jù)進(jìn)行模糊粒度化,提出一種自適應(yīng)全局隨機(jī)聚類算法,認(rèn)為選擇擴(kuò)展屬性的標(biāo)準(zhǔn)是信息增益比,結(jié)果可知有較高的準(zhǔn)確率和魯棒性;Farna等[7]提出基于卡方值的多柔性模糊決策樹,將傳統(tǒng)卡方統(tǒng)計(jì)擴(kuò)展到模糊卡方統(tǒng)計(jì)用于數(shù)據(jù)分類,實(shí)驗(yàn)結(jié)果表明該算法比傳統(tǒng)卡方統(tǒng)計(jì)算法有更優(yōu)的分類效果。
上述FDT算法把模糊粗糙領(lǐng)域概念與傳統(tǒng)決策樹結(jié)合構(gòu)建模糊決策樹,只是選擇分裂屬性的標(biāo)準(zhǔn)不同,每個(gè)樣本屬于節(jié)點(diǎn)的程度都是用隸屬度來(lái)表示,但是無(wú)法獲取樣本數(shù)據(jù)對(duì)于節(jié)點(diǎn)非隸屬度和猶豫度的信息,顯然這些算法在實(shí)際中不能更好地全面獲取數(shù)據(jù)信息,導(dǎo)致數(shù)據(jù)分類準(zhǔn)確率不高。針對(duì)此,基于畢達(dá)哥拉斯模糊集(Pythagorean Fuzzy Set,PFS)理論,定義一種新的加權(quán)畢達(dá)哥拉斯模糊熵,并提出一種新的加權(quán)畢達(dá)哥拉斯模糊決策樹算法(WPFDT),將PFS與FDT相結(jié)合,推導(dǎo)了WPFDT完整的構(gòu)建過程,相較于傳統(tǒng)FDT算法,WPFDT可以同時(shí)包含樣本與節(jié)點(diǎn)之間的隸屬度、非隸屬度和猶豫度,可以更全面地描述節(jié)點(diǎn)中的模糊信息,從而提升數(shù)據(jù)分類準(zhǔn)確性,該算法在處理具有模糊信息的實(shí)際問題中有更好的分類效果。
在本節(jié)中,首先給出畢達(dá)哥拉斯模糊集的基本知識(shí),然后介紹FDT的基本知識(shí),最后介紹如何將連續(xù)數(shù)據(jù)轉(zhuǎn)換成PFS的主要手段。
定義1[8]設(shè)X為論域,則稱A={〈x,μA(x),νA(x)〉|,0≤μA2(x)+vA2(x)≤1,x∈X},μA(x),νA(x),πA(x)∈[0,1]為PFS,其中μA(x),νA(x),πA(x)分別是A的隸屬度、非隸屬度、猶豫度。Ai={〈x,μAi(x),νAi(x)〉|x∈X},A1?A2(i=1,2),當(dāng)且僅當(dāng)μA1(x)≤μA2(x),νA1(x)≥νA2(x)(?x∈X)。
定義2[9-10]設(shè)Ωi?F(U)(1≤i≤m)是m維的模糊子集,如果T是FDT,則滿足以下條件:
(1)T的節(jié)點(diǎn)屬于F(U);
(2) 記F(U)由所有子節(jié)點(diǎn)構(gòu)成,若有非葉子節(jié)點(diǎn)N,則存在i(1≤i≤m),滿足Γ=Ωi∩N;
(3)T的每一個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)或多個(gè)決策分類屬性值。
其中,Ωi為分裂屬性的分裂子集,Ωi中的元素是分裂屬性中的取值。
定義3[10]假設(shè)Pi(i=1,2,…,n)是屬性Ai的模糊分裂,且有fs∈Pi(s=1,2,…,l)表示屬性Ai模糊分裂后的取值,則定義以下集合:
B≡Pi1∧Pi2…∧Pik(i=1,2,…,N;k=1,2,…,n)
(1)
通過上面的定義,可以計(jì)算模糊頻率:
P(Ai1isf1|Ai2isf2∧…∧Aikisfk)=
(2)
定義4[11]設(shè)A是X上的模糊集,{μ1,…,μn},μi>μi+1為A的隸屬度,A的質(zhì)量分配函數(shù)mA的概率分布為
mA(Fi)=μi-μi+1
mA(F1)=1-μ2
(3)
其中,Fi={x∈Ω|μ(x)≥μi},i=1,…,n;集合F1,…,Fn是mA的焦點(diǎn)元素。
mA(Gi)=yi-yi+1,i=1,…,n-1
mA(Gn)=yn,mA(G1)=1-y2
其中,
Gi={x∈Ω|p(x)≥pi}
(4)
(5)
由于μ2+ν2+π2=1 ,所以有:
(6)
在文獻(xiàn)[14]中,作者定義的某些畢達(dá)哥拉斯模糊熵沒有考慮猶豫度,所以當(dāng)模糊性和猶豫性都最大時(shí)取到最大值。當(dāng)μ=ν時(shí),模糊度最大,這使得畢達(dá)哥拉斯熵值與模糊集定義的熵有矛盾,這是因?yàn)楫呥_(dá)哥拉斯模糊集的熵值受到模糊性和猶豫性的影響,當(dāng)模糊性越大時(shí),熵越大;猶豫性越大時(shí),熵也越大。針對(duì)這種情況,對(duì)文獻(xiàn)[14]定義做以下修改:即當(dāng)μ=ν=0時(shí),熵值取最大,此時(shí)模糊性和猶豫性都最大,所以能使熵值最大。接下來(lái)在考慮猶豫性和模糊性的基礎(chǔ)上,對(duì)猶豫度和模糊度賦予權(quán)重,定義新的加權(quán)Pythagorean模糊熵。
定義7A是X上的PFS,A的模糊度為hA(x)=1-|μA2(x)-vA2(x)|,其中hA(x)∈[0,1]。
定義8 設(shè)A和B是X上的PFS,有以下條件:
(1)A為清晰集,等價(jià)于E(A)=0;
(2) ?xi∈X,μA(xi)=νA(xi)=0,等價(jià)于E(A)=1;
(3)E(A)=E(Ac);
(4)E(A)是關(guān)于模糊度hA(x)的單調(diào)增函數(shù),是關(guān)于猶豫度πA(x)的單調(diào)增函數(shù)。
若E滿足以上條件,稱E為PFS上的畢達(dá)哥拉斯模熵。
條件(4)的說明:當(dāng)πA(x)=πB(x)且hA(x)≤hB(x)時(shí),E(A)≤E(B);當(dāng)hA(x)=hB(x)且πA(x)≤πB(x)時(shí),E(A)≤E(B)。
定義9 設(shè)論域X={x1,x2,x3,…,xn},A是X上的PFS,定義新的加權(quán)Pythagorean模糊熵如下:
(7)
其中,ω1+ω2=1,0≤ω1≤1,0≤ω2≤1。
證明
1)E(A)=0??xi∈X,ω1fA(xi)+ω2πA(xi)=0?
?xi∈X,ω1(1-|μA2(x)-vA2(x)|)+
0≤|μA2(x)-vA2(x)|≤1且0≤μA2(x)+vA2(x)≤1??xi∈X,|μA2(x)-vA2(x)|=1且μA2(x)+vA2(x)=1??xi∈X,uA(xi)=0,vA(xi)=1且uA(xi)=1,vA(xi)=0?A∈P(X)。
2)E(A)=1??xi∈X,ω1fA(xi)+ω2πA(xi)=1?
?xi∈X,ω1(1-|μA2(x)-vA2(x)|)+
?xi∈X,1-|μA2(x)-vA2(x)|=1
μA2(x)+vA2(x)=0??xi∈X,uA(xi)=vA(xi)=0
新的加權(quán)畢達(dá)哥拉斯模糊熵對(duì)模糊性和猶豫性賦予權(quán)重,符合畢達(dá)哥拉斯模糊熵的條件,同時(shí)考慮了模糊度和猶豫度對(duì)新的加權(quán)畢達(dá)哥拉斯模糊熵所起的作用,所以更符合客觀實(shí)際。
對(duì)于屬性的模糊處理主要有兩種,如果是清晰屬性,則直接根據(jù)語(yǔ)言術(shù)語(yǔ)語(yǔ)義將隸屬度標(biāo)記為0或者1;如果是連續(xù)屬性,則首先需要通過使用改進(jìn)的K-means算法[14]求出各屬性的聚類中心,得出各屬性中心點(diǎn)就是三角隸屬度函數(shù)的參數(shù),從而將屬性劃分為對(duì)應(yīng)數(shù)量的模糊集,然后用相應(yīng)的模糊語(yǔ)言術(shù)語(yǔ)來(lái)描述連續(xù)值屬性,最后使用上述所得的三角隸屬度函數(shù)把數(shù)據(jù)轉(zhuǎn)換成模糊數(shù)據(jù)。
以屬性A為例計(jì)算新的加權(quán)畢達(dá)哥拉斯模糊熵的過程如下:假設(shè)屬性A有l(wèi)個(gè)模糊子集As(s=1,…,l),兩個(gè)決策屬性C+和C-,則由式(1)得:
C+:w(C+∧As),C-:w(C-∧As),s=1,…,l
由式(2)計(jì)算每一個(gè)子節(jié)點(diǎn)As的相對(duì)頻率:
通過上述,計(jì)算所有條件屬性的新的加權(quán)畢達(dá)哥拉斯模糊熵,選擇熵最小的屬性為決策樹的根節(jié)點(diǎn),遞歸地計(jì)算加權(quán)畢達(dá)哥拉斯模糊熵,從而選擇分裂節(jié)點(diǎn)。
WPFDT在生成過程中需要限制樹的深度,如果生成的WPFDT深度太深,就會(huì)增加復(fù)雜的計(jì)算量,而且不一定有好的分類效果,因此要限制WPFDT的生長(zhǎng)。在FDT中常用的限制樹規(guī)模的方法有預(yù)剪枝、后剪枝等,都通過控制顯著水平、真實(shí)度來(lái)控制樹的規(guī)模,顯著水平α和真實(shí)度β的定義見參考文獻(xiàn)[15]。對(duì)于WPFDT的每一個(gè)待分裂節(jié)點(diǎn)都可以知道其隸屬度、非隸屬度,通過比較μA(x)、νA(x)與設(shè)定閾值的大小來(lái)決定是否對(duì)節(jié)點(diǎn)進(jìn)行分割;設(shè)定的閾值為0.96(一般β0>0.75)[9],當(dāng)μA(x)、νA(x)有一個(gè)值大于閾值時(shí),則停止對(duì)該節(jié)點(diǎn)進(jìn)行分割,當(dāng)μA(x)、νA(x)都小于閾值時(shí),則繼續(xù)對(duì)該節(jié)點(diǎn)進(jìn)行分割。
生成的WPFDT轉(zhuǎn)換成模糊規(guī)則的過程如下:如果有n個(gè)葉子節(jié)點(diǎn)就會(huì)有n條模糊分類規(guī)則,n個(gè)模糊規(guī)則,WPFDT在抽取規(guī)則時(shí)不僅會(huì)得出葉子節(jié)點(diǎn)的分類結(jié)果,也會(huì)得出屬于不同決策屬性的μ、ν,同時(shí)也會(huì)得出模糊分類規(guī)則的猶豫度。WPFDT在預(yù)測(cè)過程中會(huì)有多個(gè)模糊規(guī)則可以適合匹配,選擇所有隸屬度中最大值的模糊規(guī)則結(jié)果作為預(yù)測(cè)結(jié)果,并得出規(guī)則的μ、ν、π。
步驟1 輸入訓(xùn)練集,運(yùn)用改進(jìn)的K-means算法[14]和三角隸屬度函數(shù)把數(shù)據(jù)轉(zhuǎn)換成模糊數(shù)據(jù)。
步驟2 對(duì)于每一個(gè)Ai的每一個(gè)模糊子集值A(chǔ)ij(1≤i≤n;1≤j≤ki),根據(jù)式(1)和式(2)計(jì)算Aij相對(duì)于C+或C-的模糊頻率pij。
步驟4 根據(jù)式(6)得每個(gè)子節(jié)點(diǎn)Aij由以下畢達(dá)哥拉斯模糊集描述:{Aij,μ(Aij),υ(Aij),π(Aij)}。
步驟5 根據(jù)式(7)計(jì)算每一個(gè)屬性Ai的加權(quán)畢達(dá)哥拉斯模糊熵E(Ai),選取最小的E(Ai)作為根節(jié)點(diǎn)。
步驟6 設(shè)定閾值β0,當(dāng)每個(gè)子節(jié)點(diǎn)μ(Aij)、ν(Aij)都小于β0時(shí),繼續(xù)對(duì)該節(jié)點(diǎn)Ai劃分,否則標(biāo)記成為葉子節(jié)點(diǎn)。
步驟7 在根節(jié)點(diǎn)下遞歸選取最小的加權(quán)畢達(dá)哥拉斯模糊熵對(duì)應(yīng)的屬性作為分裂節(jié)點(diǎn),直至最終生成WPFDT模型。
假設(shè)有A和B兩個(gè)條件屬性,決策屬性為C,其中A和B分別有兩個(gè)條件屬性A1,A2和B1,B2,C有C+和C-兩個(gè)決策屬性,假設(shè)有4個(gè)樣本隸屬度數(shù)據(jù)如下:μ(A1)=(1,1,0.59,0.01),μ(A2)=(0,0,0.41,0.99),μ(B1)=(1,0,1,0.88),μ(B2)=(0,1,0,0.12),μ(C1)=(0,1,0,1),μ(C2)=(1,0,1,0)。
接下來(lái)在屬性B1的條件下計(jì)算模糊子集A1、A2的新的加權(quán)Pythagorean模糊熵。按照上面步驟,計(jì)算A1、A2分別相對(duì)于B1的相對(duì)頻率,用式(4)和式(5)計(jì)算屬性A在B1這個(gè)條件屬性下支持C+的最大可能性。由式(7)可得μ(A1)=0,ν(A1)=0.98,π(A1)=0.199;μ(A2)=0.59,ν(A2)=0,π(A2)=0.807,由于只有兩個(gè)屬性,所以直接確定葉子節(jié)點(diǎn),最終生成的WPFDT如圖1所示。
圖1 加權(quán)畢達(dá)哥拉斯模糊決策樹Fig.1 Weighted Pythagorean fuzzy decision tree
由圖1可知,規(guī)則1:如果B是B1并且A是A1,則分類為C+,規(guī)則的μ、ν、π分別為0.59、0、0.807。規(guī)則2:如果B是B1并且A是A2,則分類為C-,規(guī)則的μ、ν、π分別為0、0.98、0.199。規(guī)則3:如果B是B2,則分類為C+,規(guī)則的μ、ν、π分別為1、1、0。
接下來(lái)用μ(A1)=0.37,μ(A2)=0.63,μ(B1)=1,μ(B2)=0進(jìn)行預(yù)測(cè)。與規(guī)則1適合的隸屬度min{1.00,0.63}=0.63,該樣本屬于C+類的可能性為0.59,屬于C-類的可能性為0,猶豫度為0.807。與規(guī)則2適合的隸屬度為min{1.00,0.37}=0.37,該樣本屬于C+類的可能性為0,屬于C-類的可能性為0.98,猶豫度為0.199。與規(guī)則3適合的隸屬度為min{0.00}=0,表示該樣本屬于C+類的可能性為1,屬于C-類的可能性為0,猶豫度為0。最終選擇與所有規(guī)則適合最高的條件隸屬度結(jié)果作為分類結(jié)果,即選擇規(guī)則1,分類為C+。
為進(jìn)一步說明加權(quán)畢達(dá)哥拉斯模糊決策樹的優(yōu)越性,選取UCI上的Haberman、 Breast Cancer、Parkinson 3個(gè)醫(yī)學(xué)數(shù)據(jù)集,將其與3種傳統(tǒng)決策樹算法(CART算法、C4.5算法、模糊ID3算法)進(jìn)行實(shí)驗(yàn)比較,得到的分類準(zhǔn)確率如表1,并得出WPFDT算法 的準(zhǔn)確率、精確率、召回率、F1值如表2所示。
表1 分類準(zhǔn)確率的對(duì)比
表2 WPFDT算法評(píng)價(jià)指標(biāo)
由表1可知:本文的WPFDT算法在3個(gè)醫(yī)學(xué)數(shù)據(jù)集上,分類準(zhǔn)確率是最高的,表明對(duì)分裂節(jié)點(diǎn)過程中獲取的模糊信息越全面,分類準(zhǔn)確率越高。由表2知:WPFDT算法在較高的分類準(zhǔn)確率情況下,有較高的召回率和精確率。
葉子節(jié)點(diǎn)的數(shù)量越多,抽取規(guī)則的數(shù)量就越多,在分類預(yù)測(cè)時(shí)匹配規(guī)則就越多,得出的模糊決策樹規(guī)模就越大,分類的準(zhǔn)確性也越高,但當(dāng)規(guī)則數(shù)量過多的時(shí)候,不僅帶來(lái)過多的復(fù)雜計(jì)算,而且容易出現(xiàn)過擬合。下面比較4種算法在3個(gè)醫(yī)學(xué)數(shù)據(jù)集(Haberman、Breast Cancer、Parkinson)上得出模糊規(guī)則的數(shù)量,得到的結(jié)果如表3所示。
表3 IF THEN規(guī)則的數(shù)量Table 3 Number of IF THEN rules
由表3可知:在Haberman、 Breast Cancer、Parkinson 3個(gè)醫(yī)學(xué)數(shù)據(jù)集上,本文的WPFDT算法得出的規(guī)則數(shù)更加適中,說明生成的模糊決策樹更容易理解,用較合適的規(guī)則就能進(jìn)行更好地分類預(yù)測(cè),分類性能更好。
提出一種新的加權(quán)畢達(dá)哥拉斯模糊決策樹算法(WPFDT)。首先,使用改進(jìn)的K-means聚類算法得到連續(xù)屬性聚類中心,并結(jié)合三角模糊數(shù)對(duì)連續(xù)數(shù)據(jù)進(jìn)行模糊處理;其次,定義并計(jì)算每一個(gè)屬性的加權(quán)畢達(dá)哥拉斯模糊熵,選擇加權(quán)畢達(dá)哥拉斯模糊熵最小的屬性作為決策樹根節(jié)點(diǎn),在根節(jié)點(diǎn)下遞歸選擇模糊熵最小的屬性作為分裂節(jié)點(diǎn),直至生成WPFDT模型,同時(shí)通過閾值控制樹的規(guī)模,得到從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)路徑的模糊規(guī)則以及模糊規(guī)則的μ、ν、π,并完成預(yù)測(cè)分類;最后,將UCI上的數(shù)據(jù)集與3種傳統(tǒng)決策樹算法進(jìn)行實(shí)驗(yàn)比較,結(jié)果表明:WPFDT在分類精度和樹大小方面都優(yōu)于其他決策樹。在進(jìn)一步工作中,將結(jié)合卷積神經(jīng)網(wǎng)絡(luò)[16],模糊邏輯優(yōu)化加權(quán)畢達(dá)哥拉斯模糊熵,生成具有更優(yōu)分類性能的模糊決策樹。