鄧安生,趙梓旭
(大連海事大學(xué)信息科學(xué)技術(shù)學(xué)院,遼寧 大連116026)
粗糙集[1]是Pawlak提出的一種刻畫不確定性的建模方法,但僅能用于處理符號(hào)型數(shù)據(jù),對(duì)于數(shù)值型數(shù)據(jù)[15]而言,經(jīng)典Pawlak粗糙集不能直接處理。為了彌補(bǔ)這一空缺,出現(xiàn)了許多粗糙集拓展模型[2-4,12]。其中基于鄰域關(guān)系[14]的粗糙集拓展模型能有效的處理數(shù)值型數(shù)據(jù)。最近,鄰域粗糙集在粒度計(jì)算[5,6]領(lǐng)域獲得了大量的關(guān)注,相關(guān)的理論研究和方法被廣泛應(yīng)用于屬性約簡(jiǎn)和特征選擇[7,8,11,15]。
在鄰域信息粒化方式中,通常是借助給定的半徑來約束樣本之間的相似性,最終確定鄰域關(guān)系。在這個(gè)過程中可以看出半徑的大小對(duì)最終的粒化結(jié)果起到十分重要的作用,若半徑選取的過大,很有可能會(huì)導(dǎo)致不同標(biāo)簽的樣本落在同一個(gè)鄰域,引起信息粒化的不精確,不足以提供令人滿意的判別性能。針對(duì)該現(xiàn)象,Liu[9]和Wang[10]等人提出監(jiān)督鄰域粒化策略,在鄰域粒化過程中利用了樣本的標(biāo)簽,使用兩個(gè)鄰域半徑確定鄰域關(guān)系。該策略可以在一定程度上減緩給定半徑不合適時(shí),導(dǎo)致粒化不精確的問題。然而,數(shù)據(jù)集中的每個(gè)樣本都是不同的,所需粒化方式也理應(yīng)是不同的,值得注意的是,該策略視數(shù)據(jù)集中的所有樣本都是相同的,忽略了樣本的特殊性;其次當(dāng)樣本量非常巨大時(shí),每個(gè)數(shù)據(jù)集都要通過實(shí)驗(yàn)確定鄰域半徑會(huì)十分消耗時(shí)間。鑒于此,提出一種動(dòng)態(tài)鄰域粒化機(jī)制,具體首先根據(jù)樣本分布初步計(jì)算鄰域半徑,降低因樣本分布不均勻?qū)е碌呢?fù)面影響;然后依據(jù)屬性和標(biāo)簽的關(guān)系對(duì)第一步計(jì)算出的鄰域半徑進(jìn)行縮減,以期能提高粒化的精準(zhǔn)率,為每個(gè)樣本設(shè)計(jì)一個(gè)獨(dú)有的鄰域半徑;在此基礎(chǔ)上給出上下近似算子,進(jìn)而實(shí)現(xiàn)動(dòng)態(tài)鄰域粗糙集模型。
目前在基于粗糙集的屬性約簡(jiǎn)方法中,都建立在粗糙集的上近似和下近似隨著屬性增加呈現(xiàn)單調(diào)性的前提下。若鄰域半徑是動(dòng)態(tài)變化的,則上、下近似不再有單調(diào)性的特點(diǎn)。眾所周知,下近似的單調(diào)性更有利于設(shè)置屬性約簡(jiǎn)的迭代停止條件。因此,針對(duì)上文提出的動(dòng)態(tài)鄰域粒化策略,引入Zhang[13]等人提出的‘樣本淘汰’(Sample Elimination)屬性約簡(jiǎn)的方法作為本研究的屬性約簡(jiǎn)策略,該策略在每次迭代選擇屬性時(shí),僅考慮未被已選屬性正確分類的樣本,而那些已被正確分類的樣本則會(huì)被淘汰,保證了下近似的單調(diào)性,并在此基礎(chǔ)上提出一種多準(zhǔn)則屬性評(píng)估函數(shù),緩解在約簡(jiǎn)的過程中產(chǎn)生的不一致的問題。
給定一個(gè)決策系統(tǒng)DS=〈U,AT,d〉,其中U代表樣本集合,AT代表?xiàng)l件屬性集合,d代表決策屬性集合。對(duì)于任意xi∈U且任意b∈AT,b(xi)表示在條件屬性b下xi的取值,d(xi)表示在決策屬性d下xi的取值,也就是通常意義的標(biāo)簽。U/IND(d)={X1,X2,…,XN}表示在決策屬性d上誘導(dǎo)出的論域上的劃分,?Xi∈U/IND(d),Xi表示第i個(gè)決策類且1≤i≤N。
定義1:給定一個(gè)決策系統(tǒng)DS,?b∈AT,鄰域半徑δ>0,在條件屬性集B下的δ鄰域關(guān)系定義為

