謝昆明,羅幼喜
(湖北工業(yè)大學(xué)理學(xué)院,湖北 武漢,430068)
隨著現(xiàn)代信息技術(shù)的發(fā)展,維度較高的數(shù)據(jù)量與日俱增,其中包含的噪聲信息也會增多,數(shù)據(jù)特征之間往往存在著一定的相關(guān)性和冗余性,因此有必要對數(shù)據(jù)進(jìn)行降維處理,這樣既能減少計(jì)算量,使數(shù)據(jù)結(jié)構(gòu)更加清晰,又有利于提高數(shù)據(jù)分析效率。降低數(shù)據(jù)維度的辦法主要有特征選擇和特征抽取,前者是從原始特征子集中進(jìn)行選擇,去除冗余性的特征以及與目標(biāo)特征不相關(guān)的特征[1];而特征抽取是基于原始特征再創(chuàng)造新特征的方法,也是本文研究重點(diǎn)。線性特征抽取算法主要有主成分分析(PCA)[2]和線性判別分析(LDA)[3];非線性特征抽取算法主要有局部線性嵌入(LLE)[4]、拉普拉斯特征映射(LE)[5]、等度量映射(Isomap)[6]、多維縮放(MDS)[7]等。
主成分分析是無監(jiān)督的線性降維算法,其假設(shè)數(shù)據(jù)服從高斯分布,分析時使用的是協(xié)方差矩陣,但協(xié)方差矩陣只能衡量特征之間的線性關(guān)系。因此,針對數(shù)據(jù)分布特點(diǎn),研究者提出各種改進(jìn)措施,如只能處理非高斯數(shù)據(jù)的獨(dú)立主成分分析(ICA)[8]、綜合算法ICA-PCA[9]、Box-Cox變換[10]、基于支持向量數(shù)據(jù)描述的ICA-SVDD[11]等;針對數(shù)據(jù)的非線性關(guān)系,研究者提出了基于信息量的PCA[12]、基于最大信息系數(shù)和對數(shù)變換的PCA[13]、基于核函數(shù)的KPCA[14]等改進(jìn)方法。
Yeo-Johnson變換[15]是一種將非高斯分布數(shù)據(jù)轉(zhuǎn)化為高斯分布數(shù)據(jù)的方法,其性能和變換效果比Box-Cox變換更優(yōu)。而最大信息系數(shù)(MIC)[16]是一種衡量屬性間相關(guān)性的方法,不僅能度量變量間的線性關(guān)系,也能度量其非線性關(guān)系以及非函數(shù)關(guān)系。MIC方法具有普適性,即適用于變量間任意形式的函數(shù),同時其還具有公平性[16-17],即對于不同形式函數(shù)存在的相同水平噪聲能得到同樣的結(jié)果。
本文針對PCA中假設(shè)數(shù)據(jù)服從高斯分布且協(xié)方差矩陣只能衡量變量之間線性關(guān)系的局限,提出一種基于Yeo-Johnson變換和MIC的PCA特征抽取算法。首先利用Yeo-Johnson變換將數(shù)據(jù)進(jìn)行轉(zhuǎn)化,使其近似服從高斯分布,滿足PCA的假設(shè),再運(yùn)用MIC將PCA中數(shù)據(jù)之間存在線性關(guān)系的假設(shè)推廣到非線性關(guān)系以及其他關(guān)系,最后通過實(shí)際數(shù)據(jù)來分析所提出的改進(jìn)算法的有效性。
主成分分析假設(shè)數(shù)據(jù)服從高斯分布且數(shù)據(jù)間線性相關(guān),將原始存在相關(guān)性的特征重新組合成新的少數(shù)幾個線性無關(guān)的特征,使得投影后的特征子空間在每個維度上的數(shù)據(jù)方差達(dá)到最大,新形成的子空間特征即為主成分,各個主成分互不相關(guān),且數(shù)量比原始特征少,按照所在方向的方差貢獻(xiàn)率降序排列。主成分包含了原始變量的大多數(shù)信息,所包含的信息更凝聚。
(1)
使得基于投影重構(gòu)的樣本點(diǎn)x(i)′和原樣本點(diǎn)x(i)之間的距離即整體誤差達(dá)到最小。進(jìn)一步化簡后,優(yōu)化目標(biāo)為:
(2)
經(jīng)過求解,最終轉(zhuǎn)化為求XXT的特征值問題。對矩陣XXT進(jìn)行特征值分解得到特征值(λ1,λ2,…,λp),以及對應(yīng)的特征向量(u1i,u2i,…,upi),i=1,2,…,p。設(shè)X=(X1,X2,…,Xp)T,則主成分為Zi=u1iX1+u2iX2+…+upiXp,i=1,2,…,p。再選取特定個數(shù)的主成分,組成新的樣本數(shù)據(jù),一般選擇出的k個主成分對應(yīng)特征值之和占總體特征值之和的85%以上即可。為了不損失過多信息,本文取主成分閾值為95%。
2 改進(jìn)的主成分分析算法:YJ-MICPCA
Yeo-Johnson變換的公式如下[15]:
(3)
式中:y為需要變換的數(shù)據(jù);λ為需要估計(jì)的未知參數(shù),可利用極大似然法進(jìn)行參數(shù)估計(jì)。Yeo-Johnson變換能改善數(shù)據(jù)的正態(tài)性和對稱性。
MIC方法的基本原理是:將兩個變量構(gòu)成的集合記為數(shù)據(jù)集D(x,y),把坐標(biāo)平面劃分成x列y行的網(wǎng)格,網(wǎng)格上的每個小單元G的概率為G中的點(diǎn)數(shù)除以網(wǎng)格上的總點(diǎn)數(shù),這樣得到二元數(shù)據(jù)集在網(wǎng)格上的概率分布D|G。數(shù)據(jù)集可以有很多劃分方法,對于每種劃分方式計(jì)算互信息I(D|G),取所有劃分方式中的最大值,有I*(D,x,y)=maxI(D|G),所以最大信息系數(shù)計(jì)算公式為:
(4)
式中:N為樣本數(shù);B(N)為樣本的函數(shù),所劃分網(wǎng)格的小單元總數(shù)要小于B(N),根據(jù)文獻(xiàn)[16],取B=N0.6。本文利用MIC改進(jìn)PCA只能處理線性關(guān)系的不足。
PCA算法中要求數(shù)據(jù)服從高斯分布。二維高斯分布中獨(dú)立和不相關(guān)是等價的,當(dāng)數(shù)據(jù)服從高斯分布時,得到的主成分之間協(xié)方差cov(Fi,Fj)=0(i≠j),即主成分不相關(guān),等價于獨(dú)立,進(jìn)而保證了主成分之間無信息重疊,同時高斯分布下數(shù)據(jù)的主要信息會得到較好的保留。當(dāng)數(shù)據(jù)服從非高斯分布時,會發(fā)生尺度縮放與旋轉(zhuǎn),并且主成分之間不一定獨(dú)立,最后結(jié)果會產(chǎn)生偏差。因此,本文首先運(yùn)用Yeo-Johnson變換將非高斯分布數(shù)據(jù)進(jìn)行轉(zhuǎn)化,使其近似服從高斯分布,滿足PCA算法的前提假設(shè)。
PCA中運(yùn)算使用的是協(xié)方差矩陣,但協(xié)方差矩陣只能衡量特征之間的線性關(guān)系,現(xiàn)實(shí)問題中數(shù)據(jù)間可能存在非線性以及非函數(shù)等較復(fù)雜的關(guān)系,因此本文運(yùn)用MIC改進(jìn)PCA。同時,PCA運(yùn)算中協(xié)方差矩陣是非負(fù)定的,在進(jìn)行特征值分解時,得到的特征值恒大于0。將協(xié)方差矩陣換成最大信息矩陣后,不一定滿足這一條件,因此,改進(jìn)算法采用最大信息系數(shù)矩陣的平方,記為M,這樣就能保證矩陣M是非負(fù)定的。下面對此進(jìn)行證明。
要證明矩陣M是非負(fù)定的,只需證明:對任意向量y,有yTMy≥0。設(shè)隨機(jī)向量X=(X1,X2,…,Xp),任意兩個變量之間的最大信息系數(shù)mic(Xi,Xj)利用式(4)計(jì)算,得到最大信息系數(shù)矩陣
Q=
則M=Q2。
因?yàn)镼為實(shí)對稱矩陣,故Q=QT,所以對于任意向量y,有yTMy=yTQQTy=‖yTQ‖2≥0,即矩陣M非負(fù)定,從而保證在特征值分解時,得到的特征值均為非負(fù)。
綜上,改進(jìn)算法YJ-MICPCA如下:
輸入數(shù)據(jù)集D={x1,x2,…,xN},每個樣本的p個特征F={F1,F2,…,Fp},類別Y; 主成分閾值t=95%。
輸出特征投影后的新數(shù)據(jù)集DD={z1,z2,…,zN}。
步驟2根據(jù)式(4),計(jì)算Yeo-Johnson變換后數(shù)據(jù)的MIC矩陣Q,進(jìn)而得到MIC平方矩陣M。
步驟3對矩陣M進(jìn)行特征值分解,得到特征值(λ1,λ2,…,λp)以及對應(yīng)的特征向量。
實(shí)驗(yàn)所用的11個數(shù)據(jù)集均來自UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫,如表1所示。實(shí)驗(yàn)基于Python和R語言編程,系統(tǒng)運(yùn)行環(huán)境為:Intel(R) Core(TM)i5-3337U 處理器,1.8 GHz CPU,4 GB RAM,Win 8操作系統(tǒng)。
表1 實(shí)驗(yàn)數(shù)據(jù)集描述
為了對比分析,除了采用本文提出的改進(jìn)算法之外,還采用PCA[2]、KPCA[14]、LLE[4]、Isomap[6]、MSD[7]這5種算法對數(shù)據(jù)進(jìn)行降維處理,并利用非線性支持向量機(jī)(SVM)[18]、樸素貝葉斯模型(NB)[19]和k近鄰算法(k-NN)[20]這3種應(yīng)用較為廣泛的分類器對降維后的數(shù)據(jù)進(jìn)行分類,然后進(jìn)行結(jié)果分析,以最終分類精度為基準(zhǔn),所有數(shù)據(jù)采用50次5折交叉驗(yàn)證。
采用k-NN分類器計(jì)算距離時,為了消除數(shù)據(jù)尺度不同對結(jié)果的影響,計(jì)算前需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。本文中k分別取1,2,…,10這幾個值,在原數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),通過50次5折交叉驗(yàn)證選擇平均分類準(zhǔn)率最高時的k值作為其最終取值。
首先,比較YJ-MICPCA和PCA兩種算法在主成分閾值t=95%(即信息損失為5%)時的分類準(zhǔn)確率和數(shù)據(jù)維度,分別見表2和表3,表2中還列出了未降維的原始數(shù)據(jù)集的分類準(zhǔn)確率。
從表2可以看到(表中粗體部分顯示YJ-MICPCA比PCA分類精度高):對于數(shù)據(jù)集MMK和ORHD,采用3種分類器,YJ-MICPCA均比PCA方法獲得較高的分類精度,最大差距為17.18個百分點(diǎn);采用SVM分類器時,對于數(shù)據(jù)集RW和Iris,YJ-MICPCA比PCA的處理效果更優(yōu);采用NB分類器時,在數(shù)據(jù)集Con、RW和Bre上,YJ-MICPCA比PCA效果更優(yōu);采用k-NN分類器時,在數(shù)據(jù)集Spb和Con上,YJ-MICPCA比PCA效果更優(yōu);而對于其余數(shù)據(jù)集,PCA比YJ-MICPCA的分類精度略高,最大差距為13.51個百分點(diǎn)??傮w來看,當(dāng)t=95%時,PCA在大多數(shù)數(shù)據(jù)集上的分類精度略優(yōu)于YJ-MICPCA。
表2 YJ-MICPCA和PCA算法取t=95%時的分類準(zhǔn)確率
表3 采用YJ-MICPCA和PCA算法得到的數(shù)據(jù)維度(t=95%)
Table 3 Dataset dimensionalities reduced by YJ-MICPCA and PCA algorithms(t=95%)
數(shù)據(jù)集原特征數(shù)降低后的維數(shù)PCAYJ-MICPCASpb574829ULC147246LM9097LSVT310362MMK714434ORHD644233Con603014Sta3662RW1199Iris422Bre30105
從表3可以看到,當(dāng)t=95%時,與原始特征數(shù)量相比,PCA和YJ-MICPCA兩種算法均達(dá)到了降維效果,但是YJ-MICPCA的降維程度要優(yōu)于PCA。YJ-MICPCA對LSVT數(shù)據(jù)集的降維程度高達(dá)99.355%,而PCA的最大降維程度為90%(LM數(shù)據(jù)集)。根據(jù)這兩種算法的不同之處可知,YJ-MICPCA算法更能檢測到數(shù)據(jù)之間的關(guān)系,在相同維度下,其信息保留能力更強(qiáng),所包含的信息更凝聚。
然后,比較相同維度下PCA和YJ-MICPCA算法的分類準(zhǔn)確率。以PCA算法在t=95%時得到的數(shù)據(jù)維度為基準(zhǔn),兩種算法在該維度下的分類準(zhǔn)確率見表4。從表4可以看到,針對不同分類器和絕大部分?jǐn)?shù)據(jù)集,YJ-MICPCA均比PCA的分類精度高,最大相差18.28個百分點(diǎn)(MMK數(shù)據(jù)集,NB分類器),而對于少數(shù)幾個數(shù)據(jù)集,PCA的分類精度較高,最大差距為12.69個百分點(diǎn)(Spb數(shù)據(jù)集,NB分類器)??傮w來說,相同維度下采用不同分類器時,YJ-MICPCA比PCA得到的分類精度更優(yōu)。
表4 YJ-MICPCA和PCA算法取相同維度時的分類準(zhǔn)確率(單位:%)
下面比較不同維度(即主成分個數(shù))變化時,PCA和YJ-MICPCA這兩種特征抽取算法的最高分類精度及分類精度隨維度的變化情況。降維后的數(shù)據(jù)服從高斯分布,并且特征之間不相關(guān),正好滿足高斯樸素貝葉斯分類器的條件,同時,考慮到參數(shù)調(diào)節(jié)、運(yùn)算復(fù)雜度和文章篇幅等問題,以下僅列出采用高斯樸素貝葉斯分類器時各數(shù)據(jù)集的分類準(zhǔn)確率最大值(如表5所示),以及LSVT數(shù)據(jù)集的分類準(zhǔn)確率隨維度變化情況(如圖1所示)。
表5 采用NB分類器時YJ-MICPCA和PCA算法的分類準(zhǔn)確率最大值(單位:%)
Table 5 Maximal classification accuracies of YJ-MICPCA and PCA algorithms using NB classifier
數(shù)據(jù)集PCAYJ-MICPCASpb86.7288.75ULC76.7380.34LM82.1483.57LSVT69.2077.51MMK67.8586.58ORHD88.4391.97Con76.4179.26Sta83.8684.36RW56.5858.68Iris92.4689.26Bre92.8595.32
圖1 LSVT數(shù)據(jù)集的分類準(zhǔn)確率隨維度的變化
Fig.1 Variation of classification accuracy of dataset LSVT with dimensionality
從表5可以看到,在11個數(shù)據(jù)集中,有10個數(shù)據(jù)集采用YJ-MICPCA算法的分類精度高于PCA算法,二者最大差距為18.73個百分點(diǎn)(MMK數(shù)據(jù)集);只在Iris數(shù)據(jù)集上PCA算法較優(yōu),二者僅相差3.2個百分點(diǎn)。從圖1可以看到,不同維度下,PCA和YJ-MICPCA兩種算法的分類精度變化趨勢基本相同,即隨著維度的增加,分類準(zhǔn)確率先上升達(dá)到最高點(diǎn),然后又逐漸降低,并且在同一維度值時,YJ-MICPCA所獲得的分類精度均高于PCA。結(jié)合其他數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果,可以得出YJ-MICPCA算法較PCA算法的特征抽取效果更好的結(jié)論。
最后,在相同維度下比較YJ-MICPCA與其他非線性降維方法(LLE、Isomap、MSD、KPCA)的總體分類精度,以PCA在t=95%時的維度為基準(zhǔn),得到結(jié)果如表6~表8所示(表中粗體部分顯示各數(shù)據(jù)集的分類準(zhǔn)確率最大值)。從表中可以看出,采用不同分類器時,在大多數(shù)數(shù)據(jù)集上YJ-MICPCA算法較其他方法均占有優(yōu)勢,分類精度更高。
表6 采用SVM分類器時5種算法的分類準(zhǔn)確率(單位:%)
Table 6 Classification accuracies of five algorithms using SVM classifier
數(shù)據(jù)集YJ-MICPCAKPCALLEIsomapMSDSpb93.3983.6060.5978.3773.89ULC82.4617.2617.2617.2617.26LM79.1052.4333.2458.4453.89LSVT84.6166.6966.6966.6966.69MMK88.0513.4325.1637.7611.26ORHD98.6086.7012.1922.2975.43Con81.3454.1553.3768.1954.24Sta86.9583.8523.8256.3275.16RW58.1753.6442.5951.7351.89Iris88.5691.6567.4076.6093.68Bre97.7562.8562.7464.4462.59
表7 采用NB分類器時5種算法的分類準(zhǔn)確率(單位:%)
Table 7 Classification accuracies of five algorithms using NB classifier
數(shù)據(jù)集YJ-MICPCAKPCALLEIsomapMSDSpb73.1380.8365.7367.2965.99ULC80.3460.4840.4436.8932.34LM74.4373.2244.7262.7768.40LSVT73.6448.7557.4861.5749.60MMK85.4362.5428.8329.9926.12ORHD91.9794.7097.9697.3292.73Con75.4973.9671.7369.5074.70Sta83.8584.7684.5984.5182.20RW57.2557.7036.4347.0134.99Iris86.3190.0366.9392.6791.16Bre95.1990.2189.8691.2392.36
表8 采用k-NN分類器時5種算法的分類準(zhǔn)確率(單位:%)
Table 8 Classification accuracies of five algorithms usingk-NN classifier
數(shù)據(jù)集YJ-MICPCAKPCALLEIsomapMSDSpb91.2480.7376.3377.9375.31ULC78.9843.7042.9041.4043.19LM78.0677.0267.5872.2477.98LSVT78.8762.8657.4062.7562.82MMK76.5943.3434.5838.7740.75ORHD98.4498.7498.8298.5897.60Con87.2482.5479.0979.2180.79Sta89.5590.2186.6888.7289.88RW62.1758.3757.9156.5355.61Iris89.3195.8969.0196.3295.88Bre96.2593.1292.4893.0592.98
本文提出了一種改進(jìn)的PCA特征抽取算法YJ-MICPCA,它能處理數(shù)據(jù)特征間存在的線性、非線性以及非函數(shù)關(guān)系。該算法先改善數(shù)據(jù)分布,使其近似滿足PCA要求的高斯分布假設(shè),并將PCA中計(jì)算協(xié)方差矩陣轉(zhuǎn)化為計(jì)算最大信息系數(shù)矩陣的平方,從而將PCA算法推廣為非線性特征抽取算法。在主成分閾值為95%的條件下,采用11個數(shù)據(jù)集、3種分類器來對比分析PCA和YJ-MICPCA的數(shù)據(jù)降維效果,比較了50次5折交叉驗(yàn)證下的平均分類精度和維度、相同維度下的平均分類精度以及不同維度下的分類準(zhǔn)確率最大值,同時還比較了YJ-MICPCA和其他4種非線性降維算法的性能。實(shí)驗(yàn)結(jié)果證明了YJ-MICPCA算法識別數(shù)據(jù)中復(fù)雜關(guān)系的能力比PCA強(qiáng),特征抽取效果更優(yōu),并且YJ-MICPCA與其他非線性降維算法相比也具有優(yōu)勢。