陳曼如,張楠,童向榮,岳曉冬
(1. 煙臺大學(xué) 數(shù)據(jù)科學(xué)與智能技術(shù)山東省高校重點(diǎn)實(shí)驗(yàn)室,山東 煙臺 264005; 2. 上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)
粗糙集理論[1-2](rough set theory)是分析、處理不精確和不確定數(shù)據(jù)的有效工具。由于粗糙集理論中的等價(jià)關(guān)系在實(shí)際應(yīng)用中局限性較大,各種基于二元關(guān)系的擴(kuò)展粗糙集模型[3-8]得以發(fā)展。目前,粗糙集理論已經(jīng)廣泛應(yīng)用于數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)與模式識別等研究領(lǐng)域。
集值信息系統(tǒng)是重要的單值系統(tǒng)的擴(kuò)展模型,其中集值是用來描述不精確和缺失的信息,集值信息系統(tǒng)在現(xiàn)實(shí)生活中的應(yīng)用廣泛。近年來,許多學(xué)者對集值系統(tǒng)做了深入、大量的研究工作。Guan等[9]提出最大相容類的定義解決了同一相容類中對象不一定兩兩相似的問題,并且提出A-相對約簡和E-相對約簡。Qian等[10]提出基于優(yōu)勢關(guān)系的合取型集值序信息系統(tǒng)和吸取型集值序信息系統(tǒng)并構(gòu)建了兩種粗糙集模型。楊習(xí)貝等[11]在集值系統(tǒng)中提出模糊優(yōu)勢關(guān)系,考慮到了對象之間的優(yōu)勢程度。Huang等[12]提出概率集值信息系統(tǒng)和基于巴氏距離的 λ-相容關(guān)系,更合理地描述了在概率集值信息系統(tǒng)對象間的關(guān)系。Wei等[13]基于模糊相似類和模糊相似度提出兩種不同的模糊粗糙集模型。Zhang等[14]將量化粗糙集和優(yōu)勢粗糙集結(jié)合,提出了一種基于大規(guī)模集值信息系統(tǒng)的特征選擇和近似推理的通用框架。
Skowron等[15]認(rèn)為差別矩陣方法雖然可以求得數(shù)據(jù)集的所有約簡,但是其效率相對于啟發(fā)式算法較低,故應(yīng)用性較差。由于現(xiàn)實(shí)生活中數(shù)據(jù)信息量的不斷增大,集值系統(tǒng)中屬性約簡算法的效率需要做進(jìn)一步研究。羅川等[16]在集值序決策系統(tǒng)中通過計(jì)算粗糙近似提出了基于增加和刪除策略的增量式算法;Zhang等[17]在集值系統(tǒng)中提出了構(gòu)造關(guān)系矩陣的基本方法并且通過研究屬性集變化時(shí)關(guān)系矩陣變化的性質(zhì),得到了關(guān)系矩陣更新的增量式方法;劉瑩瑩等[18]在集值信息系統(tǒng)中通過定義一種新的相似度,提出基于相似度的啟發(fā)式算法;馬建敏等[19]在集值信息系統(tǒng)中引入信息量等概念,提出一種新的啟發(fā)式約簡算法。
定義1 集值信息系統(tǒng)是一個(gè)四元組SIS =(U,AT,V,f), 其 中: U 是非空有限對象的集合,稱為論域;AT是非空有限屬性的集合; Va是條件屬性值集合,有 V = ∪a∈ATVa; 對于 ? a ∈ A T 滿 足f(x,a)∈ Va的集值映射為 f : U×AT→2V。
若屬性集合由條件屬性集合 C 和決策屬性集合D組成, D ∩C=? , f :U×C→2VC為集值映射,f:U×D→VD為單值映射,則該信息系統(tǒng)稱為集值決策系統(tǒng) S D S=(U,C∪D,V,f)。
為 方 便 起 見 VD={1,2,···,r},U/IND(D)={D1,D2,···,Dr}, 其 中IND(D)={(xi,xj)|(xi,xj)∈ U2,f(xi,D)=f(xj,D)}。 U/IND(D)表示D在U上的劃分。
例1 表1為集值決策系統(tǒng) S D S=(U,C∪D,V,f),其 中: U ={x1,x2,x3,x4,x5,x6,x7,x8} 為 論 域,C ={a1,a2,a3,a4,a5} 為 條件屬性集合, D =m0k0mey 為決策屬性集合。
表 1 集值決策系統(tǒng)Table 1 Set-valued decision systems
定義2 集值信息系統(tǒng) S I S=(U,AT,V,f),?A?AT,則 A 在U上的相容關(guān)系定義為
TA={(x,y)∈U×U|?a∈ A ,a(x)∩a(y)≠?}。
等價(jià)關(guān)系在集值信息系統(tǒng)不再成立, TA滿足自反性和對稱性,不一定滿足傳遞性。設(shè) TA(x) 為相容類,定義 TA(x)={y∈U|(x,y)∈TA},表示與對象x關(guān)于相容關(guān)系 TA的最大不可分辨對象集合。U/TA={TA(x)|x∈U}形成對論域的一個(gè)覆蓋,其中任意兩個(gè)集合都可能相交。
定義3 集值信息系統(tǒng) S I S =(U,AT,V,f), X ?U,A?AT,則在相容關(guān)系 A 下集合 X 的下、上近似分別為 A ( X)={x∈U|TA(x)?X} 和A(X)={x∈ U |TA(x)∩X≠?}。
X 的下近似是在相容關(guān)系 A 下確定屬于 X 的全體對象集合,而 X 的上近似是在相容關(guān)系 A 下可能屬于 X 的全體對象集合。
根據(jù)定義3可得:POSA(X)=A(X),BNA(X)=A(X)-A(X)。 P O SA(X) 稱為在相容關(guān)系 A 下集合 X 的正域,它表示在相容關(guān)系 A 下可以確定劃分到集合X 里的對象集合; B NA(X) 為在相容關(guān)系 A 下集合X 的邊界域,它表示在相容關(guān)系 A 下不能完全確定劃分是否屬于集合 X 的對象集合。
定義4 集值決策系統(tǒng) S I S =(U,AT,V,f), A ?AT,U/IND(D)={D1,D2,···,Dr},則決策屬性 D 在相容關(guān)系 A 的下、上近似分別為A(D)={x∈U|Dj∈U/IND(D),TA(x)?Dj}和A(D)={x∈ U |Dj∈ U /IND(D),TA(x)∩Dj≠ ? }。 其 中 j ∈ { 1,2,···,|U/IND(D)|}。 A ( D ) 也 稱為決策屬性集合 D 在相容關(guān)系 A 下的正域,A(D)=POSA(D)。
定義5 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A?C,則決策屬性集合D在相容關(guān)系A(chǔ)下的近似分類質(zhì)量定義為
近似分類質(zhì)量刻畫了在相容關(guān)系A(chǔ)下可以正確劃分到?jīng)Q策屬性集合 D 的對象集合數(shù)與論域個(gè)數(shù)的比重。
定義6 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A?C,則集合 A 是集值決策系統(tǒng)的一個(gè)正區(qū)域保持屬性約簡當(dāng)且僅當(dāng)以下兩個(gè)條件成立:
定義7 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A?C , ? a ∈A 。 條件屬性 a 的內(nèi)部屬性重要度定義為
內(nèi)部屬性重要度刻畫了屬性集合中的每個(gè)屬性的初始重要度,用于選擇不可缺少的屬性子集,在算法中用于計(jì)算屬性約簡的核屬性集合。
定義8 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A?C , ? a ∈C-A , 條 件 屬性 a 的 外部 屬性 重 要 度定義為
外部屬性重要度刻畫了屬性在信息系統(tǒng)的重要程度,用于在搜索過程中選擇屬性,在迭代過程中,每輪選擇外部屬性重要度最大的屬性加入到候選屬性集合中,直到候選屬性子集滿足終止條件,從而獲得屬性約簡。
對于給定集值決策系統(tǒng) S D S=(U,C∪D,V,f),a∈C , 若 S i ginner(a,C,C,D,U)>0 , 則 a 屬 于 集 值 決 策系統(tǒng) S D S 的核屬性。
根據(jù)文獻(xiàn)[20]給出集值信息系統(tǒng)下經(jīng)典正域?qū)傩约s簡算法(positive region reduction algorithm,PRRA),見算法 1 。
算法 1 PRRA
輸入 集值決策系統(tǒng) S D S=(U,C∪D,V,f);
輸出 集值決策系統(tǒng)SDS的一個(gè)屬性約簡 R。
1) R = ?。
2)計(jì) 算 S i ginner(ai,C,C,D,U), i ∈ { 1,2,···,|C|},如果 S i ginner(ai,C,C,D,U)>0 , 則將 ai存入 R 中。
3)若 γR(D)= γC(D),則終止;否則對條件屬性C-R進(jìn)行如下操作:
計(jì)算Sigouter(a0,R,C,D,U)=max{Sigouter(ak,C,D,R,U)}, R ←R∪{a0}, 其中 ak∈C-R。若有多個(gè)最大值,則選擇與 R 組合數(shù)最少的屬性。
4)對 R 中的每個(gè)條件屬性 ai進(jìn)行如下操作:
①計(jì)算 γR-{ai}(D);
②若 γR-{ai}(D)=γC(D), 則 ai為 冗余屬性, R =R-{ai},否則 ai為非冗余屬性,R 保持不變。
5)返回 R。
由算法1可得,在3)迭代的過程中,每次選取一個(gè)屬性重要度最大的屬性加入到 R 中,在這個(gè)過程中需要不斷地計(jì)算整個(gè)論域上的正域,從而使得算法計(jì)算量非常大,效率不夠理想,很難應(yīng)用在大規(guī)模數(shù)據(jù)集下。
Qian等[21-22]提出了正向近似的加速原理。本節(jié)在文獻(xiàn)[21-22]算法的基礎(chǔ)上介紹集值信息系統(tǒng)下的正域?qū)傩约s簡算法的加速原理以及相關(guān)性質(zhì),給出了算法的偽代碼描述和兩個(gè)算法的時(shí)間復(fù)雜度對比與分析。
定理 1 集值決策系統(tǒng) S D S=(U,C∪D,V,f),設(shè)屬性子集 P、 Q 滿 足 P ?Q?C, 則 POSP(D)?POSQ(D)。
該定理表明,如果兩個(gè)屬性集合存在包含關(guān)系,則這兩個(gè)屬性集合相對于決策屬性D的正域也存在包含關(guān)系。證略。
定理 2 集值決策系統(tǒng) S D S=(U,C∪D,V,f),條 件 屬 性 集 合 C ={a1,a2,···,a|C|}, 屬 性 集 合Pi={a1,a2,···,ai},i=1,2,···,|C|,則定義:
POSPi+1(U,D)=POSPi(U,D)∪POSPi+1(Ui+1,D)。式中: U1=U, Ui+1=U-POSPi(U,D)。
定理3 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A,B?C, 若 U / TA=U/TB, 則 P O SA(U,D)=POSB(U,D)。
證明 設(shè) U / TA={X1,X2,···,X|U|},U/TB={Y1,Y2,···,Y|U|}, 如 果 U / TA=U/TB, 則 Xi=Yi, i = 1,2,···,|U|,那么 P O SA(U,D)=POSB(U,D),證畢。
定理4 集值決策系統(tǒng) S D S=(U,C∪D,V,f),A?C , ? a ∈C-A, 如 果 U / TA=U/TA∪{a}, 那么POSA(U,D)=POPOSA∪{a}(U,D),則屬性 a 為冗余屬性。
證 明 設(shè) U / TA={X1,X2,···,X|U|},U/TA∪{a}={Y1,Y2,···,Y|U|} , 因 為 U / TA=U/TA∪{a}, 即POSA(U,D)=POSA∪{a}(U,D), 因 此對于任意 b ∈ C - A-{a}, 有 POSA∪(U,D)=POSA∪∪{a}(U,D)。 所 以 a 是 約 簡過 程中 的冗余屬性,可以被刪除。證畢。
定理2表明,計(jì)算屬性重要度時(shí)由于刪除正域和冗余屬性集合后屬性重要度保持不變,這樣在計(jì)算屬性約簡時(shí),每次迭代過程中可以刪除候選集合產(chǎn)生的正域和冗余屬性集合,使得算法效率提升。
算法 2 QPRRA
輸入 集值決策系統(tǒng) S D S=(U,C∪D,V,f);
輸出 集值決策系統(tǒng) SDS 的一個(gè)屬性約簡 R。
1)令 i = 1, R1=R, U1=U, C1=C, Cd=?, R =?。
2)對條件屬性 Ci-R 進(jìn)行如下操作:計(jì)算Sigouter(a0,R,Ci,D,Ui)=max{Sigouter(ak,R,Ci,D,Ui)} , R←R∪{a0}, 其 中 ak∈Ci-R。若有多個(gè)最大值,則選擇與 R 組合數(shù)最少的屬性。7)返回 R。
在算法2中,候選屬性集合的正域隨著每輪迭代過程選擇屬性重要度最大的屬性加入而增大,因此在計(jì)算正域時(shí),可以通過疊加的方式計(jì)算,無需重新直接計(jì)算新的D關(guān)于約簡屬性集合的正域,證略。
算法2原理流程如圖1所示。集值信息系統(tǒng)的快速正域約簡算法(quick positive region reduction algorithm,QPRRA)。
圖 1 算法2原理流程Fig. 1 Flow chart for algorithm 2
算法2無需首先求出核屬性,直接迭代選擇屬性重要度最大的屬性加入候選屬性集合,因此對于無核的數(shù)據(jù)集算法效率提升。在約簡過程中,根據(jù)屬性重要度的保序性,即定理5,算法在每輪迭代過程中刪除正域和冗余屬性,使得數(shù)據(jù)集規(guī)??s小,算法效率提升。在圖1中,A對應(yīng)算法步驟2),計(jì)算當(dāng)前輪次需評估的屬性重要度,B對應(yīng)算法步驟3),刪除當(dāng)前輪次的正域,C對應(yīng)算法步驟4),刪除當(dāng)前輪次的冗余屬性集合。
下面比較分析PRRA算法和QPRRA算法的時(shí)間復(fù)雜度。令 T1和 T2分別為PRRA算法和QPRRA算法的時(shí)間復(fù)雜度。令 |C |=m 表示數(shù)據(jù)集條件屬性數(shù), | U |=n 表 示數(shù)據(jù)集對象數(shù),|Ci|=mi表示第i輪需評估的屬性數(shù)(已刪除第 i - 1 輪所求冗余屬性數(shù)), | Ui|=ni為第i輪剩余的對象數(shù)。在算法2中,計(jì)算去掉正區(qū)域并且刪除冗余屬性集合將最大屬性重要度的屬性加入到當(dāng)前約簡的時(shí)間復(fù)雜度為去冗余過程時(shí)間復(fù)雜度為 O ( m2n)。而在算法1中,計(jì)算核屬性的時(shí)間復(fù)雜度為 O ( m2n),計(jì)算最大屬性重要度的屬性加入到當(dāng)前約簡的時(shí)間復(fù)雜度為去冗余過程時(shí)間復(fù)雜度為 O ( m2n)。PRRA算法時(shí)間復(fù)雜度為算法時(shí)間復(fù)雜度為QPRRA算法效率優(yōu)于PRRA算法。
例3 表1為集值決策系統(tǒng)SDS=(U,C∪D,V, f ),其中, U ={x1,x2,x3,x4,x5,x6,x7,x8} 為論域,C ={a1,a2,a3,a4,a5} 為 條件屬性集合, D =0c0mw0c 為決策屬性集合。
采用QPRRA算法對表1進(jìn)行3輪約簡。
第1輪迭代過程:計(jì)算 C1-R 中屬性的重要度,分別為 S i gouter(a1,R,C1,D,U1)=0 , Sigouter(a2,R,C1,D,U1)=0 , Sigouter(a3,R,C1,D,U1)=0 , Sigouter(a4,R,C1,D,U1)=0.375,Sigouter(a5,R,C1,D,U1)=0 。 由于Sigouter(a4,R,C1,D,U1)=0.375 最 大,故 R = R ∪{a4}={a4},U2=U1-POSCR1(U1,D)={x1,x3,x5,x6,x7},C2=C1-CdU1={a1,a2,a3,a4,a5}, 無 冗余屬性,且 γRU1(D)≠γCU11(D),繼續(xù)循環(huán)。
第2輪迭代過程:計(jì)算 C2-R 中屬性的重要度,分別為 S i gouter(a1,R,C1,D,U2)=0 , Sigouter(a2,R,C1,D,U2)=0 , Sigouter(a3,R,C1,D,U2)=0.4 , Sigouter(a5,R,C1,D,U2)=0。 由于 S i gouter(a3,R,C1,D,U2)=0.4 最大,故R=R∪{a3}={a3,a4},U3=U2-POSCR2(U2,D)={x1,x3,x5},C3=C2-CdU2={a1,a2,a3,a5}, 無 冗余屬性。且γRU2(D)≠γU2(D),繼續(xù)循環(huán)。
C2第3輪迭代過程:計(jì)算 C3-R 中屬性的重要
度,分別為 S i gouter(a1,R,C1,D,U3)=0.33,Sigouter(a2,R,C1,
D,U3)=0,Sigouter(a5,R,C1,D,U3)=0.33。由于 Sigouter
(a1,R,C1,D,U3)=Sigouter(a5,R,C1,D,U3)=0.33,故選擇
與 R 組合數(shù)最少的屬性 a1。 故R=R∪{a1}={a1,
a3,a4},U4=U3-POSCR3(U3,D)={x3,x5},C4=C3-CdU3=
{a1,a5}, 刪 除 冗 余 屬 性 a2。 且 γRU3(D)=γCU33(D),終止循環(huán)。去除 R 中的冗余屬性,由于 ,
,故 R 中無冗余屬性,算法終止。故算法QPRRA得到約簡,即 。γR-{ai}(D)≠ γC(D)i=1,3,4 R={a1,a3,a4}
為了證明提出算法的有效性,實(shí)驗(yàn)選取了6組UCI標(biāo)準(zhǔn)數(shù)據(jù)庫(http://archive.ics.uci.edu/ml/)中的數(shù)據(jù)集,為了得到集值數(shù)據(jù)集對這6組數(shù)據(jù)集進(jìn)行預(yù)處理,在條件屬性集上隨機(jī)對10%的數(shù)據(jù)進(jìn)行對應(yīng)屬性上的并集操作,如表2所示。
表 2 數(shù)據(jù)集描述Table 2 Description of data sets
所有實(shí)驗(yàn)在PC機(jī)上進(jìn)行,操作系統(tǒng)為Microsoft Windows 7(64 b),處理器及其型號為Inter Core i5-2450M,內(nèi)存為4 GB,所有算法均使用MATLAB7.11.0(R2010b)編寫實(shí)現(xiàn)。在實(shí)驗(yàn)中,分別用上述2種約簡算法對6組UCI數(shù)據(jù)集進(jìn)行處理,比較它們約簡所耗費(fèi)的時(shí)間。實(shí)驗(yàn)中,將上述6組數(shù)據(jù)集分別分為10等份,用來記錄兩個(gè)算法的時(shí)間差異。例如,假設(shè)數(shù)據(jù)集有1 000個(gè)對象,第1號數(shù)據(jù)集用來表示1~100個(gè)對象,第2號數(shù)據(jù)集用來表示1~200個(gè)對象,以此類推,第10號數(shù)據(jù)集用來表示1~1 000個(gè)對象。實(shí)驗(yàn)一共分為3個(gè)部分。第1部分為算法PRRA、算法QPRRA、基于相似度的集值信息系統(tǒng)屬性約簡算法[18](SRA)和基于信息量的集值信息系統(tǒng)屬性約簡算法[19](IRA)的約簡結(jié)果長度和計(jì)算時(shí)間的比較。第2部分為算法PRRA、QPRRA、SRA和IRA隨著論域的增大算法計(jì)算時(shí)間變化的實(shí)驗(yàn)。第3部分為數(shù)據(jù)集Lung Cancer迭代過程中對象和屬性的變化。
表2給出了6組數(shù)據(jù)集的對象數(shù)、特征數(shù)和類別數(shù)的對比,從表中可以看出,本文選取了不同規(guī)模的數(shù)據(jù)集,最大規(guī)模數(shù)據(jù)集為QSAR Biodegradation,對象數(shù)有1 044個(gè),最小規(guī)模數(shù)據(jù)集為Lung Cancer,對象數(shù)有32個(gè),最大特征數(shù)數(shù)據(jù)集SCADI,特征數(shù)有206個(gè),而Flag的特征數(shù)為29個(gè),在數(shù)據(jù)集中為特征數(shù)最少的。6組數(shù)據(jù)集有不同的類別數(shù),最大類別數(shù)數(shù)據(jù)集QSAR Biodegrada-tion,類別數(shù)為9,數(shù)據(jù)集Lung Cancer和Molecular Biology類別數(shù)最小為2。表3給出了算法PRRA、QPRRA、IRA和SRA的計(jì)算時(shí)間和選擇特征數(shù)的對比,可以看出,算法QPRRA和PRRA約簡結(jié)果長度優(yōu)于算法SRA和IRA,算法QPRRA效率明顯優(yōu)于算法PRRA和IRA。圖2為4種算法的實(shí)驗(yàn)對比。
表 3 算法PRRA和QPRRA的計(jì)算時(shí)間和約簡結(jié)果Table 3 Time regurired and attribute reduction of the algorithms
從圖2和表3可以看出,算法QPRRA效率優(yōu)于其他3個(gè)算法效率,在數(shù)據(jù)集QSAR Biodegra dation上,算法SRA略優(yōu)于算法QPRRA。例如,對于數(shù)據(jù)集Lung Cancer,算法PRRA時(shí)間耗費(fèi)為37.9 s,算法QPRRA時(shí)間耗費(fèi)為5.2 s,加速比達(dá)到了7.2,實(shí)驗(yàn)效果明顯。因?yàn)閷τ诤藶榭盏臄?shù)據(jù)集而言,QPRRA算法無需計(jì)算核屬性集合,節(jié)省了算法求核的時(shí)間,并且在每輪迭代過程中,不僅刪除了當(dāng)前輪次候選屬性集合產(chǎn)生的正域,也刪除了當(dāng)前輪次產(chǎn)生的冗余屬性集合,使得數(shù)據(jù)集規(guī)模不斷變小,算法運(yùn)行時(shí)間縮短。從表4可得,Lung Cancer數(shù)據(jù)集核為空,在每輪迭代過程中刪除了正域和冗余屬性,使得數(shù)據(jù)集規(guī)??s小,算法效率提升。
圖 2 算法PRRA和算法QPRRA計(jì)算時(shí)間Fig. 2 Time reguired for PRRA and QPRRA versus the data size
表 4 算法PRRA和QPRRA在Lung Cancer數(shù)據(jù)集上每輪迭代對象和屬性的變化Table 4 Changes of the number of objects and attributes within each loop of algorithms PRRA and QPRRA on Lung Cancer
本文提出了一種在集值信息系統(tǒng)下的正域?qū)傩员3旨s簡快速算法,算法無需計(jì)算核屬性集合,直接開始迭代選擇屬性重要度最大的屬性加入候選屬性集合,每輪迭代過程中刪除一部分正域,使得數(shù)據(jù)集對象數(shù)不斷減少,算法效率提升,在刪除一部分正域的同時(shí),刪除冗余的屬性集合,使得算法的效率進(jìn)一步提升。實(shí)驗(yàn)選取6組UCI數(shù)據(jù)集對提出算法的有效性進(jìn)行驗(yàn)證,實(shí)驗(yàn)表明:提出算法的效率優(yōu)于經(jīng)典算法效率,實(shí)現(xiàn)了對經(jīng)典算法的優(yōu)化,尤其是在無核數(shù)據(jù)集上加速效果明顯,因?yàn)槭∪チ擞?jì)算核屬性集的時(shí)間,這使得該算法能更好地應(yīng)用于較大規(guī)模數(shù)據(jù)的處理。本文是基于刪除正域和冗余屬性機(jī)制基礎(chǔ)上進(jìn)行的研究,對每次迭代過程中產(chǎn)生正域和冗余屬性較少的數(shù)據(jù)集加速效果不夠明顯,故提出算法的普遍適用性是未來研究方向之一。