(1)
其中disB(xi,xj)表示在條件屬性集B下兩個(gè)樣本之間的距離,為了簡(jiǎn)便起見,距離度量函數(shù)使用歐氏距離。


(2)
定義3:給定一個(gè)決策系統(tǒng)DS,?b∈AT,d關(guān)于B的上近似和下近似可以定義為

(3)

(4)
其中,?Xi∈U/IND(d)。關(guān)于決策類Xi的上近似和下近似定義為

(5)

(6)
定義3中給出的上、下近似描述了目標(biāo)概念的粗糙程度。為了反映出目標(biāo)的確定程度,給出如下所示的依賴度(也稱作近似質(zhì)量)的概念。
定義4 給定一個(gè)決策系統(tǒng)DS,?b∈AT,d關(guān)于B的依賴度定義如下

(7)
其中,|X|表示集合X的基數(shù),U表示樣本集。顯然,0≤γB(d,U)≤1成立。γB表示根據(jù)條件屬性B,確定屬于某一個(gè)決策類別的樣本在樣本集U中的比例。γB的值越接近1,表示確定性程度越高,反之值越接近0,表示確定性程度越低。
在傳統(tǒng)的鄰域模型中,鄰域半徑通常由實(shí)驗(yàn)分析給出且固定不變,這種粒化方式對(duì)有的樣本粒化過粗,而對(duì)有的樣本粒化過細(xì),整體來看粒化效果并不好,所以需要對(duì)每個(gè)樣本找到它適合的粒化方式,也就是適合它的半徑。首先根據(jù)不同的數(shù)據(jù)分布初步為每個(gè)樣本選擇半徑(下文簡(jiǎn)稱為‘分布半徑’)。具體的定義如下所示。
定義5:給定一個(gè)決策系統(tǒng)DS,NB(xi)表示距離xi的樣本從小到大排序的集合
(8)


(9)

定義6:給定一個(gè)決策系統(tǒng)DS,?B∈AT,則樣本xi的分布半徑定義為

(10)


圖1 分布半徑選取圖

圖2 屬性a1、a2下的樣本圖
相比于傳統(tǒng)鄰域粗糙集固定半徑的粒化機(jī)制,分布半徑可以針對(duì)每個(gè)樣本的特點(diǎn)選擇一個(gè)鄰域半徑,然而,仍不可避免出現(xiàn)粒化不精確的問題。如圖2所示在屬性a1、a2下樣本的分布情況,假設(shè)這兩個(gè)屬性是約簡(jiǎn)后的最佳屬性,然而觀察在兩類分界處的樣本xi和yi,其鄰域內(nèi)仍包含不同類別的樣本點(diǎn),這可能會(huì)在屬性評(píng)估時(shí)降低對(duì)這兩個(gè)屬性的分?jǐn)?shù),導(dǎo)致無法選出該屬性。
針對(duì)這一問題,本研究對(duì)鄰域半徑進(jìn)行縮減操作,減少鄰域內(nèi)異類樣本,以期能提高這類樣本的粒化精確度。考慮到不同屬性與標(biāo)簽存在不同的關(guān)聯(lián)度,最佳屬性在一定程度上會(huì)與標(biāo)簽有更高的關(guān)聯(lián)度,遂以此為思想來計(jì)算縮減比例,進(jìn)一步提高粒化精確度。具體先計(jì)算每個(gè)屬性與標(biāo)簽的關(guān)聯(lián)度,然后根據(jù)關(guān)聯(lián)程度決定鄰域半徑的縮減比例,具體定義如下。
定義7:給定一個(gè)決策系統(tǒng)DS,?B∈AT,?xi∈U,a(xi)表示樣本xi在屬性a下的取值,d(xi)表示樣本xi在決策屬性d下的取值,構(gòu)建矩陣A如下所示

