亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于并行化主成分分析算法的數據降維方法與流程

文檔序號:11775323閱讀:527來源:國知局
一種基于并行化主成分分析算法的數據降維方法與流程

本發(fā)明涉及高維數據線性降維技術,具體地涉及一種基于主成分分析算法的數據降維方法。



背景技術:

隨著網絡信息技術和移動互聯網的不斷發(fā)展,企業(yè)不同業(yè)務垂直領域的數據量越來越大,如何從這些數據中發(fā)掘出有價值的信息,為企業(yè)提供重要決策支撐,成為企業(yè)制勝的關鍵。這些數據往往具有兩個特點:一是數據規(guī)模大;二是數據的維數很高。大規(guī)模的高維數據給數據的傳輸、存儲以及數據模式的發(fā)掘提出了挑戰(zhàn),如何對大規(guī)模的高維數據進行高效的處理和有效的模式發(fā)掘顯得尤為重要。這些高維數據中各個維數之間通常具有某種聯系,過高的維數不僅造成了數據的冗余,也增大了數據處理的時間開銷,隱藏了數據的本質特征,因此研究一種數據降維方法具有重要的實際應用價值。

數據降維是將樣本從原始空間通過某種線性或非線性變換投影到一個低維的子空間,可發(fā)掘出隱藏在高維數據中的能解釋原始數據的低維結構,這種低維結構保持了原始數據的主要信息。典型的線性降維算法有主成分分析(pca)和線性判別分析(lda)。pca主要是把原始數據中線性相關的隨機變量轉換為幾個線性無關的新隨機變量,且保留了原始數據的主要信息。lda的目標是使得降維后的低維空間中,同類數據盡可能靠近,非同類數據盡可能的分離。相比于lda,pca的應用范圍更廣。線性降維算法由于具有完備的理論體系,且在各種應用中都表現出了良好的適用性,正在廣泛地應用于模式識別、統(tǒng)計學分析、數字圖像處理以及計算機視覺等領域。

傳統(tǒng)的單機主成分分析算法在進行數據降維時會存在以下缺點:1、計算機內存不足以放下整個大規(guī)模的待降維數據集,樣本數據集過大將限制后續(xù)對數據模式發(fā)掘的準確性,若只升級計算機硬件,當數據集的需求繼續(xù)增大時,將導致擴展性較差;2、即使單機計算機硬件滿足內存的需要,傳統(tǒng)的主成分分析需要多次遍歷數據樣本集,這時的磁盤i/o必將成為限制主成分分析效率的瓶頸,導致主成分分析計算效率較低。這兩個主要缺點限制了主成分分析在大規(guī)模高維數據降維技術領域的應用潛力。



技術實現要素:

本發(fā)明針對現有技術中的不足,提供一種利用mapreduce并行計算框架的主成分分析方法,解決傳統(tǒng)單機主成分分析算法的由于數據規(guī)模太大而無法一次加載到內存的問題,有利于減少i/o操作,提高數據降維的處理效率。

為實現上述目的,本發(fā)明的技術方案包括以下步驟:

s1:把待降維的高維數據構造成樣本數據矩陣dn×m;

s2:計算樣本數據矩陣dn×m的協(xié)方差矩陣cm×m;

s3:計算協(xié)方差矩陣cm×m的m個特征值和對應的m個特征向量;

s4:根據特征值和特征向量確定主成分數量k;

s5:利用前k大特征值對應的特征向量得出主成分矩陣。

其中,步驟s2進一步包括步驟:

s21:分配n個mapper;

s22:分配一個reducer,reducer的輸入是步驟s21中每個mapper的輸出結果;

s23:將步驟s22中reducer的匯總結果通過協(xié)方差矩陣公式得到協(xié)方差矩陣cm×m。

步驟s4進一步包括步驟:

s41:對特征值和其對應的特征向量進行排序;

s42:計算主成分數量k。

步驟s5進一步包括步驟:

s51:根據步驟s41中得到的排序后的特征值和其對應的特征向量,取前k大特征值對應的特征向量構造變換矩陣transmat;

s52:若待降維樣本數據矩陣dn×m能夠一次性加載到內存,則將樣本數據矩陣dn×m與變換矩陣transmat相乘得到主成分矩陣。

若待降維樣本數據不能一次加載到內存,則處理流程包括步驟:

s61:把樣本數據矩陣dn×m按照步驟s2中的分塊方式進行分塊;

s62:把每個數據塊與變換矩陣transmat進行相乘,得到該塊的主成分矩陣;

