當前位置:首頁 » 服務存儲 » 低秩數據存儲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

低秩數據存儲

發布時間: 2022-07-14 19:05:04

❶ 矩陣低秩的意義

我知道在線性代數中要學習有一個是矩陣低秩,在這個公式中一個矩陣A的列秩是A的線性獨立的縱列的極大數。通常表示為r(A),rk(A)或rankA。


矩陣的秩

先來看下線性代數中的「秩」的概念,有如下方程:

考慮到同一人臉的多幅圖像,我們將每幅圖像編碼為列向量,然後將這些列排列成矩陣。這個矩陣應該是低秩矩陣,因為每個圖像在同一位置(x,y)上的像素值應該相似。當雜訊發生時,矩陣變得充滿秩。在這一點上,我們可以通過低秩分解得到低秩矩陣和雜訊矩陣。

總結:這樣的應用在某些恢復方面有很大幫助。

❷ 矩陣補全的經典演算法有哪些

簡單科普一下這個問題,最早這個問題火起來是因為Netflix公司的公開挑戰:懸賞100萬美金給予能夠improve公司現行的matrix completion演算法10%以上的最優勝隊伍。最後的結果是09年9月BellKor』s
Pragmatic拿走了獎金。當時比賽的網址:Netflix Prize: Home

我們先看看什麼是matrix completion問題,就用Netflix的dataset來說明。簡單來說就是在一個豆瓣電影評分系統做inference,要根據非常稀疏的現有數據集(一個用戶可能就只rate了幾十部電影)來推斷整個用戶群對不同電影的評分。見下圖,480000 x 18000規模的matrix completion(各位可以算算光存儲這個矩陣就需要多少GB)。

這個問題在推薦系統、圖像處理等方面都有廣泛的運用。接著,這類問題一般來說都有隱含的假設即最終的矩陣應該是低秩(low rank)的。這其實也很好理解,因為我們一般會覺得:1、不同用戶對於電影的偏好可以分成聚落(cliques),即最多也就是這么幾大類的用戶,比如按照年齡:年輕人,中年人,老年人...,而電影因為也可以分成不同的題材(genres),戰爭片,魔幻片,言情片...所以會有low rank的特性。簡單來說,就是這個矩陣的行和列會有「合作」的特性,這也是這個問題的別名collaborative filtering得名的原因。另外,low rank限制下的matrix completion也會比較實用,因為一般人都會喜歡稀疏(sparse)的解,這樣利於存儲且有更好的詮釋性。最後則是理論上的意義,更利於reconstruction,這點先隱去不表(下圖有幾篇paper可以refer)。當然我們注意到,data是會有noise的(有些用戶可能會亂填rating...)。這段總結如下圖。
好了,那麼這個問題的數學形式其實非常簡潔。Z是我們要complete的矩陣,X則是現有的data(大部分缺失)。我們希望找到一個和X不缺失部分差距盡量小的rank最小的矩陣。
然而問題來了:1、這個問題是非凸的,所以可能有一大堆local minimum因此沒有什麼現成的efficient的辦法(NP-hard, of course)。2、這種問題一般的應用規模都非常大(比如上述的netflix問題規模是10^5 x 10^4),需要考慮很多數值方面的trick才能讓演算法比較實際。

最早人們用一些啟發式演算法如下圖。即局部讓user對item做迭代(vote)最後演算法收斂到一個局部最優解。
矩陣P就是最後的ouput。至於裡面那個weight就是見仁見智了,如下圖可以取各種,反正是啟發式演算法...
顯然,這些演算法雖然很容易實現,但沒有理論上的收斂性保證,也沒有對rank的考慮,也絕無可能滿足像Netflix這種公司對解的精度的需求(對那種規模的問題這些演算法的表現可能會驚人的差)。所以,我們需要一些更好的方法。這里我不詳述BellKor的解法,因為他的解法實質上是一堆解法的組合。只是指出,他們的方法主要是基於matrix factorization,如下圖。

核心想法是把Z作low rank factorization(有一些比較有效的演算法,比如regularized SVD,但具體implementation detail水其實很深)然後解這個reformulate之後的優化問題。

另外一種方法是對原問題作convex relaxation,即把原問題的目標函數rank(Z)換成Z的nuclear norm(定義不清楚的可查Matrix norm)
不過我們發現這兩種reformulation仍然有太過於rigid或者無法控制noise的缺陷,所以最後簡單介紹一下這篇工作:http://www.jmlr.org/papers/v11/mazumder10a.html 思路是把那個constraint alize來做。
為了快速解這個問題我們也需要考慮合理利用每步的SVD做很多fast subroutine,具體也不展開。