(11)
決策向量可表示為Y=(d(x1),d(x2),…,d(xn))T,條件屬性與決策屬性的相似度可以用向量表示為v=(v(a1),v(a2),…,v(an))T。則問題轉(zhuǎn)換為

(12)

v=(ATA)-1ATY
(13)
|v(a)|表示v(a)的值,反應(yīng)屬性a與決策屬性d的關(guān)聯(lián)程度。|v(a)|的值越大,說明屬性a與決策屬性d的關(guān)聯(lián)程度越大。接著為每個(gè)屬性a計(jì)算關(guān)聯(lián)度

(14)
其中ω(a)≥0并且∑ai∈ATω(ai)=|AT|。
定義8:給定一個(gè)決策系統(tǒng)DS,?B∈AT,屬性關(guān)聯(lián)度向量表示為ω=(ω(a1),ω(a2),…,ω(am)),其中m表示特征的總數(shù),則在條件屬性B下,最終的動(dòng)態(tài)鄰域半徑定義為

(15)
在實(shí)驗(yàn)中,設(shè)置0.1δt≤δD≤0.9δt,也就是說,若δD≤0.1δt,動(dòng)態(tài)鄰域半徑為最小值δD=0.1δt,若δD≥0.9δt,動(dòng)態(tài)鄰域半徑為最大值δD=0.9δt。
定義9:給定一個(gè)決策系統(tǒng)DS,?B∈AT,對(duì)于一個(gè)動(dòng)態(tài)鄰域半徑δD,動(dòng)態(tài)鄰域關(guān)系可以定義為
DNB={(xi,xj)∈U×U:disB(xi,xj)≤δD}
(16)
根據(jù)鄰域關(guān)系DN,容易得到樣本xi的近鄰為
DNB(xi)={xj∈U:(xi,xj)∈DNB}
(17)
定義10:給定一個(gè)決策系統(tǒng)DS,?B∈AT,?Xi∈U/IND(d),d關(guān)于B的動(dòng)態(tài)鄰域上下近似可以定義為

(18)

(19)
其中V、W∈U,是樣本全集的子集。
定義11:給定一個(gè)決策系統(tǒng)DS,?B∈AT,V∈U,在動(dòng)態(tài)鄰域關(guān)系下,d關(guān)于B的依賴度定義如下

(20)
觀察動(dòng)態(tài)鄰域粗糙集的上下近似發(fā)現(xiàn),下近似并沒有隨著屬性的增加而單調(diào)變化,這是因?yàn)猷徲虬霃降膭?dòng)態(tài)變化,樣本鄰域中粒子個(gè)數(shù)并不隨著屬性的增加而具有單調(diào)性。為了方便設(shè)置屬性約簡(jiǎn)的迭代停止條件,需要設(shè)計(jì)的屬性約簡(jiǎn)策略讓下近似具有單調(diào)性。通過研究樣本淘汰(Sample Elimination)的約簡(jiǎn)策略,發(fā)現(xiàn)該方法在屬性約簡(jiǎn)的過程中僅計(jì)算部分樣本,若結(jié)合粗糙集理論,然后重新定義屬性約簡(jiǎn)的過程中上下近似的定義,可以保證下近似的單調(diào)性,具體方法如下所示。
定義12:給定一個(gè)決策系統(tǒng)DS,B0=?,并且Bi=Bi-1∪{a},a∈AT-Bi-1,i=1,2…,|AT|。V∈U,?Xp∈U/IND(d)。屬性集B的擴(kuò)張模擬了屬性約簡(jiǎn)的過程中屬性的增加,上下近似計(jì)算公式定義為:

(21)

