陳璐瑤,劉奇龍,許云霞,陳 震
(貴州師范大學(xué)數(shù)學(xué)科學(xué)學(xué)院,貴陽 550025)
基于矩陣分解的數(shù)據(jù)處理方法近年來在計(jì)算機(jī)視覺、模式識(shí)別、信號處理、生物醫(yī)學(xué)工程和圖像工程等[1-3]研究領(lǐng)域中得到了成功的應(yīng)用,如奇異值分解、主成分分析、獨(dú)立成分分析、線性判別分析等方法。這些方法都是將原始矩陣近似分解為多個(gè)低秩矩陣的乘積[4]。分解的因子矩陣的元素可能是正數(shù)也可能是負(fù)數(shù),但在實(shí)際應(yīng)用問題中負(fù)值元素往往沒有意義或無法解釋,如圖像數(shù)據(jù)的像素值不可能是負(fù)值,文檔的數(shù)目及詞匯的個(gè)數(shù)也不可能是負(fù)值。鑒于此,文獻(xiàn)[5]提出一種新的矩陣分解方法——非負(fù)矩陣分解(Nonnegative Matrix Factorization,NMF),與傳統(tǒng)的矩陣分解方法相比,非負(fù)矩陣分解所得結(jié)果均為非負(fù)值,這使得非負(fù)矩陣分解在實(shí)際問題中得到了廣泛應(yīng)用。文獻(xiàn)[6]提出已有的非負(fù)矩陣分解方法通常是將二維的圖像變?yōu)橐痪S向量處理,這種做法破壞了圖像像素點(diǎn)之間的幾何結(jié)構(gòu)關(guān)系,在數(shù)據(jù)降維和特征提取過程中容易導(dǎo)致信息丟失、維數(shù)災(zāi)難和小樣例問題,文獻(xiàn)[7]提出張量表示能在一定程度上避免上述問題。張量是矩陣和向量的高階推廣,其中0 階張量是標(biāo)量、1 階張量是向量、2 階張量是矩陣。張量分解的兩種經(jīng)典模型為PARAFAC 分解和Tucker 分解[8-10]。PARAFAC 分解是將一個(gè)N階張量分解為若干個(gè)秩一張量和的形式;Tucker 分解是將原張量分解成核張量和因子矩陣乘積的形式。文獻(xiàn)[11]提出在非負(fù)性約束下,Tucker 分解可以像矩陣分解一樣提取基于局部特征的表示。因此,非負(fù)Tucker 分解(Nonnegative Tucker Decomposition,NTD)是處理非負(fù)張量數(shù)據(jù)的一種常用方法。
文獻(xiàn)[12-14]研究數(shù)據(jù)之間的幾何結(jié)構(gòu),流形學(xué)習(xí)能夠發(fā)現(xiàn)嵌入在高維數(shù)據(jù)空間中觀測數(shù)據(jù)的低維本質(zhì)結(jié)構(gòu),以取得更好的低維表示[15]。目前已有一些研究將流形學(xué)習(xí)理論與非負(fù)張量分解理論結(jié)合。例如,文獻(xiàn)[16]考慮到圖像空間的流形結(jié)構(gòu),將局部線性嵌入正則化項(xiàng)添加到非負(fù)平行因子分析(NPARAFAC)模型,研究了鄰域保持的非負(fù)張量分解方法。另外,文獻(xiàn)[17]提出拉普拉斯正則化非負(fù)張量分解方法(Laplace Regularized Nonnegative Tensor Decomposition,LRNTD)并用于圖像聚類。在每種模式下,NPARAFAC通常比NTD 需要更多的分量[18],導(dǎo)致NPARAFAC 的數(shù)據(jù)表示效果不如NTD。傳統(tǒng)的Tucker 分解只涉及屬性信息,而沒有考慮圖像之間的成對相似信息。文獻(xiàn)[19]考慮屬性信息與圖像間局部表示的相似程度,提出一種圖拉普拉斯Tucker分解(Graph Laplace Tucker Decomposition,GLTD)方法。文獻(xiàn)[20]將流形正則化項(xiàng)引入非負(fù)Tucker 分解中,提出一種流形正則化非負(fù)Tucker 分解(Manifold Regularized Nonnegative Tucker Decomposition,MRNTD)方法。文獻(xiàn)[21]在低維表示的前提下,為了同時(shí)保持內(nèi)部的多線性結(jié)構(gòu)和幾何信息,將圖正則化引入到非負(fù)Tucker分解中,提出一種圖正則化的非負(fù)Tucker 分解(Graph regularized Nonnegative Tucker Decomposition,GNTD)方法。
然而上述研究只考慮到了樣本間的成對關(guān)系,忽略了樣本間的高階關(guān)系[22-24],文獻(xiàn)[25-27]則利用超圖可以解決這一不足。本文結(jié)合超圖學(xué)習(xí)[22]和NTD 算法,提出一種基于超圖正則化非負(fù)Tucker 分解算法(HyperGraph Regularized Nonnegative Tucker Decomposition,HGNTD)。利用K-最鄰近(K-Nearest Neighbor,KNN)方法建立超圖,將超圖正則項(xiàng)添加到非負(fù)Tucker 分解中,并基于交替非負(fù)最小二乘法(Alternating Nonnegative Least Squares,ANLS),設(shè)計(jì)超圖正則化非負(fù)Tucker 分解算法(HGNTD)求解模型。
張量分解有兩種經(jīng)典模型:PARAFAC 分解[8]和Tucker 分解[9]。這兩種模型都是矩陣奇異值分解的高階推廣,也可看作是主成分分析(PCA)的高階形式,且前者是后者的一種特例。
NTD 可以看作是NMF 的多線性推廣,NTD 的矩陣形式(式(1))和NMF 之間的一個(gè)最大的區(qū)別是前者的基矩陣是核張量與因子矩陣從模-1 到模-(N-1)的乘積,這有利于改善基矩陣的稀疏性。
超圖是普通圖的推廣,在普通圖中,一個(gè)數(shù)據(jù)對象表示一個(gè)頂點(diǎn),兩個(gè)頂點(diǎn)之間的邊用來描繪頂點(diǎn)之間的關(guān)系。超圖中的超邊連接3 個(gè)或者更多的頂點(diǎn)可以更好地表示數(shù)據(jù)的高維信息,超圖已經(jīng)廣泛應(yīng)用于分類、聚類中。下文簡單地介紹超圖的一些基本理論[22,26]:
假 設(shè)G=(V,E,W),其 中V={ν1,ν2,…,νN}是 頂點(diǎn)集,集合V中的每一個(gè)元素稱為頂點(diǎn);E={e1,e2,…,eM}是超邊集,集合E中的每一個(gè)元素稱為超邊,每條超邊是頂點(diǎn)集V的子集;W為超圖的權(quán)重矩陣,是由超邊的權(quán)重構(gòu)成的對角矩陣,其中每條超邊e的權(quán)重是事先賦的一個(gè)正值w(e)。如果以下兩個(gè)條件成立:ej??,?j∈1,2,…,M,e1∪e2∪…∪eM=V,則G是定義在集合V上的超圖。
超圖可使用一個(gè)|V| ×|E|的關(guān)聯(lián)矩陣H來表示:
下文用幾何圖形解釋超圖,如圖1 所示,其對應(yīng)的頂點(diǎn)與超邊的關(guān)聯(lián)矩陣H如表1 所示。
圖1 超圖G 的幾何示意圖Fig.1 Geometric schematic diagram of hypergraph G
表1 圖1 對應(yīng)的關(guān)聯(lián)矩陣HTable 1 The correlation matrix H corresponding to Fig.1
圖1給出一個(gè)超圖G=(V,E),實(shí)心節(jié)點(diǎn)表示為頂點(diǎn),由橢圓虛線標(biāo)記的集合表示超邊。表1表示為其對應(yīng)的關(guān)聯(lián)矩陣H,其 中,V={ν1,ν2,…,ν7},E={e1,e2,e3},e1={ν1,ν2,ν3},e2={ν3,ν4,ν5},e3={ν5,ν6,ν7}。
對于頂點(diǎn)ν∈V,ν所屬的超邊的權(quán)重之和稱為ν的階(或度),記為;對于超邊e∈E,e所包含的頂點(diǎn)數(shù)稱為e的階(或度),記為δ(e)=|e|。因此:
分別用Dν、De、W表示頂點(diǎn)的度、超邊的度和超邊的權(quán)重所形成的對角矩陣,可分別表示為:
根據(jù)文獻(xiàn)[22]定義,非標(biāo)準(zhǔn)化超圖拉普拉斯矩陣為:
根據(jù)超邊的定義,允許包含任意數(shù)量的頂點(diǎn)。為了方便起見,本文采用在每條超邊中包含相同頂點(diǎn)個(gè)數(shù)的一致超圖。
本文在NTD 和超圖學(xué)習(xí)基礎(chǔ)上,提出張量數(shù)據(jù)超圖的構(gòu)造方法,并將超圖的正則化項(xiàng)引入NTD 目標(biāo)函數(shù)中,最后給出求解HGNTD 模型的有效算法。
為了構(gòu)造超圖,可以把數(shù)據(jù)集中的每個(gè)數(shù)據(jù)點(diǎn)看作超圖的頂點(diǎn),將當(dāng)前頂點(diǎn)和其最鄰近的頂點(diǎn)看作一條超邊,通過改變最鄰近半徑大小定義一組超邊。根據(jù)超圖的不同構(gòu)造方法可以生成大量超邊,使超圖更好地描述數(shù)據(jù)結(jié)構(gòu)。此外,超邊權(quán)重的選擇也很重要,目前最常用的加權(quán)方案有3 種:0-1 加權(quán)方案,熱核(Heat Kernel)加權(quán)方案和點(diǎn)乘加權(quán)方案。不同的加權(quán)方案適用于不同的應(yīng)用問題,如點(diǎn)乘權(quán)重通常適用于文本匹配問題,而熱核加權(quán)方案常用于處理圖像數(shù)據(jù)。
本文中采用的是熱核加權(quán)方案,基于給定的圖像空間鄰域構(gòu)造一個(gè)超圖G=(V,E,W)。首先,將Y={y1,y2,…,yN}中的每張圖像yi看作超圖的一個(gè)頂點(diǎn)νi。然后,以每個(gè)頂點(diǎn)νi作為空間區(qū)域的“質(zhì)心”節(jié)點(diǎn),并使用K-最鄰近(KNN)方法構(gòu)造相應(yīng)的超邊ei∈E,因此,超圖G由構(gòu)造在不同空間區(qū)域上的N個(gè)超邊組成?;谶@些超邊,通過式(2)獲得關(guān)聯(lián)矩陣最后,使用熱核加權(quán)方案,賦予每條超邊一個(gè)正權(quán)重[28],即:
根據(jù)上述超圖的構(gòu)造方法,每個(gè)頂點(diǎn)與至少一條超邊連接,并且每條超邊與權(quán)重相關(guān)聯(lián)。對角權(quán)重矩陣W∈RN×N由下式給出:
權(quán)重矩陣W的權(quán)值與兩點(diǎn)間的歐氏距離成反比。兩個(gè)點(diǎn)之間的歐氏距離越小,它們的相似性越高。因此,使用下式來刻畫低維數(shù)據(jù)的光滑性:
其中:Tr(·)表示矩陣的跡;LHyper是式(3)所定義的非標(biāo)準(zhǔn)化超圖G的超圖拉普拉斯矩陣。
將超圖正則化項(xiàng)式(4)加入到原始NTD 的目標(biāo)函數(shù)中,得到HGNTD 目標(biāo)函數(shù)如下:
其中:λ是一個(gè)非負(fù)參數(shù),用于平衡超圖正則化項(xiàng)和重構(gòu)誤差項(xiàng);LHyper是式(3)所定義的非標(biāo)準(zhǔn)化超圖G的超圖拉普拉斯矩陣。
采用拉格朗日乘子法,并考慮模-n展開形式,然后確定基于式(5)的拉格朗日函數(shù):
可將目標(biāo)函數(shù)重新寫為:
為了求解式(6),采用交替非負(fù)最小二乘迭代方法,即每次只更新核心張量或一個(gè)因子矩陣,同時(shí)固定其他因子矩陣。
2.3.1 因子矩陣A(n)(n≠N)更新
LHGNTD對于A(n),n≠N的偏導(dǎo)數(shù)為:
因此,得到以下更新規(guī)則:
其中:P+(ξ)=max(0,ξ)。
2.3.2 因子矩陣A(N)更新
求LHGNTD關(guān)于A(N)的偏導(dǎo)數(shù)為:
同理,由KKT 條件可以得到以下更新規(guī)則:
2.3.3 核張量S更新
基于式(5)采用拉格朗日乘子法,并考慮其向量化形式:
LHGNTD對于vec(S)的偏導(dǎo)數(shù)為:
同上,由KKT 條件從而得到以下更新規(guī)則:
根據(jù)以上分析,給出本文算法。
定理1若≥0(n∈N),vec(S)≥0,則目標(biāo)函數(shù)式(5)在更新迭代規(guī)則式(7)、式(8)和式(9)下是非增的。
為證明該定理,首先引入輔助函數(shù)的定義:
定義1若G(x,x′)滿足G(x,x)=F(x),G(x,x′) ≥F()x,則G(x,x′)是F(x)的輔助函數(shù)[29]。
引理1若G(x,x′)是F(x)的輔助函數(shù),則F(x)在更新迭代規(guī)則[29]:
下是非增的。
證明根據(jù)定義1 和更新迭代規(guī)則式(10),有:
為證明目標(biāo)函數(shù)式(5)在更新規(guī)則式(7)下是非增的,先構(gòu)造關(guān)于矩陣A(n)的(i,j)元素的輔助函數(shù)。對固定的行列指標(biāo)(i,j),令A(yù)(n)(x)是通過將矩陣A(n)的(i,j)元素替換為變量x,其余元素不變得到的矩陣函數(shù)。
引理2函數(shù):
是Fij(x)的輔助函數(shù),其中:
因?yàn)椋?/p>
由定理1 知算法1 是局部收斂的。
現(xiàn)實(shí)中的高維圖像數(shù)據(jù)依據(jù)人們能否獲得先驗(yàn)信息可以分成兩類:一類是可以通過人工標(biāo)記或可以直接獲得先驗(yàn)標(biāo)簽信息的數(shù)據(jù);另一類是沒有任何類別標(biāo)簽信息的數(shù)據(jù)。
圖像數(shù)據(jù)分析與處理的方法分為有標(biāo)簽數(shù)據(jù)的圖像分類和無標(biāo)簽數(shù)據(jù)的圖像聚類。它們的區(qū)別是:分類是事先定義好類別,類別數(shù)不變。分類器需要由人工標(biāo)注的分類訓(xùn)練語料訓(xùn)練得到,屬于有監(jiān)督學(xué)習(xí)。而聚類是沒有事先規(guī)定類別,類別數(shù)不確定。聚類不需要人工標(biāo)注和預(yù)先訓(xùn)練分類器,類別在聚類過程中自動(dòng)生成,屬于無監(jiān)督學(xué)習(xí)。
本文進(jìn)行的是無監(jiān)督的聚類實(shí)驗(yàn),因此無需訓(xùn)練集和測試集,數(shù)據(jù)集的標(biāo)簽只用于和聚類實(shí)驗(yàn)結(jié)果進(jìn)行對比。
為驗(yàn)證本文算法的有效性,選擇如下代表性算法進(jìn)行比較:NMF[5],GNMF[14],NTD[18],GNTD[21]和K-means[30]。本文分別在兩個(gè)常用公開的數(shù)據(jù)集Yale 和COIL-100 上進(jìn)行聚類實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為:Matlab 2019a,Intel?Core(TM)i5-7500 CPU@3.40 GHz,3.41 GHz 處理器,8.00 GB 內(nèi)存,64 位的Win10 操作系統(tǒng)。
實(shí)驗(yàn)中所使用數(shù)據(jù)集如下:
1)Yale。該數(shù)據(jù)集是由耶魯大學(xué)計(jì)算視覺與控制中心創(chuàng)建,包含15 位志愿者,每個(gè)采集志愿者包含光照、表情和姿態(tài)的變化以及遮擋臉部(不戴眼鏡、戴普通眼睛和戴墨鏡)狀態(tài)下的11 張樣本,總共有165 幅分辨率為100×100 像素的人臉圖像。在實(shí)驗(yàn)中,Yale 數(shù)據(jù)集的所有圖像都被調(diào)整為32×32 像素的大小,Yale 數(shù)據(jù)集的部分圖片如圖2 所示。
圖2 Yale 數(shù)據(jù)集的部分圖片F(xiàn)ig.2 Some images of Yale dataset
2)COIL-100。該數(shù)據(jù)集是哥倫比亞大學(xué)采集的(COIL-100)圖像數(shù)據(jù)集。COIL-100 由7 200 幅尺寸為128×128 像素的彩色圖像組成,包含100 個(gè)目標(biāo),每個(gè)目標(biāo)有72 幅不同角度的圖像。在實(shí)驗(yàn)中,每個(gè)彩色圖像被調(diào)整為大小32×32 像素的灰度圖像。COIL-100 數(shù)據(jù)集的部分圖片如圖3 所示。
圖3 COIL-100 數(shù)據(jù)集的部分圖片F(xiàn)ig.3 Some images of COIL-100 dataset
傳統(tǒng)的非負(fù)矩陣分解方法將每幅圖像向量化后構(gòu)成相應(yīng)的1 024×165 和1 024×7 200 的矩陣再做分解,破壞了圖像像素幾何結(jié)構(gòu)關(guān)系。非負(fù)張量分解方法直接對32×32×11K和32×32×72K(其中K是簇?cái)?shù))兩個(gè)張量進(jìn)行分解,不會(huì)破壞圖像原有的結(jié)構(gòu)。
為評估聚類效果,使用兩個(gè)流行的評估指標(biāo)來評估聚類效果:一種度量標(biāo)準(zhǔn)是聚類準(zhǔn)確度(Accuracy);另一種度量標(biāo)準(zhǔn)是歸一化互信息(Normalized Mutual Information,NMI)。
聚類準(zhǔn)確度(Accuracy,ACC)定義如下[31]:
其中:Ci是真實(shí)類標(biāo)簽集合是算法得到的聚類標(biāo)簽集合;n是數(shù)據(jù)樣本總數(shù);δ(x,y)是一個(gè)kronecker函數(shù),如果x=y,則δ(x,y)=1,否則δ(x,y)=0,并且map)是將每個(gè)聚類標(biāo)簽映射到真實(shí)類標(biāo)簽集Ci中等效標(biāo)簽的映射函數(shù)。為得到最佳映射,通常使用Kuhn-Munkres 算法。
為驗(yàn)證本文所提算法的有效性,將HGNTD 分別與NMF[5]、GNMF[14]、NTD[18]、GNTD[21]和k-means[30]算法進(jìn)行比較,具體參數(shù)如下:
1)基于NMF 算法的聚類。目標(biāo)函數(shù)中距離使用Frobenius 范數(shù)度量,基矩陣的行數(shù)r=10,即低維子空間的維數(shù)為r。
2)基于GNMF 算法的聚類。目標(biāo)函數(shù)中距離使用Frobenius 范數(shù)度量,并采用熱核(Heat Kernel)加權(quán)方案,使用k-最鄰近方法構(gòu)造權(quán)重矩陣W,其中k=3,圖的正則化參數(shù)λ取0.5。
3)基于NTD 算法的聚類。目標(biāo)函數(shù)中距離使用Frobenius范數(shù)度量,核張量的規(guī)模為
4)基于GNTD 算法的聚類。目標(biāo)函數(shù)中距離使用Frobenius 范數(shù)度量,核張量的規(guī)模同NTD 算法。采用熱核加權(quán)方案,GNTD 的其他參數(shù)設(shè)置與GNMF 的設(shè)置相同。
5)基于HGNTD 算法的聚類。目標(biāo)函數(shù)中使用Frobenius 范數(shù)度量距離。核張量的規(guī)模同NTD 算法。采用熱核加權(quán)方案,使用k-最鄰近方法構(gòu)造權(quán)重矩陣W,其中k=3,超圖正則化參數(shù)λ=0.5。
具體實(shí)驗(yàn)步驟如下:
1)為使實(shí)驗(yàn)更具有說服力,對聚類實(shí)驗(yàn)配置進(jìn)行隨機(jī)化處理,即在不同的類別個(gè)數(shù)進(jìn)行聚類實(shí)驗(yàn)。每次隨機(jī)選擇數(shù)據(jù)庫中K個(gè)類別(COIL-100:K=2,4,…,20;Yale:K=3,5,…,15)。
2)對于k-means 算法,作為一種基線(Baseline)算法,只在原始數(shù)據(jù)空間中進(jìn)行聚類。對于NMF、GNMF、NTD、GNTD 和HGNTD 算法,在進(jìn)行分解后,可以得到各個(gè)對比算法對應(yīng)的低維子空間表示,那么聚類則在這些低維子空間中進(jìn)行。然后,再將k-means 應(yīng)用于這些重構(gòu)表征上進(jìn)行聚類。
3)計(jì)算兩個(gè)聚類指標(biāo)精度(ACC)和歸一化互信息(NMI)。
4)重復(fù)上述步驟20 次,并記錄各個(gè)聚類算法的平均性能以及上下偏差情況。
Yale 數(shù)據(jù)集的聚類準(zhǔn)確度和歸一化互信息的結(jié)果如表2、表3 所示,COIL-100 數(shù)據(jù)集的聚類準(zhǔn)確度和歸一化互信息的結(jié)果如表4、表5 所示,其中粗體為最優(yōu)值。
表2 Yale 數(shù)據(jù)集聚類準(zhǔn)確度Table 2 Clustering accuracy of Yale dataset %
表3 Yale 數(shù)據(jù)集聚類歸一化互信息Table 3 Clustering normalized mutual information of Yale dataset %
表4 COIL-100 數(shù)據(jù)集聚類準(zhǔn)確度Table 4 Clustering accuracy of COIL-100 dataset %
表5 COIL-100 數(shù)據(jù)集聚類歸一化互信息Table 5 Clustering normalized mutual information of COIL-100 dataset %
從表2~表5 可以看出:在保留幾何信息和內(nèi)部結(jié)構(gòu)的情況下,HGNTD 與NMF、GNMF、NTD、GNTD 和k-means 算法相比,聚類性能更好。本文方法比其他方法的聚類準(zhǔn)確度提升了8.6~11.4%,歸一化互信息提升了2.0~7.5%,這也表明本文提出算法對圖像聚類是有效的。
表6、表7 給出Yale 數(shù)據(jù)集上NMF、GNMF、NTD、GNTD 和HGNTD 算法分別在維數(shù)r=4 和r=5下的對比結(jié)果,其中粗體為最優(yōu)值。
表6 Yale 數(shù)據(jù)集上不同算法的聚類準(zhǔn)確度Table 6 Clustering accuracy of different algorithms on Yale dataset %
表7 Yale 數(shù)據(jù)集上不同算法聚類歸一化互信息Table 7 Clustering normalized mutual information of different algorithms on Yale dataset %
由表6、表7 可以看出:在不同維數(shù)下,本文算法的聚類結(jié)果要比其他算法的聚類結(jié)果更好。
圖4 所示為NMF、GNMF、NTD、GNTD 和HGNTD 算法在Yale 數(shù)據(jù)集上的人臉重構(gòu)效果,分別給出在Yale 數(shù)據(jù)集上的部分圖像,其中,第1 行為原始圖像,第2 行~第6 行分別為HGNTD 算法、GNTD算法、GNTD 算法、GNMF 算 法和NMF 算法的樣本重構(gòu)圖像。其中,HGNTD 算法的重構(gòu)圖像比其他算法下的樣本重構(gòu)圖像更加清晰,復(fù)原效果更好。
圖4 Yale 數(shù)據(jù)集部分樣本重構(gòu)圖像Fig.4 Reconstructed images from partial samples of Yale dataset
本文提出一種基于超圖正則化非負(fù)Tucker 分解算法(HGNTD)。利用k-最鄰近方法構(gòu)造超圖,將超圖正則項(xiàng)添加到非負(fù)Tucker 分解中,建立基于超圖正則化非負(fù)Tucker 分解模型,基于交替非負(fù)最小二乘法算法,給出超圖正則化非負(fù)Tucker 分解算法求解此模型,并證明算法是收斂的。在公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與k-means、NMF、GNMF、NTD、GNTD 等算法相比,該算法具有更好的聚類效果。由于在本文實(shí)驗(yàn)中發(fā)現(xiàn)圖像只需少數(shù)基底表示即可,因此下一步將繼續(xù)對基于稀疏約束的超圖正則化非負(fù)張量分解算法進(jìn)行研究,以提高模型的適用性。