哦對了,以上這些圖大多是我research advisor課件里的,最後一篇是他當phd時候的一篇很不錯的paper...

❸ 正定矩陣因子分解法(PMF)

3.2.4.1 方法建立

就全國范圍而言,我國地下水質量總體較好,根據國家《地下水質量標准》(GB/T 14848—93),我國63%的地區地下水可直接飲用,17%經適當處理後可供飲用,12%不宜飲用,剩餘8%為天然的鹹水和鹽水,由此可見,不宜飲用的地下水和天然鹹水、鹽水佔到了20%,對於這些地下水型水源地飲用水指標並不一定受到污染而存在超標現象,其水質可能受到地下水形成演化影響更為明顯,因此,考慮選擇反映地下水形成、演化的地下水水化學類型常規指標,進行影響因素解析。地下水水質指標在取樣與分析過程中,由於取樣和樣品處理、試劑和水純度、儀器量度和儀器潔凈、採用的分析方法、測定過程以及數據處理等過程均會產生測量誤差(系統誤差,隨機誤差,過失誤差)。從取樣到分析結果計算誤差都絕對存在,雖然在各個過程中進行質量控制,但無法完全消除不確定性的影響,為確保分析結果的可靠性,採用PMF法對地下水水質指標考慮一定的不確定性誤差,使分析數據能夠准確地反映實際情況。

PMF(Positive Matrix Factorization)與主成分分析(PCA)、因子分析(FA)都是利用矩陣分解來解決實際問題的分析方法,在這些方法中,原始的大矩陣被近似分解為低秩的V=WH形式。但PMF與PCA和FA不同,PCA、FA方法中因子W和H中的元素可為正或負,即使輸入的初始矩陣元素全是正的,傳統的秩削減演算法也不能保證原始數據的非負性。在數學上,從計算的觀點看,分解結果中存在負值是正確的,但負值元素在實際問題中往往是沒有意義的。PMF是在矩陣中所有元素均為非負數約束條件之下的矩陣分解方法,在求解過程中對因子載荷和因子得分均做非負約束,避免矩陣分解的結果中出現負值,使得因子載荷和因子得分具有可解釋性和明確的物理意義。PMF使用最小二乘方法進行迭代運算,能夠同時確定污染源譜和貢獻,不需要轉換就可以直接與原始數據矩陣作比較,分解矩陣中元素非負,使得分析的結果明確而易於解釋,可以利用不確定性對數據質量進行優化,是美國國家環保局(EPA)推薦的源解析工具。

3.2.4.2 技術原理

PMF:模型是一種基於因子分析的方法,具有不需要測量源指紋譜、分解矩陣中元素非負、可以利用數據標准偏差來進行優化等優點。目前PMF模型此方法成功用於大氣氣溶膠、土壤和沉積物中持久性有毒物質的源解析,已有成熟的應用模型 PMF1.1,PMF2.0,PMF3.0等。PMF模型基本方程為:

Xnm=GnpFpm+E (3.7)

式中:n——取樣點數;

m——各取樣點測試的成分數量;

p——污染源個數;

Xnm——取樣點各成分含量;

Gnp——主要源的貢獻率;

Fpm——源指紋圖譜。

基本計算過程如下:

1)樣品數據無量綱化,無量綱化後的樣品數據矩陣用D表示。

2)協方差矩陣求解,為計算特徵值和特徵向量,可先求得樣品數據的協方差矩陣,用D′為D的轉置,演算法為:

Z=DD′ (3.8)

3)特徵值及特徵向量求解,用雅各布方法可求得協方差矩陣Z的特徵值矩陣E和特徵向量矩陣Q,Q′表示Q的轉置。這時,協方差矩陣可表示為:

Z=QEQ′ (3.9)

4)主要污染源數求解,為使高維變數空間降維後能盡可能保留原來指標信息,利用累計方差貢獻率提取顯著性因子,判斷條件為:

地下水型飲用水水源地保護與管理:以吳忠市金積水源地為例

式中:n——顯著性因子個數;

m——污染物個數;

λ——特徵值。

5)因子載荷矩陣求解,提取顯著性因子後,利用求解得到的特徵值矩陣E和特徵向量矩陣Q進一步求得因子載荷矩陣S和因子得分矩陣C,這時,因子載荷矩陣可表示為:

S=QE1/2 (3.11)

因子得分矩陣可表示為:

C=(S′S)-1S′D (3.12)

6)非負約束旋轉,由步驟5求得的因子載荷矩陣S和因子得分矩陣C分別對應主要污染源指紋圖譜和主要污染源貢獻,為解決其值可能為負的現象,需要做非負約束的旋轉。

7)首先利用轉換矩陣T1對步驟5求得的因子載荷矩陣S和因子得分矩陣C按下式進行旋轉:

地下水型飲用水水源地保護與管理:以吳忠市金積水源地為例

C1=T1C (3.14)

式中:S1——旋轉後的因子載荷矩陣;

C1——旋轉後的因子得分矩陣;

T1——轉換矩陣,且T1=(CC′)(CC′)-1(其中:C為把C中的負值替換為零後的因子得分矩陣)。

8)利用步驟7中旋轉得到的因子載荷矩陣S1構建轉換矩陣T2對步驟5中旋轉得到的因子載荷矩陣S1和因子得分矩陣C1繼續旋轉:

S2=S1T2 (3.15)

地下水型飲用水水源地保護與管理:以吳忠市金積水源地為例

式中:S2——二次旋轉後的因子載荷矩陣;

C2——二次旋轉後的因子得分矩陣;

T2——二次轉換矩陣,且T2=(S′1+S1-1(S′1+

)(其中:

為S1中的負值換為零後的因子載荷矩陣)。

9):重復步驟7、8,直到因子載荷中負值的平方和小於某一設定的誤差精度e而終止,最終得到符合要求的因子載荷矩陣S,即主要污染源指紋圖譜。

3.2.4.3 方法流程

針對受體采樣數據直接進行矩陣分解,得到各污染源組分及其貢獻率的統計方法(圖3.5)。

圖3.5 方法流程圖

(1)缺失值處理

正定矩陣因子分析是基於多元統計的分析方法,對數據有效性具有一定的要求,因此在進行分析之前首先對數據進行預處理。根據已有數據的特徵結合實際情況主要有以下5種處理方法。

1)采樣數據量充足的情況下直接丟棄含缺失數據的記錄。

2)存在部分缺失值情況下用全局變數或屬性的平均值來代替所有缺失數據。把全局變數或是平均值看作屬性的一個新值。

3)先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。

4)採用預測模型來預測每一個缺失數據。用已有數據作為訓練樣本來建立預測模型,如神經網路模型預測缺失數據。該方法最大限度地利用已知的相關數據,是比較流行的缺失數據處理技術。

5)對低於數據檢測限的數據可用數據檢測限值或1/2檢測限以及更小比例檢測限值代替。

(2)不確定性處理

計算數據不確定性。

地下水型飲用水水源地保護與管理:以吳忠市金積水源地為例

式中:s——誤差百分數;

c——指標濃度值;

l——因子數據檢出限。

(3)數據合理性分析

本研究所用數據在放入模型前以信噪比S/N(Signal to Noise)作為標准進行篩選,信噪比S/N為:

地下水型飲用水水源地保護與管理:以吳忠市金積水源地為例

式中:xij——第i采樣點第j個樣品的濃度;

sij——第i采樣點第j個樣品的標准偏差。

信噪比小,說明樣品的雜訊大,信噪比越大則表示樣品檢出的可能性越大,越適合模型。

(4)數據輸入及因子分析

與其他因子分析方法一樣,PMF不能直接確定因子數目。確定因子數目的一般方法是嘗試多次運行軟體,根據分析結果和誤差,Q值以及改變因子數目時Q值的相對變化等來確定合理的因子數目。

3.2.4.4 適用范圍

PMF對污染源和貢獻施加了非負限制,並考慮了原始數據的不確定性,對數據偏差進行了校正,使結果更具有科學的解釋。PMF使用最小二乘方法,得到的污染源不需要轉換就可以直接與原始數據矩陣作比較,PMF方法能夠同時確定污染源和貢獻,而不需要事先知道源成分譜。適用於水文地質條件簡單,觀測數據量較大,污染源和污染種類相對較少的地區,運用簡便,可應用分析軟體進行計算。

3.2.4.5 NMF 源解析

NMF在實現上較PMF演算法簡單易行,非負矩陣分解根據目的的不同大致可以分為兩種:一是在保證數據某些性質的基礎上,將高維空間的樣本點映射到某個低維空間上,除去一些不重要的細節,獲得原數據的本質信息;二是在從復雜混亂的系統中得到混合前的獨立信息的種類和強度。因此,基於非負矩陣分解過程應用領域的不同,分解過程所受的約束和需要保留的性質都不相同。本書嘗試性地將NMF演算法應用於水質影響因素的分離計算中(表3.2)。