(22)
該策略保證了下近似的單調(diào)性,然而,觀察算法發(fā)現(xiàn)這種迭代算法嚴(yán)重忽略了那些被淘汰的樣本,被淘汰的樣本可能在新屬性加入時(shí)再次變的不確定,筆者稱這類樣本為不一致樣本。在屬性約簡(jiǎn)的過程中完全忽略那些淘汰樣本的確定性變化會(huì)導(dǎo)致最終得到的約簡(jiǎn)屬性集并不是一個(gè)最優(yōu)的約簡(jiǎn)屬性集。綜上考慮,筆者提出了一個(gè)多準(zhǔn)則的屬性評(píng)估方法,把已確定的樣本也納入屬性選擇的考慮范圍之內(nèi)而不破壞下近似單調(diào)性的特點(diǎn)。具體定義如下所示。


(23)
其中|Q∩W|/|V|表示被淘汰樣本中未變化的比例,也就是一致性樣本的比例。其中當(dāng)B=?時(shí),多準(zhǔn)則屬性評(píng)估函數(shù)退化為依賴度評(píng)估函數(shù)。公式(23)同時(shí)兼顧考慮了已被淘汰的樣本,故稱為一種多準(zhǔn)則的屬性評(píng)估。動(dòng)態(tài)鄰域粒化方式下的屬性約簡(jiǎn)如算法1所示。
算法1:動(dòng)態(tài)鄰域粒化方式下的屬性約簡(jiǎn)算法
輸入:決策系統(tǒng)DS
輸出:約簡(jiǎn)后屬性集BR
1)初始化樣本子集V=U,屬性子集Sk=AT,約簡(jiǎn)后屬性集BR=?
2)計(jì)算每個(gè)屬性a的關(guān)聯(lián)度ω(a)
3)FOR each aiin Sk:
4)BR=BR∪{ai},Pai=?
5) FOR each xiinV:
6)計(jì)算動(dòng)態(tài)鄰域半徑δD
7)IF DNB(xi)中的樣本是一致的:
8)Pai=Pai∪{xi}
9) End IF
10) End FOR
11)End FOR
12)選擇屬性ai滿足ai=maxφai(d,V)
13)V=V-Pai,Sk=Sk-{a0},BR=BR∪{ai}
14)IF|Pai|/|V|≤θ:
15)輸出BR
16) End
17)ELSE:
18)跳轉(zhuǎn)至3)
其中θ是控制迭代算法停止的參數(shù),實(shí)驗(yàn)設(shè)置θ=0.01。在算法中,首先計(jì)算每個(gè)屬性的關(guān)聯(lián)度,接著計(jì)算在每個(gè)屬性下每個(gè)樣本的動(dòng)態(tài)鄰域,判斷鄰域中的樣本是否一致。最后使用提出的多準(zhǔn)則評(píng)估函數(shù)選擇滿足條件的屬性,直到算法停止。假設(shè)樣本的個(gè)數(shù)為|U|,屬性的個(gè)數(shù)為|AT|。上述算法中,需要對(duì)每個(gè)樣本計(jì)算它的近鄰且排序,時(shí)間復(fù)雜度為O(|AT|2*log|AT|)。每次迭代選擇樣本都要計(jì)算樣本的一致性,所以算法的整體時(shí)間復(fù)雜度為O(|AT|2*log|AT|*|U|2)。
為驗(yàn)證動(dòng)態(tài)鄰域?qū)傩约s簡(jiǎn)(Dynamic Neighborhood Attribute Reduce,DNAR)算法的有效性,從UCI數(shù)據(jù)集中選取12個(gè)數(shù)據(jù)集,基本信息如表1所示。所有的實(shí)驗(yàn)均在Windows 10 PC, Intel(R)Core(TM)i5-6500 CPU 3.20 GHz,16G RAM,Python3.8實(shí)驗(yàn)平臺(tái)進(jìn)行。首先設(shè)置仿真實(shí)驗(yàn)驗(yàn)證動(dòng)態(tài)鄰域粒化機(jī)制的有效性,接著用本研究提出的鄰域粗糙集屬性約簡(jiǎn)算法與其他三個(gè)鄰域粗糙集屬性約簡(jiǎn)算法SNRS[9](SupervisedNeighborhood Rough Set)、NNRS[16](k-Nearest Neighborhood Rough Set)、NRS(δ-Neighborhood Rough Set)比較三個(gè)指標(biāo)。第一個(gè)指標(biāo)是約簡(jiǎn)后長(zhǎng)度,第二個(gè)指標(biāo)是分類精度,即被分類器正確分類的樣本比例。第三個(gè)指標(biāo)是Kappa系數(shù),評(píng)價(jià)分類效果時(shí)平衡了隨機(jī)分類對(duì)分類結(jié)果的影響。實(shí)驗(yàn)中參數(shù)采取對(duì)應(yīng)研究中使用的數(shù)值,其中NRS算法中的鄰域半徑設(shè)置為δ=0.1,0.2,…,1,取在所有鄰域半徑下表現(xiàn)的均值。

