基于自適應分組多層網(wǎng)絡的大型數(shù)據(jù)集約減方法
【技術領域】
[0001] 本發(fā)明屬于數(shù)據(jù)處理技術領域,更進一步涉及機器學習中的大型數(shù)據(jù)集約減方 法,可用于對大型數(shù)據(jù)集的處理,如高光譜的快速聚類等。
【背景技術】
[0002] 21世紀初提出的NyStr6m逼近算法是處理大規(guī)模數(shù)據(jù)學習的常用方法。自從被用 于加速核機器以后,該方法現(xiàn)已被廣泛地應用于機器學習和數(shù)據(jù)挖掘等領域的很多實際問 題。該方法在運算上速度非???,通過逼近樣本間的相似度矩陣,能夠較好的重構原始樣 本,但缺點是對于小型數(shù)據(jù)重構時的不穩(wěn)定性以及需要用戶指定約減后樣本數(shù)量的不確定 性。
[0003] 當前多數(shù)分類、聚類以及回歸等學習方法均為淺層結構算法,當樣本數(shù)和運算硬 件條件有限時,有著對復雜模型的表示能力欠缺、泛化能力較差的局限性。針對這種情況, 近年來關于深度學習的研宄逐漸成為一個熱點。2006年,Hinton和Salakhutdinov在 《Science》上發(fā)表了一篇文章,開啟了深度學習在學術界和工業(yè)界的浪潮。Hinton等人提 出基于深信度網(wǎng)DBN的非監(jiān)督貪心逐層訓練算法,為解決與深層結構相關的優(yōu)化難題帶來 了希望,隨后提出影響深遠的自動編碼器Autoencoder結構。該自動編碼器是一種無監(jiān)督 學習算法,通過最小化重構誤差,嘗試逼近一個恒等函數(shù),使得輸出接近于輸入,這樣可以 認為中間隱藏層的編碼是對輸入的一種良好表示。但是自動編碼器網(wǎng)絡的隱節(jié)點個數(shù)和層 數(shù)是難以確定的,需要使用者不斷進行嘗試從而找到最佳選擇,而且在時間與空間復雜度 上該算法相比于NystrSm逼近算法要大得多,尤其在大型數(shù)據(jù)集的處理上,對程序所需的運 行平臺硬件要求很苛刻,運算成本較高。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于針對上述已有技術的不足,提出一種基于自適應分組多層網(wǎng)絡 的大型數(shù)據(jù)集約減方法,以簡化編碼過程中時間與空間的復雜度,降低運算成本,自動調(diào)整 網(wǎng)絡拓撲結構參數(shù)。
[0005] 本發(fā)明的技術思路是:借鑒自動編碼器對數(shù)據(jù)中結構特征進行學習與處理的思 想,對數(shù)據(jù)之間的共性與異性進行挖掘,但不使用自動編碼器中涉及的梯度計算,而采用相 對快速的正交匹配追蹤算法進行網(wǎng)絡連接層的編碼,從而可以降低計算成本;同時對于網(wǎng) 絡拓撲結構的不確定性,采用循環(huán)迭代的思路,逐步更新隱節(jié)點,直到隱層約減樣本與輸入 數(shù)據(jù)之間的重構誤差趨于穩(wěn)定為止,實現(xiàn)對網(wǎng)絡模型的自適應調(diào)整。
[0006] 實現(xiàn)本發(fā)明的具體思路是:在對數(shù)據(jù)預處理時將數(shù)據(jù)分成若干子集,然后找到每 個分組數(shù)據(jù)的密度峰(聚類中心),據(jù)此對每個分組的隱節(jié)點進行初始化,在計算輸入節(jié)點 與隱節(jié)點連接權值后,根據(jù)輸入與輸出數(shù)據(jù)的重構誤差把對應重構誤差大的樣本添加到隱 節(jié)點中,然后重新計算網(wǎng)絡連接權值與重構誤差,直到當前層級的重構誤差趨于穩(wěn)定,如果 得到的隱節(jié)點(約減后的樣本)數(shù)量依舊很大,則進行下一層網(wǎng)絡的樣本約減,直到約減后 隱節(jié)點數(shù)量不再大幅變化或者達到設定的最大網(wǎng)絡層數(shù),則終止計算,并認為得到較少的 約減后樣本(即網(wǎng)絡最后一層的隱節(jié)點)能夠近似表示原始數(shù)據(jù)集。
[0007] 為了實現(xiàn)上述目的,本發(fā)明方法主要包括如下步驟:
[0008] (1)輸入數(shù)據(jù)集X ,其中N。是數(shù)據(jù)個數(shù),b是數(shù)據(jù)的維度;
[0009] (2)初始化網(wǎng)絡參數(shù):隱節(jié)點個數(shù)與輸入級數(shù)據(jù)個數(shù)之比0、隱節(jié)點的更新速率v、期望約減后樣本數(shù)Nest、最大網(wǎng)絡層數(shù)隊、第一層網(wǎng)絡的輸入端分組個數(shù)Ng、第一層輸入 數(shù)據(jù)Yk=X,樣本數(shù)目Nk=N(l,網(wǎng)絡層索引值k= 1 ;
[0010] ⑶在第k層網(wǎng)絡中,求出每個分組內(nèi)的最大數(shù)據(jù)個數(shù)nk,_= [Nk/Ng],其中,[?] 運算符表示取括號內(nèi)整數(shù)部分的運算,將輸入級數(shù)據(jù)Yk均勻地分配到Ng個分組中得到數(shù)據(jù) 子集
【主權項】
1. 一種基于自適應分組多層網(wǎng)絡的大型數(shù)據(jù)集約減方法,包括以下步驟: (1) 輸入數(shù)據(jù)集X 其中N。是數(shù)據(jù)個數(shù),b是數(shù)據(jù)的維度; (2) 初始化網(wǎng)絡參數(shù):隱節(jié)點個數(shù)與輸入級數(shù)據(jù)個數(shù)之比0、隱節(jié)點的更新速率V、期 望約減后樣本數(shù)Nest、最大網(wǎng)絡層數(shù)隊、第一層網(wǎng)絡的輸入端分組個數(shù)Ng、第一層輸入數(shù)據(jù) Yk=X,樣本數(shù)目Nk=N。,網(wǎng)絡層索引值k= 1 ; (3) 在第k層網(wǎng)絡中,求出每個分組內(nèi)的最大數(shù)據(jù)個數(shù)nk,_= [Nk/Ng],其中,[?]運 算符表示取括號內(nèi)整數(shù)部分的運算,將輸入級數(shù)據(jù)Yk均勻地分配到Ng個分組中得到數(shù)據(jù)子 集,其中Dk'p表示第k層網(wǎng)絡中第p個數(shù)據(jù)子集,其數(shù)據(jù)個數(shù)為nk,p,nk,p<n (4) 對Yk中每組輸入數(shù)據(jù)根據(jù)密度峰值和稀疏表示思想依次進行樣本約減處理,并判 斷收斂特性值cov是否大于誤差容限值:若是,則增加隱節(jié)點子集Htp的樣本數(shù)量,否則對 下一組數(shù)據(jù)進行樣本約減處理,且當所有分組數(shù)據(jù)處理完畢時,結束樣本約減過程,得到Ng 個數(shù)據(jù)分組的隱節(jié)點子集,合并后構成第k層網(wǎng)絡的輸出,Hk中數(shù)據(jù)個數(shù)
戸n'tp表示第k層網(wǎng)絡第p個數(shù)據(jù)分組樣本約減后得到的數(shù)據(jù)個數(shù); (5) 判斷輸出數(shù)據(jù)個數(shù)N'k是否小于期望約減后樣本數(shù)Nest或者當前網(wǎng)絡層索引值k 是否大于最大網(wǎng)絡層數(shù)隊:若滿足條件,則輸出數(shù)據(jù)約減結果Hk,否則,增加一層網(wǎng)絡,并把 第k層網(wǎng)絡的輸出Hk作為下一級網(wǎng)絡的輸入Yk+1,即Yk+1=Hk,Nk+1=N'k,更新參數(shù):k= k+l、Nk-Nk+1、Yk-Yk+1,返回步驟(3)。
2. 根據(jù)權利要求1所述的基于自適應分組多層網(wǎng)絡的大型數(shù)據(jù)集約減方法,其中所述 步驟(4)中,在對Yk中每組輸入數(shù)據(jù)根據(jù)密度峰值和稀疏表示思想依次進行樣本約減處 理,按如下步驟進行: 4a)計算第k層網(wǎng)絡第p個數(shù)據(jù)子集Dtp中每個樣本的密度峰值,構成密度峰值集合 說}以',并根據(jù)密度峰值確定該分組約減網(wǎng)絡的初始隱節(jié)點Hk,p,Hk,p中數(shù)據(jù)個數(shù)為n' k,p; 4b)以為字典,根據(jù)稀疏表示理論,求出Dk,p*每個樣本關于Hk,p的稀疏表示系 數(shù)向量,其中第i個數(shù)據(jù)的稀疏表示系數(shù)向量為:
約束條件:||Sjle1 其中,貧P是Dtp中第i個樣本,Si是待優(yōu)化問題的變量,表示Ab關于Htp的稀疏表 示稀疏,N?I^表示求解向量的Frobenius范數(shù),約束條件中| | ? | | (!表示0范數(shù),該優(yōu)化 問題通過正交匹配追蹤算法找到最優(yōu)的系數(shù)向量乂,使得作為字典的妒^可以近似表示數(shù) 4c)求出Dtp中每個數(shù)據(jù)對應隱層中最相似節(jié)點的索引值If,其中,第i個數(shù)據(jù)的 索引值為:
J 式中,loc$Dtp中第i個數(shù)據(jù)的稀疏系數(shù)向量文中最大值對應的索引值,< 是系數(shù)向量 < 中的第j個系數(shù); 4d)將Dtp中每個數(shù)據(jù)與其相似度最大對應位置的隱節(jié)點連接,得到連接矩陣Wtp,該 連接矩陣的大小為nk,pXn'k,p,它的矩陣元素定義為:
4e)根據(jù)連接矩陣Wtp,計算在第t次迭代中用隱節(jié)點Htp重構數(shù)據(jù)子集0^的重構誤 差: Rp't= | |Dk'p-Wk'p ?Hk'p| | ; 4f)根據(jù)隱節(jié)點的更新速率v和重構誤差RRt,更新第p個分組中隱節(jié)點Hk,p,即
實中argmaxGf'^nip?v)表示在重構誤差Rp't中取出 前〇\p ?v)個最大元素的索引值。
3.根據(jù)權利要求2所述的對Yk中每組輸入數(shù)據(jù)根據(jù)密度峰值和稀疏表示思想依次進 行樣本約減處理,其中所述步驟(4a)中,計算第p個分組內(nèi)數(shù)據(jù)Dk,p的密度峰值{<5,并 根據(jù)密度峰值確定該分組約減網(wǎng)絡的初始隱節(jié)點始隱節(jié)點Hk,p,按如下步驟進行: (4al)計算數(shù)據(jù)子集Dk'p中每個數(shù)據(jù)的密度,構成密度集合丨P,}丨t,其中第i個數(shù)據(jù)的 密度為:
jeJ 其中
^表示第i個點與J中第j個點 之間的歐式距離,表示第P個分組數(shù)據(jù)集Dp中第i個點的數(shù)據(jù)
>, 其中I表示查找一個數(shù)據(jù)點的在Dk'p中最近鄰點的個數(shù),且Nf5,dran)表示在。"'沖第i個數(shù)據(jù)點與此數(shù)據(jù)集上第n個最近鄰數(shù)據(jù)點的距離,%1)是D^中數(shù)據(jù)的個數(shù); (4a2)計算Dtp中每個數(shù)據(jù)的密度峰值,構成密度峰值集合,其中第i個數(shù)據(jù)的 密度峰值為:
(4a3)對密度峰值集合說}以按降序把集合中每個元素對應的索引值.{/,}以排序:
其中argmax(丨dH",,,)定義為在jd'丄"m中找出前%£)個最大元素的索引值; (4a4)根據(jù)步驟(2)設定的隱節(jié)點個數(shù)與輸入級數(shù)據(jù)個數(shù)之比0,初始化隱節(jié)點個數(shù) nrk,P=nk,p ? 0 ; (4a5)在Dk,p把索引值為的n'k,p個數(shù)據(jù)初始化為第k層網(wǎng)絡第p個分組中的 隱節(jié)點=Z^,F(xiàn) 。
4.根據(jù)權利要求1所述的基于自適應分組多層網(wǎng)絡的大型數(shù)據(jù)集約減方法,其中所述 步驟(4)中,判斷收斂特性值cov是否大于誤差容限值,按如下步驟進行: 4g)計算重構誤差RRt的收斂特性值cov:
4h)設置誤差容限值e= 1(T3,根據(jù)收斂特性值cov進行如下判決: 若cov>e,即重構誤差RW未收斂,則更新迭代次數(shù)t=t+l,隱節(jié)點個數(shù)n'k,p =n'k,p+l,返回步驟 4a5); 若cov彡e,且分組索引值p<Ng,則更新p=p+l,返回步驟4al); 若cov彡e,且p=Ng,即第k層網(wǎng)絡的全部分組數(shù)據(jù),=丨約減完畢,結束該 層網(wǎng)絡的數(shù)據(jù)約減過程。
【專利摘要】本發(fā)明公開了一種基于自適應分組多層網(wǎng)絡的大型數(shù)據(jù)集約減方法,主要解決現(xiàn)有技術中計算復雜度高、內(nèi)存占用空間大的問題,其實現(xiàn)步驟為:(1)輸入數(shù)據(jù)集;(2)對網(wǎng)絡參數(shù)進行初始化;(3)對網(wǎng)絡的輸入數(shù)據(jù)進行分組;(4)對每組數(shù)據(jù)分別進行樣本約減處理,得到每層網(wǎng)絡的輸出,(5)對于滿足輸出條件則輸出約減結果,否則進行下一級樣本約減網(wǎng)絡的構建。經(jīng)實驗,將本發(fā)明得到的約減樣本,應用于譜聚類算法上能夠得到和經(jīng)典算法難分伯仲的聚類精度,并在保證聚類精度的同時降低了聚類計算的復雜度,可用于對大型數(shù)據(jù)集的處理。
【IPC分類】G06K9-62, G06N5-04
【公開號】CN104809474
【申請?zhí)枴緾N201510226577
【發(fā)明人】張向榮, 焦李成, 郭智, 馮婕, 馬文萍, 侯彪, 熊濤, 劉紅英
【申請人】西安電子科技大學
【公開日】2015年7月29日
【申請日】2015年5月6日