表3.2 RMF矩陣分解權值表

依照非負矩陣分解理論的數學模型,尋找到一個分解過程V≈WH,使WH和V無限逼近,即盡可能縮小二者的誤差。在確保逼近的效果,定義一個相應的衡量標准,這個衡量標准就叫作目標函數。目標函數一般採用歐氏距離和散度偏差來表示。在迭代過程中,採用不同的方法對矩陣W和H進行初始化,得到的結果也會不同,演算法的性能主要取決於如何對矩陣W和H進行初始化。傳統的非負矩陣演算法在對矩陣W和H賦初值時採用隨機方法,這樣做雖然簡單並且容易實現,但實驗的可重復性以及演算法的收斂速度是無法用隨機初始化的方法來控制的,所以這種方法並不理想。許多學者提出改進W和H的初始化方法,並發展出專用性比較強的形式眾多的矩陣分解演算法,主要有以下幾種:局部非負矩陣分解(Local Non-negative Matrix Factorization,LNMF)、加權非負矩陣分解(Weighted Non-negative Matrix Factorization,WNMF)、Fisher非負矩陣分解(Fisher Non-negative Matrix Factorization,FNMF)、稀疏非負矩陣分解(Sparse Non-negative Matrix Factorization,SNMF)、受限非負矩陣分解(Constrained Non-negative Matrix Factorization,CNMF)、非平滑非負矩陣分解(Non-smooth Non-negative Matrix Factorization,NSNMF)、稀疏受限非負矩陣分解(Nonnegative Matrix Factorization with Sparseness Constraints,NMF-SC)等理論方法,這些方法針對某一具體應用領域對NMF演算法進行了改進。

本書嘗試應用MATLAB工具箱中NNMF程序與改進的稀疏非負矩陣分解(SNMF)對研究區11項指標(同PMF數據)進行分解,得到各元素在綜合成分中的得分H,初始W0,H0採用隨機法取初值。r為分解的基向量個數,合適的r取值主要根據試演算法確定,改變r值觀察誤差值變化情況,本書利用SMNF演算法計算時,r分別取2,3,4,採用均方誤差對迭代結果效果進行評價,結果顯示當r取2,4時誤差值為0.034,取3時誤差值為0.016,因此r=3是較合理的基向量個數。採用NNMF演算法進行計算時,利用MATLAB工具箱提供的兩種計演算法分別進行計算,乘性法則(Multiplicative Update Algorithm)計算結果誤差項比最小二乘法(Alternating Least-squares Algorithm)計算誤差值小且穩定,但總體NNMF計算誤差較大,改變初始W0,H0取值和增加迭代次數誤差均未明顯減小,調整r取值,隨著r值的增大誤差逐漸減小。

對比SNMF和NNMF演算法所得權值結果,兩種方法所得權值趨勢一致,但得分值有所不同,由於SNMF演算法對矩陣進行了稀疏性約束,計算結果中較小的權值更趨近於0,兩次結果中在三個基向量上總體權值較大的元素項為T-Hard、

、Mg2+、Ca2+

,從盲源分離的角度來看該幾種元素對地下水具有較大的影響,但從地下水水質影響因素來看,該方法對數據的分析偏重於突出局部數據的特徵,在各因素相關性較大但含量不高的情況下,容易忽略了關鍵的影響因素。從權值得分來看,SNMF法解析的第一個基向量上的元素包括EC、T-Hard、NH4—N、

、TDS;第二基向量主要有Na+、Mg2+、Cl-;第三個基向量

、Ca2+,從結果可以看出該方法進行矩陣分解並未得到可合理解釋的源項結果,方法有待進一步研究及驗證。

❹ 什麼是矩陣低秩逼近

矩陣低秩逼近就是對一個一般來說很大規模的矩陣,希望用一個秩比較低的矩陣。
矩陣:構成動態平衡的循環體系。
例子:可以把能量循環體系視為矩陣。聚能/平衡效應。人體可以視為矩陣,地球可以比喻視為矩陣,宇宙也比喻的視為矩陣。
在數學中,矩陣(Matrix)是指縱橫排列的二維數據表格,最早來自於方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。
矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和准對角矩陣,有特定的快速運算演算法。關於矩陣相關理論的發展和應用,請參考矩陣理論。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。

❺ positive+matrix+factorization+數據前處理