表1 UCI數(shù)據(jù)集的描述
實(shí)驗(yàn)采用了十折交叉驗(yàn)證的方法,即將原始數(shù)據(jù)集隨機(jī)的等分為10個(gè)部分,其中挑選9組用于訓(xùn)練,1組用于測(cè)試,該過程會(huì)將重復(fù)10次,保證每一組都會(huì)作為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行實(shí)驗(yàn),以避免模型的擬合性問題的出現(xiàn)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生偏差。另外在實(shí)驗(yàn)前均對(duì)所有數(shù)據(jù)集進(jìn)行了標(biāo)準(zhǔn)化處理,以避免不同屬性的取值差異過大對(duì)結(jié)果產(chǎn)生影響。
把12個(gè)UCI數(shù)據(jù)集按屬性數(shù)量分成10個(gè)相等的子數(shù)據(jù)集,把第一個(gè)數(shù)據(jù)子集作為測(cè)試集1,前兩個(gè)數(shù)據(jù)子集累加作為測(cè)試集2,以此類推得到10個(gè)測(cè)試子集,在10個(gè)測(cè)試子集上分別計(jì)算在分布鄰域粒化機(jī)制下,和在其基礎(chǔ)上縮減半徑的動(dòng)態(tài)鄰域粒化機(jī)制下的鄰域近似質(zhì)量。在圖3中,隨著屬性數(shù)量的逐漸增多,12個(gè)數(shù)據(jù)集的鄰域近似質(zhì)量并沒有呈現(xiàn)出單調(diào)性變化,這是由于在兩種粒化機(jī)制下鄰域內(nèi)樣本隨著屬性增多是非單調(diào)的。通過觀察圖3發(fā)現(xiàn),動(dòng)態(tài)鄰域較于縮減半徑前的分布鄰域相比有更高的粒化精確度,提高了信息粒化一致性的比率。
表2展示了四種不同的方法在上述介紹的12個(gè)數(shù)據(jù)集上約簡(jiǎn)長(zhǎng)度的比較,且是經(jīng)過十折交叉驗(yàn)證得到結(jié)果的均值,約簡(jiǎn)長(zhǎng)度越小,代表刪除的屬性越多。觀察表2得出以下結(jié)論:DNAR算法在所有數(shù)據(jù)集上都能約簡(jiǎn)合適數(shù)量的屬性,而其他三個(gè)算法在部分?jǐn)?shù)據(jù)集上約簡(jiǎn)后屬性數(shù)量過多過少,這反應(yīng)了DNAR算法能夠處理不同類型的數(shù)據(jù)集。例如,SNRS算法在5個(gè)數(shù)據(jù)集上約簡(jiǎn)后的平均屬性個(gè)數(shù)都為1,NNRS算法在QSAR數(shù)據(jù)集上幾乎無法約簡(jiǎn),這說明對(duì)比算法依靠固定的鄰域半徑不能處理這些數(shù)據(jù)集。約簡(jiǎn)長(zhǎng)度對(duì)比實(shí)驗(yàn)說明DNAR算法能處理不同分布的數(shù)據(jù)集且約簡(jiǎn)合適的屬性長(zhǎng)度。在3.3節(jié)的分類精度對(duì)比也證明了DNAR算法約簡(jiǎn)后屬性的質(zhì)量比其他算法約簡(jiǎn)后的屬性質(zhì)量要高。

