基于低秩恢復的非負矩陣分解方法
【專利摘要】本發(fā)明屬于信息處理技術領域,具體涉及一種基于低秩恢復的非負矩陣分解方法,包括以下步驟:1】將原始數(shù)據庫中的每個圖像樣本均轉換為向量,構成m×n的原始數(shù)據矩陣X;m為圖像樣本的維數(shù),n為圖像樣本的個數(shù);2】對原始數(shù)據矩陣X進行低秩稀疏分解;2.1】設置低秩矩陣的秩為r,設置稀疏矩陣的稀疏度為k;2.2】采用雙邊隨機投影算法求解原始數(shù)據矩陣X的秩為r的低秩矩陣L和稀疏度為k的稀疏矩陣S;3】對步驟2】中求解得到的低秩矩陣L進行非負矩陣分解,得到基矩陣W和編碼矩陣H。本發(fā)明通過低秩稀疏分解得到數(shù)據低秩成分和稀疏成分,并對去除稀疏噪聲部分的低秩成分進行非負分解,從而使得非負分解結果免受噪聲的干擾。
【專利說明】
基于低秩恢復的非負矩陣分解方法
技術領域
[0001] 本發(fā)明屬于信息處理技術領域,具體涉及一種基于低秩恢復的非負矩陣分解方 法。
【背景技術】
[0002] 隨著信息化和互聯(lián)網的發(fā)展,高維數(shù)據在社會各領域不斷涌現(xiàn)??傮w來講,這些數(shù) 據或者是半結構的或者是無結構的,這使得構建這些數(shù)據的特征向量高達上萬維甚至更 高。數(shù)據維數(shù)的增加對大規(guī)模數(shù)據處理帶來了困難。非負矩陣分解時基于非監(jiān)督模式識別 的一個研究領域,旨在得到數(shù)據稀疏的、基于部分的低維數(shù)據表示。非負矩陣分解被廣泛應 用于數(shù)學、最優(yōu)化、神經計算、模式識別與機器學習、數(shù)據挖掘、圖像工程與計算機視覺等領 域,因此研究非負矩陣分解技術具有非常重要的意義與應用價值。非負矩陣分解技術建立 在對因子矩陣的非負約束的基礎上,通過非監(jiān)督的方法學習到原數(shù)據的低維表示以及其相 應的基矩陣,從而有利于后續(xù)相關應用中的處理。
[0003] 目前,非負矩陣分解方法主要分為三類:
[0004] -是基于稀疏約束或正交約束的方法,這種方法致力于通過對因子矩陣(即基矩 陣和編碼矩陣)施加稀疏或者正交約束來學習到更稀疏和局部化的數(shù)據表示。P.Hoyer在文 獻"Non-Negative Matrix Factorization with Sparseness Constraints,J.Machine Learning Research ,vol ? 5 ,no ? 9 ,pp ? 1457-1469,2004" 提出對編碼矩陣施加 LI范數(shù)約束的 非負矩陣分解方法,通過L1范數(shù)的稀疏約束來取得更稀疏的數(shù)據表示。S. Li等人在文獻 "Learning spatially localized,parts-based representation,in Proc.IEEE International Conference Computer Vision Pattern Recognition,pp?207-212,2001" 提出基于正交約束的非負矩陣分解方法,通過正交約束去除了基向量間的的冗余成分。
[0005] 二是基于判別信息的非負矩陣分解方法。這種方法的核心思想是利用標記樣本學 習出更具有判別性的低維數(shù)據表示。Y. Wang等人在文獻"Fisher Non-Negative Matrix Factorization for Learning Local Features,Proc?Asian Conference Computer Vision,pp. 27-30,2004"中提出了基于費舍爾判別準則的非負矩陣分解算法,通過引入費 舍爾判別準則來使得類內樣本分布更緊致,類間樣本分布更遠。J.Yang等人在文獻"Non-negative graph embedding,Proc.IEEE Int'l Conf.Computer Vision and Pattern Recognition,pp. 1-8,2008"中提出了基于圖嵌入的非負矩陣分解方法。該方法構建本質圖 和懲罰圖兩個圖結構,通過最小化本質圖和懲罰圖使類內樣本分布緊致,類間間隔更大。
[0006] 三是基于流形學習的非負矩陣分解方法。這種方法通過流行學習算法保持數(shù)據在 高維空間中的拓撲結構,從而考慮了數(shù)據的結構信息。D. Cai等人在文獻"Non-negative matrix factorization on manifold,IEEE Transaction Pattern Analysis Machine Intelligence, vo 1 ? 33 ,no ? 8,pp ? 1548-1560,2011"中提出了基于圖正則的非負矩陣分解算 法,通過最小化圖正則項來保持數(shù)據內部的幾何分布結構。Q. Gu等人在文獻"Neighborhood Preserving Nonnegative Matrix Factorization,Proc.20th British Machine Vision Conf.,2009"中提出基于局部線性嵌入的非負矩陣分解算法,假設數(shù)據的局部拓撲結構符 合局部線性嵌入假設。這兩種方法的不同就在于對于數(shù)據的局部拓撲結構的假設。
[0007] 以上三類方法雖然從不同的角度對非負矩陣分解進行了改進,但是,都沒有考慮 原數(shù)據本身可能包含的噪聲對非負分解帶來的不良影響。
【發(fā)明內容】
[0008] 為了解決非負分解容易受到噪聲干擾的技術問題,本發(fā)明提供一種基于低秩恢復 的非負矩陣分解方法。
[0009] 本發(fā)明的技術解決方案是:一種基于低秩恢復的非負矩陣分解方法,其特殊之處 在于:包括以下步驟:
[0010] 1】將原始數(shù)據庫中的每個圖像樣本均轉換為向量,構成mxn的原始數(shù)據矩陣X;m 為圖像樣本的維數(shù),n為圖像樣本的個數(shù);
[0011] 2】對原始數(shù)據矩陣X進行低秩稀疏分解;
[0012] 2.1】設置低秩矩陣的秩為r,設置稀疏矩陣的稀疏度為k;
[0013] 2.2】采用雙邊隨機投影算法求解原始數(shù)據矩陣X的秩為r的低秩矩陣L和稀疏度為 k的稀疏矩陣S;
[0014] 3】對步驟2】中求解得到的低秩矩陣L進行非負矩陣分解,得到基矩陣W和編碼矩陣 H〇
[0015] 上述步驟2.2】包括以下步驟:
[0016] 2.2.1】初始化低秩矩陣為Lo = X,初始化稀疏矩陣為So = 0,初始化迭代次數(shù)為t = 〇;設置重構相對誤差閾值e;
[0017] 2.2.2】計算\~ 其中,q為0或者正整數(shù);
[0018] 2.2.3】計算文的『雙邊隨機投影¥=_龍41和《二尤7'// 2:;.其中41是11\4勺隨機矩 陣,A^mXr的隨機矩陣;
[0019] 2 ? 2 ? 4】進行迭代更新:t = t+1: Z 二『(A - S,丨)(% - 丨)7']_7- S;丨),K = Z..4丨,A2 =Yi,72: = Lr}\ ,昊= £F2;
[0020] 2 ? 2 ? 5 】計算 Yi 和 Y2 的 QR 分解:Y2 = Q2R2,Yi = Qifo;
[0021] 2.2.6】更新低秩矩陣和稀疏矩陣:L, =0丨[/?丨丨兄n'^1也,St = Pfl(X-Lt);其中,表示將一個矩陣投影到元素集合Q ;
[0022] 2.2.7】計算重構誤差|X- ;判斷重構誤差是否小于重構相對誤差 閾值£,若重構誤差小于e則執(zhí)行步驟2.2.8】,若重構誤差大于或者等于e則執(zhí)行步驟 2.2.4】;
[0023] 2.2.8】得到低秩矩陣L = Lt和稀疏矩陣S = St。
[0024] 上述步驟3】包括以下步驟:
[0025] 3.1】將步驟2】中求得的低秩矩陣L中的非負元素賦值為0;
[0026] 3.2】初始化基矩陣Wo為mXl的隨機矩陣,初始化編碼矩陣Ho為lXn的隨機矩陣,初 始化迭代次數(shù)為t = 0;其中,1為樣本類個數(shù);設定迭代誤差限e';
[0027] 3.3】利用1(近鄰算法構建近鄰圖,計算圖拉普拉斯矩陣1^ = 0@-5@;其中;1)是對 稱的權重矩陣,Dap是對角矩陣,對角元素是S ap的列和;
[0028] 3.4】迭代求解基矩陣W和編碼矩陣H;
[0029] 3.4.1】計算_ ;其中a是圖正則參數(shù);
[0030] 3.4.2】計算 ,十 1:;其中,0是Tiknohov正則 參數(shù);
[0031 ] 3.4.3】計算非負矩陣分解重構誤差;若非負矩陣分解重構誤差大于或者等于迭代 誤差限"則執(zhí)行步驟3.4.1】;若非負矩陣分解重構誤差小于迭代誤差限e則執(zhí)行步驟 3.4.4】;
[0032] 3 ? 4 ? 4】得到基矩陣W=Wt' +1和編碼矩陣H=Ht' +1。
[0033 ]上述基于低秩恢復的非負矩陣分解方法還包括以下步驟:
[0034] 4】用k-means聚類算法對編碼矩陣H進行聚類;
[0035] 5】計算聚類結果評判指標聚類精度AC和歸一化互信息NMI:
[0039]其中,n是樣本集中的樣本個數(shù),gncU是已知的樣本標簽;
[0040] 5(£1,1:))是單位沖激函數(shù),當3 = 13時5(3,13) = 1,當£1辛13時5(3,13)=0;
[0041 ] map(Zi)是重標記函數(shù),Zi表示樣本i經過k-means聚類得到的聚類標簽;
[0042] C是數(shù)據庫提供的類標簽,C'是經過k-means聚類得到的類標簽;
[0043] p(Cl)表示隨機選取的樣本x屬于C中的Cl類的概率,p(c、)表示樣本x屬于中的 C/類的概率,P(Ci,C ' j )表示樣本X同時屬于Ci類和c/類的概率;
[0044] H(C)表示C的熵,H(C )表示C的熵。
[0045] 本發(fā)明的有益效果在于:本發(fā)明通過原數(shù)據矩陣的低秩稀疏分解得到數(shù)據低秩成 分和稀疏成分,并對去除稀疏噪聲部分的低秩成分進行非負分解,從而使得非負分解結果 免受噪聲的干擾。同時,在矩陣非負分解的同時考慮了數(shù)據內的幾何分布結構,以取得更好 的低維數(shù)據表示。最后,對降維的數(shù)據表示用k-means算法聚類,通過聚類結果的好壞判斷 得到的低維數(shù)據表示的優(yōu)劣。
【附圖說明】
[0046] 圖1為本發(fā)明較佳實施例的基于低秩恢復的非負矩陣分解流程圖。
【具體實施方式】
[0047] 參見圖1,本發(fā)明較佳實施例的實現(xiàn)步驟如下:
[0048] 步驟1,對原始數(shù)據矩陣進行低秩稀疏分解。
[0049] (la)將圖像樣本集中的每幅圖像拉成一個向量,共同構成mXn的原始數(shù)據矩陣X, m為每個樣本的維數(shù),n為樣本個數(shù);
[0050] (lb)初始化低秩矩陣為Lo = X,稀疏矩陣為So = 0,低秩矩陣的秩設置為r,稀疏矩陣 的稀疏度設置為k,重構相對誤差閾值£,迭代次數(shù)t = 0。
[0051] (lc)為了防止X的奇異值逐漸退化,從而導致基于雙邊投影的原數(shù)據矩陣X的秩為 r的低秩近似矩陣的逼近效果不好,采用冪修正方案,即計算的雙邊隨機投影 而不是X的雙邊隨機投影,這樣f的低秩近似矩陣為= "其中4=私,巧=亡4 是X的r雙邊隨機投影,AjPA2分別是nXr和mXr的隨機矩陣,q可調,q = 0則不采用該方案, 這里設置q = l。迭代更新:
[0052] t = t+l,£ = [(Z-^_1)(X-^1)r]9:(^-^ 1) , ^=f4?A2 = Yi^:= L'yr I^LY.r,
[0053] (Id)為了得到原數(shù)據矩陣X的秩為r的低秩近似,需要計算YjPY^QR分解即:
[0054] Y2 = Q2R2,Yi = QiRi
[0055] 然后如下更新低秩矩陣和稀疏矩陣:
[0056] 4 =01^(40-1埒f 2?+1,込,St = Pfi(X-Lt)
[0057] 其中,Pfl表示將一個矩陣投影到元素集合Q,即只保留X-Lt前k個元素。
[0058] (le)計算重構誤差:
[0060] 判斷是否小于閾值£,如果小于e則迭代停止;否則回到(lc)繼續(xù)迭代求解。
[0061] 步驟2,求解低秩恢復矩陣的非負分解。
[0062] (2a)對步驟1求得的低秩矩陣L進行非負投影,即將低秩矩陣L中的非負元素賦值 為〇;
[0063] (2b)初始化mXl的基矩陣Wo、lXn的編碼矩陣Ho為隨機矩陣,1為樣本類個數(shù),迭代 次數(shù)t' = 0;
[0064] (2c)利用K近鄰算法構建近鄰圖,并計算圖拉普拉斯矩陣Lap,其中,L ap = Dap-Sap, Sap表不對稱的權重矩陣,Dap是對角矩陣,對角兀素是Sap的列和(或者行和,因為Sap是對稱矩 陣);
[0065] (2d)為了保障基矩陣W的平滑性,對W施加 Tiknohov正則約束:
[0066]
[0067] (2e)迭代求解基矩陣W和編碼矩陣H,固定一個求另一個,具體操作如下:
[0068] 固定W更新H:
[0070] 固定H更新W:
[0072] 其中a為圖正則參數(shù),0是Tiknohov正則參數(shù),平衡圖正則項和Tiknohov正則項間 的權重。
[0073] (2f)計算非負矩陣分解重構誤差,如果小于誤差限則停止迭代;否則回到(2e)繼 續(xù)迭代。
[0074] 步驟3,聚類測試。
[0075]將編碼矩陣H作為原數(shù)據矩陣X的降維表示,用k-means聚類算法對新的樣本聚類 (編碼矩陣H每一列是原數(shù)據矩陣X每一列的一個降維表示);
[0076] 步驟4,計算聚類結果評判指標聚類精度AC和歸一化互信息NMI。
[0078]其中,n是樣本集中樣本個數(shù),gndi是事先已知的樣本標簽,單位沖激函數(shù)S(a,b) =1,當a = b;當a辛b其值為(LmapUi)是重標記函數(shù),可以將算法獲得的聚類標簽映射到樣 本集提供的標簽上。
[0080]其中p(ci)和p(c'j)分別表不隨機選取的樣本x屬于類C和C'的概率,p(ci,c'j)表 示樣本x同時屬于類C和C'的概率。
[0082]其中,H(C)和H(C')分別表示類C和C'的熵。匪I度量這兩個類別的相似性。為了避 免每次聚類結果的隨機性,因此統(tǒng)計100次聚類結果中精度排序前10的結果的平均。
[0083] 本發(fā)明的效果可以通過以下實驗做進一步的說明。
[0084] 1 ?仿真條件
[0085] 本發(fā)明是在中央處理器為Intel(R)Core i3-2130 3.4GHZ、內存 16G、WIND0WS 8操 作系統(tǒng)上,運用MATLAB軟件進行的仿真。
[0086] 實驗中使用的圖像數(shù)據庫為美國郵政系統(tǒng)手寫數(shù)字字符數(shù)據庫USPS和劍橋大學 人臉圖像數(shù)據庫ORLWSPS數(shù)字字符數(shù)據庫包括"0"到"9" 10個數(shù)字的9298張灰度圖像,每張 圖像大小為16 X 16,實驗中每類選擇100個樣本,共1000個數(shù)據樣本;0RL人臉數(shù)據庫包括40 個人的面部灰度圖像,每個人有10個圖像樣本,共400張圖像,每張圖像是大小是32X32,每 個人的圖像樣本具有不同的光照變化、表情變化以及面部細節(jié)。
[0087] 2.仿真內容
[0088]首先,在USPS數(shù)據庫和0RL數(shù)據庫上,完成本發(fā)明算法(基于低秩恢復的非負矩陣 分解)的實驗。為了證明算法的有效性,我們選取了 4個對比方法NMF、GNMF、k-mean s、PCA進 行比較。其中NMF是在文獻"D.D.Lee and H.S.Seung,Learning the parts of objects by nonnegative matrix factorization,Nature,vol ? 401,no ? 6755,pp ? 788-791,1999" 中提 出的。GNMF在 "D ? Cai,X? He,J? Han,and T . S.Huang,Graph regularized nonnegative matrix factorization for data representation,IEEE Trans.Pattern Analysis and Machine Intelligence,vol .33,no.8,pp. 1548-1560,2011" 中有詳細介紹。PCA是被廣泛應 用的數(shù)據降維算法。K-means是廣泛應用的聚類算法。
[0089]在USPS數(shù)據庫中隨機選取8類、9類、10類數(shù)字字符的圖像分別實驗;在0RL數(shù)據庫 中隨機選取30類、35類、40類人臉圖像分別實驗。用k-means算法對NMF、PCA、GNMF以及我們 提出的算法學習出的低維數(shù)據表示進行聚類,同時用k-means對非降維數(shù)據X進行聚類。每 種算法進行20次聚類實驗,并統(tǒng)計聚類結果的平均值。
[0090]在本發(fā)明實施例中對于USPS數(shù)據庫和0RL數(shù)據庫分別設置低秩矩陣的秩r為原數(shù) 據矩陣滿秩的9%和10%,即min(m,n) X9%和min(m,n) X 10%,稀疏矩陣的稀疏度k為原數(shù) 據矩陣規(guī)模的1%,即mXnXl%,對于USPS數(shù)據庫和0RL數(shù)據庫1分別取值8、9或10和30、35 或40,圖正則項的正則參數(shù)a = 100,Tiknohov正則參數(shù)0 = 0.0001,構建圖的近鄰個數(shù)為5。 [0091] 實驗測試結果如表1和表2所示。
[0092]表1 USPS數(shù)據庫上的聚類結果
[0094]表2 0RL數(shù)據庫上的聚類結果
[0096] 從表1,2可見,本發(fā)明的聚類效果比PCA、匪F和G匪F三種數(shù)據降維表示方法都要 好,同時比不經降維表示直接用k-means聚類的效果好。
【主權項】
1. 一種基于低秩恢復的非負矩陣分解方法,其特征在于:包括以下步驟: 1】將原始數(shù)據庫中的每個圖像樣本均轉換為向量,構成mXn的原始數(shù)據矩陣X;m為圖 像樣本的維數(shù),η為圖像樣本的個數(shù); 2】對原始數(shù)據矩陣X進行低秩稀疏分解; 2.1】設置低秩矩陣的秩為r,設置稀疏矩陣的稀疏度為k; 2.2】采用雙邊隨機投影算法求解原始數(shù)據矩陣X的秩為r的低秩矩陣L和稀疏度為k的 稀疏矩陣S; 3】對步驟2】中求解得到的低秩矩陣L進行非負矩陣分解,得到基矩陣W和編碼矩陣H。2. 根據權利要求1所述的基于低秩恢復的非負矩陣分解方法,其特征在于:所述步驟 2.2】包括以下步驟: 2.2.1】初始化低秩矩陣為L〇 = X,初始化稀疏矩陣為So = 0,初始化迭代次數(shù)為t = 0;設 置重構相對誤差閾值ε; 2.2.2】計算= (XT廣其中,q為〇或者正整數(shù); 2 ·2·3】計算f的r雙邊隨機投影$ = 二;其中,A^n Xr的隨機矩陣,A2 是mXr的隨機矩陣; 2.2.4】進行迭代更新:t = t+l,Z = [(A,-S,, 丨)7']^-·^),巧= /:4,A2 = Yi, Y2=Lt}\, ^ = ly2, 2 · 2 · 5 】計算 YjPY2 的 QR 分解:Y2 = Q2R2,Υ! = QxRi; 2.2.6】更新低秩矩陣和稀疏矩陣:,St = Pfi(X-Lt);其 中,Ρω表示將一個矩陣投影到元素集合Ω ; 2.2.7】計算重構誤差||χ-&判斷重構誤差是否小于重構相對誤差閾值 ε,若重構誤差小于ε則執(zhí)行步驟2.2.8】,若重構誤差大于或者等于ε則執(zhí)行步驟2.2.4】; 2.2.8】得到低秩矩陣L = Lt和稀疏矩陣S = St。3. 根據權利要求2所述的基于低秩恢復的非負矩陣分解方法,其特征在于:所述步驟3】 包括以下步驟: 3.1】將步驟2】中求得的低秩矩陣L中的非負元素賦值為0; 3.2】初始化基矩陣Wo為mX 1的隨機矩陣,初始化編碼矩陣Ho為1 X η的隨機矩陣,初始化 迭代次數(shù)為t = 0;其中,1為樣本類個數(shù);設定迭代誤差限ε'; 3.3】利用1(近鄰算法構建近鄰圖,計算圖拉普拉斯矩陣" =0@-5^其中;[)是對稱的 權重矩陣,Dap是對角矩陣,對角元素是Sap的列和; 3.4】迭代求解基矩陣W和編碼矩陣Η;3.4.3】計算非負矩陣分解重構誤差;若非負矩陣分解重構誤差大于或者等于迭代誤差 限^則執(zhí)行步驟3.4.1】;若非負矩陣分解重構誤差小于迭代誤差限ε則執(zhí)行步驟3.4.4】; 3.4.4】得到基矩陣W=Wt' +1和編碼矩陣H=Ht' +1。4.根據權利要求1-3中任一所述的基于低秩恢復的非負矩陣分解方法,其特征在于:還 包括以下步驟: 4】用k-means聚類算法對編碼矩陣Η進行聚類; 5】計算聚類結果評判指標聚類精度AC和歸一化互信息匪I:其中,η是樣本集中的樣本個數(shù),gncU是已知的樣本標簽; 5(&,13)是單位沖激函數(shù),當3 = 13時5(3,13) = 1,當£1辛13時5(3,13)=0; map (zi)是重標記函數(shù),zi表示樣本i經過k-means聚類得到的聚類標簽; C是數(shù)據庫提供的類標簽,是經過k-means聚類得到的類標簽; P(Ci)表示隨機選取的樣本X屬于C中的Ci類的概率,p(c'j)表示樣本X屬于中的c/類 的概率,P(Ci,C'j)表示樣本X同時屬于Ci類和c/類的概率; H(C)表示C的熵,H(C')表示的熵。
【文檔編號】G06F17/16GK105930308SQ201610230629
【公開日】2016年9月7日
【申請日】2016年4月14日
【發(fā)明人】李學龍, 董永生, 崔國盛
【申請人】中國科學院西安光學精密機械研究所