楊文元
真實(shí)世界中的對象通常具有不止一種語義標(biāo)記,經(jīng)常表現(xiàn)為多義性,即一個(gè)對象可能與多個(gè)類別標(biāo)記相關(guān)聯(lián)。如一幅海邊景色圖片可以同時(shí)標(biāo)注“藍(lán)天”“白云”“大?!薄吧碁钡日Z義標(biāo)記,對于多個(gè)標(biāo)記對象的處理方式是為每個(gè)圖像賦予一個(gè)標(biāo)記子集,并進(jìn)行建模和學(xué)習(xí),這就形成多標(biāo)記學(xué)習(xí)框架[1]。在多標(biāo)記學(xué)習(xí)框架下,每個(gè)示例由對應(yīng)的多個(gè)標(biāo)記構(gòu)成的特征向量進(jìn)行描述,學(xué)習(xí)的目標(biāo)是將多個(gè)適當(dāng)?shù)臉?biāo)記賦予需要預(yù)測的未知示例[2]。
隨著信息化的快速發(fā)展,數(shù)據(jù)和資源呈海量特征,數(shù)據(jù)的標(biāo)注結(jié)構(gòu)復(fù)雜程度也不斷增加,單標(biāo)記方法無法滿足分析處理要求[1],以機(jī)器學(xué)習(xí)技術(shù)為基礎(chǔ)的多標(biāo)記學(xué)習(xí)技術(shù)現(xiàn)已成為一個(gè)研究熱點(diǎn),其研究成果廣泛地應(yīng)用于各種不同領(lǐng)域,如圖像視頻的語義標(biāo)注、功能基因組、音樂情感分類以及營銷指導(dǎo)等[3]。
在多標(biāo)記學(xué)習(xí)過程中,高維數(shù)據(jù)訓(xùn)練和預(yù)測都需要更多的計(jì)算時(shí)間和空間。降維減少了特征數(shù)卻提高了算法效率和學(xué)習(xí)性能,可避免過擬合現(xiàn)象和過濾掉冗余特征[4-6]。因此,降低數(shù)據(jù)的維度具有重要意義。
高維數(shù)據(jù)降維,主要有線性維數(shù)約簡和非線性維數(shù)約簡兩種方法。線性維數(shù)約簡的方法有主成分分析方法(principal component analysis, PCA)、獨(dú)立成分分析方法(independent component correlation algorithm, ICA)、線性判別分析法(linear discriminant analysis, LDA)和局部特征分析法(local feature analysis, LFA)等。非線性降維方法有等距特征映射方法(isometric feature mapping, ISOMAP)和局部線性嵌入方法(locally linear embedding,LLE)等[7-8]。多標(biāo)記學(xué)習(xí)的有監(jiān)督降維方法有依賴最大化(MDDM)算法[5],半監(jiān)督方法主要是采用聯(lián)合降維方法[9]和依賴最大化方法[10]。
與一般多標(biāo)記有監(jiān)督的降維方法不同,提出一種自編碼網(wǎng)絡(luò)的無監(jiān)督多標(biāo)記維數(shù)約簡方法(multi-label unsupervised dimensionality reduction via autoencoder networks, MUAE),首先構(gòu)建自編碼神經(jīng)網(wǎng)絡(luò),僅使用特征數(shù)據(jù)作為輸入,進(jìn)行編碼和解碼輸出以提取特征,在處理過程引入稀疏約束并將輸出數(shù)據(jù)與輸入數(shù)據(jù)對比,計(jì)算總體成本誤差,應(yīng)用梯度下降法進(jìn)行迭代更新,通過深度學(xué)習(xí)訓(xùn)練獲得自編碼網(wǎng)絡(luò)學(xué)習(xí)模型,提取數(shù)據(jù)特征,最后以多標(biāo)記學(xué)習(xí)ML-kNN算法作為統(tǒng)一的分類評價(jià)基準(zhǔn),并在6個(gè)公開數(shù)據(jù)集上與其他4種方法對比。實(shí)驗(yàn)結(jié)果表明,該方法能夠在無監(jiān)督情況下有效提取特征,降低多標(biāo)記數(shù)據(jù)維度,得到較好的學(xué)習(xí)效果。
多標(biāo)記的樣本由一個(gè)示例和對應(yīng)的多個(gè)標(biāo)記構(gòu)成,多標(biāo)記學(xué)習(xí)是一種機(jī)器學(xué)習(xí)框架[1-2]。下面的內(nèi)容,簡要地介紹多標(biāo)記學(xué)習(xí)的問題定義和學(xué)習(xí)算法。
多標(biāo)記的集合空間如果太大則會造成學(xué)習(xí)困難,因此需要充分利用標(biāo)記之間的“相關(guān)性”來輔助學(xué)習(xí)過程的進(jìn)行?;诳疾鞓?biāo)記之間相關(guān)性的不同方式,多標(biāo)記學(xué)習(xí)問題求解策略有三類[1,11]。
“一階(first-order)”策略:只考察每一個(gè)單個(gè)標(biāo)記,不考慮標(biāo)記之間的相關(guān)性,將多標(biāo)記學(xué)習(xí)問題分解為多個(gè)獨(dú)立的二分類問題。該策略實(shí)現(xiàn)簡單,效率較高,但學(xué)習(xí)的泛化性能不高[11]。
“二階(second-order)”策略:考察兩兩標(biāo)記之間的相關(guān)性和交互關(guān)系,該類方法的泛化性能較好,但不能很好處理多標(biāo)記間的二階以上相關(guān)性[11]。
“高階(high-order)”策略:考察任一標(biāo)記對其它所有標(biāo)記的影響以及一組隨機(jī)標(biāo)記集合的相關(guān)性等。該類策略較好地反映了真實(shí)世界的標(biāo)記相關(guān)性,但復(fù)雜度一般過高,難以處理大規(guī)模學(xué)習(xí)問題[11]。
目前已經(jīng)涌現(xiàn)出了大量的多標(biāo)記學(xué)習(xí)算法,可以分為問題轉(zhuǎn)換和算法適應(yīng)兩類方法[1]。
問題轉(zhuǎn)換方法的基本思想是將多標(biāo)記學(xué)習(xí)問題轉(zhuǎn)換為其他已知的學(xué)習(xí)問題進(jìn)行求解,代表性學(xué)習(xí)算法有Binary Relevance、Calibrated Label Ranking和Random k-labelsets。算法適應(yīng)方法的基本思想是通過對常用監(jiān)督學(xué)習(xí)算法進(jìn)行改進(jìn),將其直接用于多標(biāo)記學(xué)習(xí),代表性學(xué)習(xí)算法有ML-kNN, Rank-SVM和LEAD[1]。
ML-kNN算法[12]是對k近鄰(k-nearest neighbors,kNN)算法進(jìn)行改造以適應(yīng)多標(biāo)記數(shù)據(jù)分類,算法的基本思想是采用kNN分類準(zhǔn)則,統(tǒng)計(jì)近鄰樣本的類別標(biāo)記信息,通過最大化后驗(yàn)概率的方式推理未知示例的標(biāo)記集合。
自編碼網(wǎng)絡(luò)包含數(shù)據(jù)輸入層、隱藏層、輸出重構(gòu)層。如圖1所示,自編碼器由編碼器(encoder)和解碼器(decoder)兩部分構(gòu)成。其作用是將輸入樣本壓縮到隱藏層,然后解壓,在輸出層重建樣本[13-15]。
圖1 自編碼網(wǎng)絡(luò)模型Fig. 1 Model of autoencoder networks
自編碼網(wǎng)絡(luò)是一種不需要標(biāo)記的無監(jiān)督學(xué)習(xí)模型,它試圖學(xué)習(xí)一個(gè)函數(shù),訓(xùn)練網(wǎng)絡(luò)使得輸出逼近輸入,也就是每個(gè)樣本的學(xué)習(xí)目標(biāo)也是,這樣自編碼器自己生成標(biāo)簽,而且標(biāo)簽就是樣本數(shù)據(jù)本身,所以也稱為自監(jiān)督學(xué)習(xí)或自學(xué)習(xí)。如圖1所示,從輸入通過編碼器到,然后經(jīng)解碼器到,自編碼器的目的是,讓輸出盡可能復(fù)現(xiàn)輸入。系統(tǒng)的輸出能夠復(fù)原原始數(shù)據(jù),說明的維度雖然與的維度不同,但承載了原始數(shù)據(jù)的所有信息,只是形式不同,是已經(jīng)變換特征的某種形式。如果對隱含層進(jìn)行約束使得的維度小于的維度,就可以實(shí)現(xiàn)無監(jiān)督數(shù)據(jù)降維[16]。
重建誤差可以用許多方法測量,可根據(jù)給定輸入的分布假設(shè)而制定。一般可以采用樣本的代價(jià)函數(shù),單個(gè)樣本的代價(jià)函數(shù)為
如果輸入是完全隨機(jī)的,每個(gè)輸入數(shù)據(jù)都獨(dú)立于其他特征的高斯分布,則編碼器的壓縮任務(wù)將非常困難。但是,如果數(shù)據(jù)中存在結(jié)構(gòu),有些輸入要素是相關(guān)或有冗余,則該算法將能夠發(fā)現(xiàn)一些相關(guān)性。自動(dòng)編碼器通常最終會學(xué)習(xí)與PCA非常相似的低維表示。事實(shí)上,如果每兩層之間的變換均為線性且訓(xùn)練誤差是二次型誤差時(shí),該網(wǎng)絡(luò)等價(jià)于PCA。而自編碼網(wǎng)絡(luò)使用非線降維,更符合數(shù)據(jù)的實(shí)際情況,這種機(jī)制使得其效果比PCA更優(yōu)。
自編碼網(wǎng)絡(luò)可以實(shí)現(xiàn)無監(jiān)督的自我學(xué)習(xí),把這種自我學(xué)習(xí)擴(kuò)展到深度學(xué)習(xí)網(wǎng)絡(luò),即擁有多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),以提取多標(biāo)記的數(shù)據(jù)特征,實(shí)現(xiàn)多標(biāo)記學(xué)習(xí)的無監(jiān)督維數(shù)約簡。
多標(biāo)記學(xué)習(xí)與單標(biāo)記學(xué)習(xí)一樣面臨“維度災(zāi)難”的挑戰(zhàn),所以維數(shù)約簡結(jié)果的好壞直接影響著分類器的精度和泛化性能,特別是對于基因序列、圖像處理等高維數(shù)據(jù),影響更加顯著。數(shù)據(jù)維度過大,不僅會增加計(jì)算時(shí)間和空間的復(fù)雜度,還會降低多標(biāo)記學(xué)習(xí)性能。如果在多標(biāo)記學(xué)習(xí)訓(xùn)練之前,通過一定的特征選擇或提取方法,去掉不相關(guān)或冗余屬性,反而可以獲得更令人滿意的知識學(xué)習(xí)模型[17-18]。降低高維數(shù)據(jù)的維度是多標(biāo)記學(xué)習(xí)中一個(gè)重要的研究課題,很多學(xué)者研究多標(biāo)記數(shù)據(jù)的降維方法以提高多標(biāo)記學(xué)習(xí)算法的效果[19]。
已有的多標(biāo)記數(shù)據(jù)維數(shù)約簡方法可以分為兩大類:特征選擇(feature selection)和特征提取(feature extraction)。特征選擇是給定一個(gè)多標(biāo)記分類算法和訓(xùn)練集,通過優(yōu)化某個(gè)多標(biāo)記損失函數(shù)對屬性子集進(jìn)行評價(jià),選擇使損失達(dá)到最小的屬性子集作為最終結(jié)果[20]。而特征提取是通過空間變換,將某些原始特征映射到其他低維空間,生成一些新的特性[3,5],特征提取后的新特征是原來特征的一個(gè)變換映射,不是原特征一個(gè)子集。
基本自編碼網(wǎng)絡(luò)可以解決數(shù)量很小的隱藏單元問題,而高維數(shù)據(jù)的隱藏單元數(shù)量很大,為此,對隱藏單元進(jìn)行稀疏約束,使得自編碼器可以從大量的隱藏單元中發(fā)現(xiàn)高維數(shù)據(jù)中的相關(guān)結(jié)構(gòu),提取關(guān)鍵特征,實(shí)現(xiàn)維數(shù)約簡。自編碼網(wǎng)絡(luò),由輸入層、隱含層和輸出層組成,如圖2所示。
圖2 自編碼網(wǎng)絡(luò)Fig. 2 Autoencoder network
如果激活函數(shù)采用sigmoid函數(shù),當(dāng)神經(jīng)元的輸出值接近于1,則神經(jīng)元是“活動(dòng)的”,如果它的輸出值接近于0,則神經(jīng)元是“無效的”。
隱藏層中所有神經(jīng)元的KL散度之和作為優(yōu)化目標(biāo)的處罰項(xiàng),以懲罰顯著偏離,即
稀疏約束后,樣本的總體成本為
稀疏約束后訓(xùn)練目標(biāo)也是總體成本誤差最小,即
為了求解上述總體成本誤差最小問題,采用反向傳播算法計(jì)算成本偏導(dǎo)數(shù),先求出成本函數(shù)Csparse(W,b)對的偏導(dǎo)數(shù),得到
采用梯度下降迭代法,按公式(13)、(14)進(jìn)行迭代:
綜合上述推導(dǎo)過程和結(jié)果,設(shè)計(jì)多標(biāo)記學(xué)習(xí)的自編碼網(wǎng)絡(luò)無監(jiān)督降維算法MUAE如下。
算法 MUAE
輸出 多標(biāo)記學(xué)習(xí)分類結(jié)果。
2) for epoch =1:k;
5) end for
多標(biāo)記學(xué)習(xí)數(shù)據(jù)降維實(shí)驗(yàn)采用公開數(shù)據(jù)集[21],各數(shù)據(jù)集的訓(xùn)練和測試樣本數(shù)、標(biāo)記數(shù)量與數(shù)據(jù)特征數(shù)量等基本情況如表1所示,表中6個(gè)數(shù)據(jù)集 Arts、Business、Computers、Health、Recreation、Reference的名稱前面分別用A、B、C、D、E、F對應(yīng)標(biāo)注,以方便后續(xù)表格使用。
表1 數(shù)據(jù)集基本描述Table 1 Data description
實(shí)驗(yàn)過程中,將MUAE算法與4種算法進(jìn)行對比,對比算法分別是線性維數(shù)約簡主成分分析PCA算法[22]、非線性維數(shù)約簡局部保留投影LPP[23]算法和拉普拉斯特征映射LE算法[24],以及多標(biāo)記依賴最大化MDDM算法[5]。
在維數(shù)約簡后統(tǒng)一使用ML-kNN算法[12]進(jìn)行多標(biāo)記分類,其中,并以ML-kNN算法在原始特征空間的評價(jià)性能作為參照基線,記為Baseline。MDDM算法的,LLP算法分類時(shí)構(gòu)造鄰接圖的最近鄰個(gè)數(shù)與ML-KNN算法一樣設(shè)置。所有維數(shù)約簡方法降維到相同的維度進(jìn)行對比,所有算法在6個(gè)數(shù)據(jù)集上的特征降維百分比為10%、20%、30%、40%、50%、60%、70%、80%、90%、100%,共10個(gè)百分比的實(shí)驗(yàn)對比。
在多標(biāo)記學(xué)習(xí)問題中,由于每個(gè)對象可能同時(shí)具有多個(gè)類別標(biāo)記,因此傳統(tǒng)監(jiān)督學(xué)習(xí)中常用的單標(biāo)記評價(jià)指標(biāo)無法直接用于多標(biāo)記學(xué)習(xí)系統(tǒng)的性能評價(jià)。因此,研究者們相繼提出了一系列多標(biāo)記評價(jià)指標(biāo),一般可分為兩種類型,即基于樣本的評價(jià)指標(biāo)(example-based metrics)[25]以及基于類別的評價(jià)指標(biāo)(label-based metrics)[26]。本文主要采用5種指標(biāo),即平均精度(average precision)、漢明損失(Hamming loss)、排名損失(ranking loss)、一錯(cuò)誤(oneerror)和覆蓋(coverage),具體的計(jì)算公式如下。
1) 平均精度
平均精度,是一種最直觀的評價(jià)方式,評價(jià)樣本的類別標(biāo)記排序序列中,排在相關(guān)標(biāo)記之前的標(biāo)記占標(biāo)記集合的平均比例,這個(gè)指標(biāo)是相關(guān)標(biāo)記預(yù)測的概率平均。
2) 漢明損失
漢明損失,是通過計(jì)算多標(biāo)記分類器預(yù)測的標(biāo)記結(jié)果與實(shí)際的標(biāo)記差距來度量多標(biāo)記分類器的性能。
3) 排名損失
排名損失,評價(jià)所有樣本的預(yù)測標(biāo)記排名中,不相關(guān)標(biāo)記在相關(guān)標(biāo)記前面的概率平均。
4) 一錯(cuò)誤
一錯(cuò)誤,該指標(biāo)評價(jià)每個(gè)樣本的預(yù)測標(biāo)記排名中,排在第一位的標(biāo)記不在該樣本的相關(guān)標(biāo)記集中的概率評價(jià)。
5) 覆蓋
覆蓋,該指標(biāo)評價(jià)每個(gè)樣本的預(yù)測標(biāo)記排名中需要在標(biāo)記序列表中最少查找到第幾位才可以找出所有與該樣本相關(guān)的標(biāo)記。
5種算法和基準(zhǔn)算法共6個(gè)算法,在6個(gè)多標(biāo)記數(shù)據(jù)集上用5個(gè)評價(jià)指標(biāo)進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)的結(jié)果展示在表2~6。
表2 不同降維方法的平均精度Table 2 Average precision of different algorithms
表2是評價(jià)平均精度指標(biāo)的實(shí)驗(yàn)結(jié)果,其數(shù)值是越高越好,最好的結(jié)果用黑體表示。實(shí)驗(yàn)結(jié)果顯示,MUAE 方法在 Business、Computers、Recreation三個(gè)數(shù)據(jù)集上都取得最好結(jié)果,PCA在Health和Reference數(shù)據(jù)集上取得最好結(jié)果,MDDM方法在Arts數(shù)據(jù)集上取得最好結(jié)果。能夠在平均精度取得好的實(shí)驗(yàn)結(jié)果,這是由于自編碼深度網(wǎng)絡(luò)能夠通過自學(xué)習(xí)有效提取數(shù)據(jù)特征,在有監(jiān)督的多標(biāo)記數(shù)據(jù)集上能夠通過無監(jiān)督方法取得好的降維效果。
另外,4個(gè)評價(jià)指標(biāo)分別是漢明損失、排名損失、一錯(cuò)誤和覆蓋,指標(biāo)數(shù)值越小越好,表3~6分別是這4種評價(jià)指標(biāo)的各算法的實(shí)驗(yàn)結(jié)果,最好的結(jié)果用黑體表示。MUAE算法取得最好數(shù)據(jù)集個(gè)數(shù)分別為3、3、2、2,4個(gè)表中的實(shí)驗(yàn)結(jié)果顯示出MUAE方法總體上比其他4種算法和基準(zhǔn)算法好。
表3 不同降維方法的漢明損失Table 3 Hamming loss of different algorithms
表4 不同降維方法的排名損失Table 4 Ranking loss of different algorithms
綜合數(shù)據(jù)降維的各方法表現(xiàn),利用自編碼進(jìn)行無監(jiān)督特征提取,比無監(jiān)督算法能夠取得更好的效果,這應(yīng)該得益于自編碼的思想和設(shè)計(jì)結(jié)構(gòu),其能更好地表示輸入數(shù)據(jù)的特征,所以取得好的實(shí)驗(yàn)結(jié)果。
為了進(jìn)一步分析自編碼在不同降維百分比的性能,以維度數(shù)量的10%開始,步長以10%遞增至100%,共10組,結(jié)果以圖的形式展示。圖3是平均精度隨特征降維百分比變化關(guān)系,MUAE在6個(gè)數(shù)據(jù)集上比其他算法能取得更高的精度。圖3還顯示出平均精度在各個(gè)百分比的情況下,MUAE算法精度高且很平穩(wěn),沒有大幅度變化,而LPP和LE這兩個(gè)算法隨著降維百分比的增加精度反而逐步下降。
表5 不同降維方法的一錯(cuò)誤Table 5 One-error of different algorithms
表6 不同降維方法的覆蓋Table 6 Coverage of different algorithms
另外,除數(shù)據(jù)集Business外的其他5個(gè)數(shù)據(jù)集,所有算法在特征降維百分比較小的情況下,平均精度的實(shí)驗(yàn)結(jié)果都比Baseline的結(jié)果好,這表明大部分?jǐn)?shù)據(jù)集確實(shí)存在冗余的特征,各算法提取關(guān)鍵特征而去除了冗余特征,因此,多標(biāo)記數(shù)據(jù)降維后,學(xué)習(xí)精度反而得到不同程序的提高。
其余4個(gè)指標(biāo),即漢明損失、排名損失、一錯(cuò)誤和覆蓋,隨特征降維百分比變化關(guān)系展示在圖4~7中,這4種指標(biāo)越小越好。從圖4~7顯示的指標(biāo)性能,總體上MUAE方法比其他4種方法好,曲線平穩(wěn),起伏變化較小,顯示出MUAE方法穩(wěn)定性好。
綜合多標(biāo)記評價(jià)5個(gè)指標(biāo),MUAE方法的結(jié)果比其他4種方法和基準(zhǔn)算法好,而且在各組提取特征百分比情況下顯示出好的穩(wěn)定性。實(shí)驗(yàn)結(jié)果進(jìn)一步證明,自編碼網(wǎng)絡(luò)訓(xùn)練目標(biāo)在各降維百分比情況下,能保持甚至提取好的數(shù)據(jù)特征。
圖3 平均精度隨特征降維百分比變化關(guān)系Fig. 3 Relationship between average precision and percentage of features
圖4 漢明損失隨特征降維百分比變化關(guān)系Fig. 4 Relationship between Hamming loss and percentage of features
圖5 排名損失隨特征降維百分比變化關(guān)系Fig. 5 Relationship between ranking loss and percentage of features
圖6 一錯(cuò)誤隨特征降維百分比變化關(guān)系Fig. 6 Relationship between one-error and percentage of features
圖7 覆蓋隨特征降維百分比變化關(guān)系Fig. 7 Relationship between voverage and percentage of features
針對多標(biāo)記學(xué)習(xí)的數(shù)據(jù)降維問題提出自編碼網(wǎng)絡(luò)維數(shù)約簡方法,用無監(jiān)督方法處理有監(jiān)督的多標(biāo)記學(xué)習(xí)降維問題。通過實(shí)驗(yàn)驗(yàn)證了所構(gòu)建自編碼深度學(xué)習(xí)網(wǎng)絡(luò)能自學(xué)習(xí)地提取多標(biāo)記數(shù)據(jù)特征,降低數(shù)據(jù)維度,與其他無監(jiān)督特征降維和多標(biāo)記有監(jiān)督降維方法相比,取得了較好的效果,在各百比降維的情況下,降維性能平穩(wěn)性好。下一步工作,將使用變分自編碼和降噪自編碼網(wǎng)絡(luò)對多標(biāo)記和圖像等數(shù)據(jù)進(jìn)行無監(jiān)督降維進(jìn)行研究。