摘要 positive+matrix+factorization+,也就是常說的PMF。在環境領域中做污染源識別的比較多,在數據處理中PMF與PCA-MLR兩者一般都可以接受。

❻ 矩陣論中low-rank matrix是什麼東西呢

low-rank matrix是低秩矩陣。
矩陣的秩,需要引入矩陣的SVD分解:X=USV',U,V正交陣,S是對角陣。如果是完全SVD分解的話,那S對角線上非零元的個數就是這個矩陣的秩了(這些對角線元素叫做奇異值),還有些零元,這些零元對秩沒有貢獻。
1.
把矩陣當做樣本集合,每一行(或每一列,這個無所謂)是一個樣本,那麼矩陣的秩就是這些樣本所張成的線性子空間維數。如果矩陣秩遠小於樣本維數(即矩陣列數),那麼這些樣本相當於只生活在外圍空間中的一個低維子空間,這樣就能實施降維操作。舉個例子,同一個人在不同光照下採得的正臉圖像,假設每一張都是
192x168的,且採集了50張,那構成的數據矩陣就為50行192x168列的,但是如果你做SVD分解就會發現,大概只有前10個奇異值比較大,其
他的奇異值都接近零,因此實際上可以將接近零的奇異值所對應的那些維度丟掉,只保留前10個奇異值對應的子空間,從而將數據降維到10維的子空間了。
2.
把矩陣當做一個映射,既然是映射,那就得考慮它作用在向量x上的效果Ax。注意Ax相當於A的列的某個線性組合,如果矩陣是低秩的,這意味著這些列所張成
的空間是外圍空間的一個低維子空間,這個空間由Ax表達(其中x任意)。換句話說,這個矩陣把R^n空間映射到R^m空間,但是其映射的像只在R^m空間
的一個低維子空間內生活。從SVD理解的話,Ax=USV'x,因此有三個變換:第一是V'x,相當於在原始的R^n空間旋轉了一下坐標軸,這樣只是坐標
的變化,不改變向量本身(例如長度不變);第二是S(V'x),這相當於沿著各個坐標軸做拉伸,並且如果S的對角線上某些元素為零,那麼這些元素所對應的
那些坐標軸就相當於直接丟掉了;最後再U(SV'x),還是一個坐標軸旋轉。總的來看,Ax就相當於把一個向量x沿著某些特定的方向做不同程度的拉伸(附帶上一些不關乎本質的旋轉),甚至丟棄,那些沒被丟棄的方向個數就是秩了。

❼ 矩陣補全的經典演算法有哪些

簡單科普一下這個問題,最早這個問題火起來是因為Netflix公司的公開挑戰:懸賞100萬美金給予能夠improve公司現行的matrix completion演算法10%以上的最優勝隊伍。最後的結果是09年9月BellKor』s
Pragmatic拿走了獎金。當時比賽的網址:Netflix Prize: Home
我們先看看什麼是matrix completion問題,就用Netflix的dataset來說明。簡單來說就是在一個豆瓣電影評分系統做inference,要根據非常稀疏的現有數據集(一個用戶可能就只rate了幾十部電影)來推斷整個用戶群對不同電影的評分。見下圖,480000 x 18000規模的matrix completion(各位可以算算光存儲這個矩陣就需要多少GB)。
這個問題在推薦系統、圖像處理等方面都有廣泛的運用。接著,這類問題一般來說都有隱含的假設即最終的矩陣應該是低秩(low rank)的。這其實也很好理解,因為我們一般會覺得:1、不同用戶對於電影的偏好可以分成聚落(cliques),即最多也就是這么幾大類的用戶,比如按照年齡:年輕人,中年人,老年人...,而電影因為也可以分成不同的題材(genres),戰爭片,魔幻片,言情片...所以會有low rank的特性。簡單來說,就是這個矩陣的行和列會有「合作」的特性,這也是這個問題的別名collaborative filtering得名的原因。另外,low rank限制下的matrix completion也會比較實用,因為一般人都會喜歡稀疏(sparse)的解,這樣利於存儲且有更好的詮釋性。最後則是理論上的意義,更利於reconstruction,這點先隱去不表(下圖有幾篇paper可以refer)。當然我們注意到,data是會有noise的(有些用戶可能會亂填rating...)。這段總結如下圖。
好了,那麼這個問題的數學形式其實非常簡潔。Z是我們要complete的矩陣,X則是現有的data(大部分缺失)。我們希望找到一個和X不缺失部分差距盡量小的rank最小的矩陣。