表2 約簡(jiǎn)長(zhǎng)度的對(duì)比
在本組實(shí)驗(yàn)中,采用KNN分類器和SVM分類器,利用屬性約簡(jiǎn)后的結(jié)果對(duì)測(cè)試數(shù)據(jù)集進(jìn)行分類,并且計(jì)算分類準(zhǔn)確率,最后求出分類準(zhǔn)確率的平均值和最大值。分類準(zhǔn)確率結(jié)果如表3和表4所示,在每個(gè)數(shù)據(jù)集上的效果最好的算法得出的準(zhǔn)確率用粗體標(biāo)出。從表3和表4中可以看出,無論是采用KNN分類器還是SVM分類器,利用DNAR算法所求得的約簡(jiǎn),其對(duì)應(yīng)的平均分類準(zhǔn)確率,在多數(shù)數(shù)據(jù)集上都優(yōu)于其他算法。結(jié)合3.2節(jié)的結(jié)果表明,DNAR算法能夠有效的刪除冗余屬性且保留最佳的屬性。

表3 在KNN分類器上分類精度的對(duì)比

表4 在SVM分類器上分類精度的對(duì)比
為了驗(yàn)證2.3中提出的多準(zhǔn)則屬性評(píng)估方法的有效性,設(shè)計(jì)了一種在DNAR下未使用多準(zhǔn)則屬性評(píng)估而使用近似質(zhì)量評(píng)估屬性的算法DNAR*。實(shí)驗(yàn)結(jié)果表明,加入多準(zhǔn)則屬性評(píng)估的DNAR算法在12個(gè)數(shù)據(jù)集下,分類準(zhǔn)確率都要高于DNAR*。注意到在SONAR數(shù)據(jù)集上,DNAR算法比DNAR*算法準(zhǔn)確率提高8%左右。這說明了本研究提出的多準(zhǔn)則屬性評(píng)估方法能有效的減少不一致的樣本。
為了進(jìn)一步了解DNAR算法的性能,在本小節(jié)中利用Kappa統(tǒng)計(jì)在KNN分類器和SVM分類器下進(jìn)行分析。Kappa的數(shù)值在-1到1之間,數(shù)值越大,說明預(yù)測(cè)的結(jié)果越理想,反之說明預(yù)測(cè)的結(jié)果不理想。實(shí)驗(yàn)結(jié)果如表5,表6所示,最優(yōu)值用粗體標(biāo)出。

表5 在KNN分類器上Kappa值的對(duì)比
根據(jù)表5,表6中的實(shí)驗(yàn)結(jié)果顯示,在KNN分類器下,其中10個(gè)數(shù)據(jù)集上都優(yōu)于其他算法,且在11個(gè)數(shù)據(jù)集上的值都高于0.8。在SVM分類器下,在10個(gè)數(shù)據(jù)集上都優(yōu)于其他算法,且也在11個(gè)數(shù)據(jù)集上的值高于0.8。總體來看,DNAR算法的Kappa系數(shù)平均取值也優(yōu)于其他算法。
在鄰域粗糙集的背景下,針對(duì)已有的鄰域關(guān)系采取固定鄰域半徑粒化策略導(dǎo)致粒化不精確的問題,提出一個(gè)動(dòng)態(tài)鄰域粒化的策略,并且定義了動(dòng)態(tài)鄰域關(guān)系,構(gòu)建相應(yīng)的粗糙集模型。與此同時(shí),針對(duì)下近似單調(diào)性問題,通過融合動(dòng)態(tài)鄰域至樣本淘汰的屬性約簡(jiǎn)算法中得以解決,并改進(jìn)了其屬性評(píng)估方法。實(shí)驗(yàn)結(jié)果表明,相較于傳統(tǒng)鄰域關(guān)系和其他新型的鄰域關(guān)系,采用動(dòng)態(tài)鄰域關(guān)系,計(jì)算約簡(jiǎn)結(jié)果,可在不同數(shù)據(jù)集上都獲得一個(gè)較優(yōu)的約簡(jiǎn)結(jié)果,并且所得到的約簡(jiǎn)在分類準(zhǔn)確率上也優(yōu)于對(duì)比算法。