本發(fā)明涉及一種高維不完整數(shù)據(jù)特征選擇方法,屬于機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘技術(shù)領(lǐng)域。
背景技術(shù):
隨著數(shù)據(jù)獲取技術(shù)的發(fā)展,高維數(shù)據(jù)廣泛應(yīng)用在于社交網(wǎng)絡(luò),圖像處理,生物醫(yī)學(xué)等領(lǐng)域中.然而在實(shí)際的數(shù)據(jù)的采集中,由于探測儀器的限制、數(shù)據(jù)敏感、樣本破損等原因會(huì)導(dǎo)致采集數(shù)據(jù)的不完整,從而形成高維不完整數(shù)據(jù).對于不完整數(shù)據(jù)的預(yù)處理通常采用刪除和填補(bǔ)的方法,對于包含了大量冗余信息和噪聲的高維數(shù)據(jù),通常先采用特征提取和特征選擇[6]對其進(jìn)行降維.根據(jù)特征子集評估策略的差異,可將特征選擇分為三類:filter模型、wrapper模型和embedded模型.filter模型僅依賴數(shù)據(jù)的內(nèi)在特性來選擇特征,而不依賴任何具體的學(xué)習(xí)算法指導(dǎo).wrapper模型則需要一個(gè)預(yù)先設(shè)定的學(xué)習(xí)算法,將特征子集在其算法上的表現(xiàn)作為評估來確定最終的特征子集.embedded模型則是在學(xué)習(xí)算法的目標(biāo)分析過程中包含變量選擇,將此作為訓(xùn)練過程的一部分.共同之處是這三種模型都是通過相關(guān)性度量來選擇特征,但是對于高維數(shù)據(jù),得到的相關(guān)矩陣中會(huì)存在大量噪聲.
隨機(jī)矩陣?yán)碚?randommatrixtheory,rmt)通過比較隨機(jī)的多維序列統(tǒng)計(jì)特性,可以體現(xiàn)出實(shí)際數(shù)據(jù)對隨機(jī)的偏離程度,并揭示實(shí)際數(shù)據(jù)中整體關(guān)聯(lián)的行為特征.隨機(jī)矩陣?yán)碚撌窃谠游锢碇杏蓋igner,dyson,mehta等人發(fā)展而來,在物理學(xué),通訊理論,金融等方面應(yīng)用非常廣泛.laloux(1999)[9]等人研究了如何去掉金融相關(guān)系數(shù)矩陣的噪聲,plerou(2002)等人詳細(xì)研究了相關(guān)矩陣的特征值、特征向量的分布.
本文以隨機(jī)矩陣?yán)碚摓榛A(chǔ),提出一種特征選擇方法,通過比較原始數(shù)據(jù)的相關(guān)矩陣和隨機(jī)數(shù)據(jù)的相關(guān)矩陣在奇異值上的差異,去除原始相關(guān)矩陣的噪聲,同時(shí)充分利用奇異值分解后的子矩陣來消除特征之間的冗余性,更好的實(shí)現(xiàn)特征選擇.又根據(jù)熵概率選擇,使這種方法能夠應(yīng)用于不完整數(shù)據(jù).在分類準(zhǔn)確率和運(yùn)行時(shí)間上表明了本方法的高效性.
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的不足,本發(fā)明提供一種高維不完整數(shù)據(jù)特征選擇方法。
本發(fā)明的是通過下述技術(shù)方案實(shí)現(xiàn)的:一種高維不完整數(shù)據(jù)特征選擇方法,包括如下步驟:
(1)判斷初始數(shù)據(jù)是否為完整數(shù)據(jù);若為不完整數(shù)據(jù),則轉(zhuǎn)到步驟(2);若為完整數(shù)據(jù),則轉(zhuǎn)到步驟(3);
(2)采用不完整矩陣計(jì)算方法處理數(shù)據(jù),具體為:
(2.1)假設(shè)現(xiàn)在有各個(gè)維度的數(shù)據(jù),用1表示該數(shù)據(jù)項(xiàng)是完整的,用0表示該數(shù)據(jù)項(xiàng)是缺失的.計(jì)算每個(gè)維度的缺失率,接著通過下式計(jì)算缺失熵:
其中pi是每個(gè)維度的缺失率,h(x)表示缺失熵;
(2.2)h(x)越大說明不確定性越高,缺失率越接近0.5,h(x)的極值為0.5;依次算出每個(gè)維度的缺失熵;
(2.3)對結(jié)果進(jìn)行加權(quán)平均;
(2.4)對每一個(gè)維度x的缺失值,p(忽略)=hmean(x),p(填補(bǔ))=1-hmean(x);
(3)在高維數(shù)據(jù)中進(jìn)行特征選擇時(shí),通過比較原始數(shù)據(jù)矩陣的相關(guān)矩陣和隨機(jī)矩陣在奇異值上的差異,對相關(guān)矩陣進(jìn)行去噪,其實(shí)現(xiàn)步驟如下:
(3.1)設(shè)有原始n×l數(shù)據(jù)矩陣d,其中特征集合f={f1,f2,…,,ft},類集合c={c1,c2,…,ck},通過(1)式構(gòu)建互信息矩陣m,當(dāng)k較小時(shí),無法很好的滿足隨機(jī)矩陣的特征,因此需要對m進(jìn)行增廣,復(fù)制m次,即m=[m,m(m)],為了保持初始的行列比,這里m=((l-1)2/n*k)-1.
其中p(x,y)是特征和類別的聯(lián)合分布,p(x)和p(y)分別是特征和類別的出現(xiàn)概率
(3.2)為了保證一般性,對矩陣m進(jìn)行規(guī)范化,通過(2)式中心化,然后再通過(3)式進(jìn)行標(biāo)準(zhǔn)化,得到矩陣md.接著根據(jù)(4)式計(jì)算得到t×t的特征相關(guān)矩陣c.
iij是矩陣m中第i行第j列的元素,maxii是第i行中最大的元素,minii是第i行中最小的元素。
(3.3)對c按(5)式進(jìn)行奇異值分解.其中λ=diag(σ1,σ2,…,σr)且σ1≥σ2≥…σt>0,σi(i=1,2,…,r)為矩陣c的奇異值,這時(shí)稱上式為矩陣c的奇異值分解式.
c=uλv(5)
(3.4)建立t×m隨機(jī)矩陣,其變量服從均值為0,方差為1的正態(tài)分布,根據(jù)下式可以得到相關(guān)矩陣的最大特征值.
其中q是矩陣的行列比,即q=t/m,;
(3.5)根據(jù)隨機(jī)矩陣?yán)碚摚J(rèn)為
cnew=uλnewv(6)
(3.6)對cnew進(jìn)行奇異值分解的到unew和vnew,,cnew中的每個(gè)元素kij表示任意2個(gè)特征對初始類的相關(guān)程度,vnew中的每個(gè)元素eij是每個(gè)特征對新類的相關(guān)程度.
(3.7)對通過去噪后的相關(guān)矩陣進(jìn)行特征選擇,特征選擇的目標(biāo)是去除與類不相關(guān)的特征和相互冗余的特征.經(jīng)過去噪的結(jié)果可知,共保留了j-1個(gè)奇異值,因此在這里共選擇j-1個(gè)特征,因此可以根據(jù)(7)式計(jì)算每一個(gè)特征的重要度,其中f(i)表示第i個(gè)特征的重要度,得到集合f={f1,f1,…,fi},接著對f進(jìn)行降序排序,選擇前j-1個(gè)重要度最大的特征,從而完成特征選擇;
其中iij是矩陣m的第i行第j列的元素,eij是(6)式中cnew奇異值分解后得到的右奇異矩陣vnew的第i行第j列的元素,kij是相關(guān)矩陣cnew的第i行第j列的元素。
本發(fā)明的有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提出基于隨機(jī)矩陣?yán)碚摰奶卣鬟x擇方法,其通過將相關(guān)矩陣中符合隨機(jī)矩陣預(yù)測的奇異值去除,從而得到去噪后的相關(guān)矩陣和選擇特征的數(shù)量,接著對去噪后的相關(guān)矩陣再進(jìn)行奇異值分解,通過分解矩陣獲得特征與類的相關(guān)性,根據(jù)特征與類的相關(guān)性和特征之間冗余性完成特征選擇.。
附圖說明
圖1為本發(fā)明方法流程圖。
具體實(shí)施方式
一種高維不完整數(shù)據(jù)特征選擇方法,首先判斷初始數(shù)據(jù)是否為完整數(shù)據(jù);如果原始數(shù)據(jù)是不完整的,無法按照完整數(shù)據(jù)的方式來計(jì)算。需要通過以下步驟針對不完整矩陣計(jì)算,具體包括如下:
第一步:假設(shè)現(xiàn)在有各個(gè)維度的數(shù)據(jù),用1表示該數(shù)據(jù)項(xiàng)是完整的,用0表示該數(shù)據(jù)項(xiàng)是缺失的.計(jì)算每個(gè)維度的缺失率,接著通過下式計(jì)算缺失熵:
第二步:h(x)越大說明不確定性越高,缺失率越接近0.5,h(x)的極值為0.5;依次算出每個(gè)維度的缺失熵;
第三步:對結(jié)果進(jìn)行加權(quán)平均;
第四步:對每一個(gè)維度x的缺失值,p(忽略)=hmean(x),p(填補(bǔ))=1-hmean(x);本發(fā)明方法的具體應(yīng)用過程如下:
如果原始數(shù)據(jù)是不完整的,無法按照完整數(shù)據(jù)的方式來計(jì)算.因此本文提出了一個(gè)不完整隨機(jī)矩陣計(jì)算方法.假設(shè)現(xiàn)在已經(jīng)獲取到了一個(gè)n×l訓(xùn)練數(shù)據(jù)矩陣,對于有數(shù)據(jù)缺失情況,需要更換計(jì)算方法.目前對于缺失值的處理通常有兩種方法:刪除和填補(bǔ).考慮到缺失的數(shù)據(jù)可能是噪聲或者是真實(shí)值.因此在對缺失值進(jìn)行計(jì)算時(shí),采取一種基于概率選擇的計(jì)算方法.這里通過一個(gè)例子來說明.
表1數(shù)據(jù)缺失情況
假設(shè)現(xiàn)在有各個(gè)維度的數(shù)據(jù),用1表示該數(shù)據(jù)項(xiàng)是完整的,用0表示該數(shù)據(jù)項(xiàng)是缺失的.計(jì)算每個(gè)維度的缺失率,例如humidity,其缺失率p=2/7,接著通過下式計(jì)算缺失熵:
其中pi是每個(gè)維度的缺失率,h(x)表示缺失熵;
計(jì)算出維度humidity的熵,p(humidity=缺失)=p,p(humidity=完整)=1-p,則h(humidity)有:
h(p)=-plog2p-(1-p)log2(1-p)
h(p)=0.3,h(p)越大說明不確定性越高,缺失率越接近;依次算出每個(gè)維度的缺失熵得:
表2缺失熵
表3加權(quán)平均結(jié)果
接著進(jìn)行加權(quán)平均,根據(jù)hmean(x)的值進(jìn)行概率選澤.即對于每一個(gè)維度x的缺失值,p(忽略)=hmean(x),p(填補(bǔ))=1-hmean(x).
對于完整數(shù)據(jù)則執(zhí)行以下步驟:
在高維數(shù)據(jù)中進(jìn)行特征選擇時(shí),通過比較原始數(shù)據(jù)矩陣的相關(guān)矩陣和隨機(jī)矩陣在奇異值上的差異,對相關(guān)矩陣進(jìn)行去噪,其實(shí)現(xiàn)步驟如下:
第一步:設(shè)有原始n×l數(shù)據(jù)矩陣d,其中特征集合f={f1,f2,…,,ft},類集合c={c1,c2,…,ck},通過(1)式構(gòu)建互信息矩陣m,當(dāng)k較小時(shí),無法很好的滿足隨機(jī)矩陣的特征,因此需要對m進(jìn)行增廣,復(fù)制m次,即m=[m,m(m)],為了保持初始的行列比,這里m=(l2/n)-1.
其中p(x,y)是特征和類別的聯(lián)合分布,p(x)和p(y)分別是特征和類別的出現(xiàn)概率
第二步:為了保證一般性,對矩陣m進(jìn)行規(guī)范化,通過(2)式中心化,再通過(3)式標(biāo)準(zhǔn)化,得到矩陣md.接著根據(jù)(4)式計(jì)算得到t×t的特征相關(guān)矩陣c.
iij是矩陣m中第i行第j列的元素,maxii是第i行中最大的元素,minii是第i行中最小的元素。
第三步:對c按(5)式進(jìn)行奇異值分解.其中λ=diag(σ1,σ2,…,σr)且σ1≥σ2≥…σt>0,σi(i=1,2,…,r)為矩陣c的奇異值,這時(shí)稱上式為矩陣c的奇異值分解式.
c=uλv(5)
第四步:建立t×m隨機(jī)矩陣,其變量服從均值為0,方差為1的正態(tài)分布,根據(jù)下式可以得到相關(guān)矩陣的最大特征值.
其中q是矩陣的行列比,即q=t/m,;
第五步:根據(jù)隨機(jī)矩陣?yán)碚?,認(rèn)為
cnew=uλnewv(6)
第六步:對cnew進(jìn)行奇異值分解的到unew和vnew,cnew中的每個(gè)元素kij表示任意2個(gè)特征對初始類的相關(guān)程度,vnew中的每個(gè)元素eij是每個(gè)特征對新類的相關(guān)程度.
第七步:對通過去噪后的相關(guān)矩陣進(jìn)行特征選擇,特征選擇的目標(biāo)是去除與類不相關(guān)的特征和相互冗余的特征.經(jīng)過去噪的結(jié)果可知,共保留了j-1個(gè)奇異值,因此在這里共選擇j-1個(gè)特征,因此可以根據(jù)(6)式計(jì)算每一個(gè)特征的重要度,其中f(i)表示第i個(gè)特征的重要度,得到集合f={f1,f1,…,fi},接著對f進(jìn)行降序排序,選擇前j-1個(gè)重要度最大的特征,從而完成特征選擇.
其中iij是矩陣m的第i行第j列的元素,eij是(6)式中cnew奇異值分解后得到的右奇異矩陣vnew的第i行第j列的元素,kij是相關(guān)矩陣cnew的第i行第j列的元素。
(3)實(shí)驗(yàn)
(3.1)實(shí)驗(yàn)數(shù)據(jù)集
為了說明本文提出的特征選擇方法的有效性,通過分類實(shí)驗(yàn)來驗(yàn)證。選取uci機(jī)器學(xué)習(xí)知識(shí)庫上10個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。表4是對數(shù)據(jù)集的描述,數(shù)據(jù)集中的實(shí)例數(shù)從13910到101,特征從649到17,分布范圍很寬廣。
表4實(shí)驗(yàn)中用到的數(shù)據(jù)集
(3.2)實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)在win7_64系統(tǒng),8gb內(nèi)存,主頻2.93ghz的corei7-870的pc上運(yùn)行,采用python3.6,scikit-learn工具包。使用經(jīng)典的mdl[11]方法對數(shù)據(jù)進(jìn)行離散化,采用1-n,cart,
表51-nn分類器準(zhǔn)確率
表6cart分類器準(zhǔn)確率
表7
表8選擇特征的個(gè)數(shù)
根據(jù)表5.6.7,可以看出本文所提的特征選擇方法在三個(gè)分類器上整體勝率是63.3%,在平均準(zhǔn)確率上的勝率是100%。當(dāng)特征數(shù)大于100時(shí),整體勝率是90.4%,在高維特征選擇表現(xiàn)優(yōu)異。相對于表現(xiàn)較好的fcbf,本方法在平均準(zhǔn)確率上領(lǐng)先其1.86%。同時(shí)所提出的優(yōu)化方法rmfs-o相對于rmfs在特征數(shù)大于300時(shí),平均準(zhǔn)確率領(lǐng)先1.38%。根據(jù)表8,本方法在平均特征選擇數(shù)量上明顯優(yōu)于對比方法,相對于最好的fcbf,平均縮小了44.4%的數(shù)據(jù)規(guī)模。當(dāng)特征數(shù)大于300時(shí),類大于10時(shí),相對于對比方法,平均縮小了59.7%的數(shù)據(jù)規(guī)模。