s62:合并每一塊步驟s62得出的主成分矩陣以構建整個樣本數據的主成分矩陣。

本發(fā)明的有益效果是:克服了傳統(tǒng)單機主成分分析算法的由于數據規(guī)模太大而無法一次加載到內存的問題,并減少了i/o操作,提高了數據降維的處理效率。

附圖說明

圖1為本發(fā)明的數據降維方法流程圖;

圖2為本發(fā)明的基于mapreduce實現的并行化主成分分析處理過程圖;

圖3為本發(fā)明獲取主成分矩陣的流程圖。

具體實施方式

下面結合附圖,進一步詳細描述本發(fā)明的技術方案。

如圖1,一種基于并行化主成分分析算法的數據降維方法,包括以下步驟:

s1:把待降維的數據按照每一行代表一個數據且行數代表樣本數量的方式構造樣本數據矩陣dn×m,其中樣本數據維數為m,樣本數為n;

s2:根據用于數據處理的hadoop集群節(jié)點環(huán)境,對樣本數據矩陣dn×m進行水平分割劃分成n塊(保證每一塊能夠加載到內存),即d={d1,d2,…,dn},把數據塊分配到n臺機器上分別進行處理,每臺機器計算對應數據塊的平方矩陣及和向量,實現map過程,再把map過程得到的中間結果進行匯總,實現reduce過程,最后把匯總結果代入協(xié)方差矩陣計算公式,求得樣本協(xié)方差矩陣cm×m;

s3:通過求解協(xié)方差矩陣對應特征方程或通過奇異值分解方法,計算協(xié)方差矩陣cm×m對應的m個特征值和對應的m個特征向量;

s4:對得到的特征值和特征向量基于特征值大小降序排列,并根據預先設定的方差率貢獻大小,確定主成分數量k;

s5:由前k大特征值對應的特征向量構造變換矩陣transmat,利用變換矩陣transmat求得主成分矩陣,即降維后的數據矩陣。

所述構造樣本數據矩陣dn×m過程中待降維樣本數據集x={x1,x2,…,xn},其中xi=(xi1,xi2,…,xim)表示一個樣本,構造樣本數據矩陣

如圖2,計算樣本數據矩陣dn×m的協(xié)方差矩陣cm×m過程包括子步驟:

s21:分配n個mapper,每個mapper的輸入是一個鍵值對,其中值為每一塊中對應的樣本數據,以表示每個樣本數據。每個mapper的輸出為鍵值對,所有mapper的輸出鍵相同,其值為對應的每一塊的平方矩陣squaremati及和向量vectorsumi;

s22:分配一個reducer,該reducer的輸入是子步驟s21中每個mapper的輸出結果,具體輸入形式為鍵值對,值為鍵相同的值的列表,reducer的輸出為鍵值對,值為整個樣本矩陣的平方矩陣及和向量;

s23:將步驟s22中reducer的匯總結果代入協(xié)方差矩陣公式

計算協(xié)方差矩陣cm×m的m個特征值和對應的m個特征向量過程中,根據特征方程|c-λi|=0求得協(xié)方差矩陣cm×m的m個特征值,然后把每個特征向量代入公式cei=λiei,求得m個特征值,其特征值和對應的特征向量對為(λ1,e1),(λ2,e2),…,(λm,em)。

確定主成分數量k過程包括子步驟:

s41:對協(xié)方差矩陣cm×m的所有特征值和其對應的特征向量基于特征值大小降序排列,假設λ1≥λ2≥…≥λm為排序后的特征值,其對應的特征向量分別為e1,e2,…,em;

s42:根據方差貢獻率公式計算滿足條件的最小k,即主成分數量。

如圖3,計算主成分矩陣過程包括子步驟:

s51:根據步驟s41中得到的排序后的特征值和其對應的特征向量,取前k大特征值對應的特征向量構造變換矩陣transmat=[e1,e2,…,ek];

s52:把原樣本數據矩陣dn×m與變換矩陣transmat相乘,得到主成分矩陣,即降維后的數據。

步驟s52中,若待降維樣本數據矩陣dn×m能夠一次性加載到內存,則直接將樣本矩陣dn×m與變換矩陣transmat相乘。

步驟s52中,若待降維樣本數據不能一次加載到內存,則對原樣本數據矩陣dn×m進行分塊,分別計算每一塊的主成分矩陣,即把每一數據塊與變換矩陣transmat相乘,然后合并所有數據塊的主成分矩陣得到整個主成分矩陣。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1