本發(fā)明屬于計算機應(yīng)用技術(shù)領(lǐng)域,具體涉及數(shù)據(jù)挖掘和機器學(xué)習(xí),特別是基于自適應(yīng)Dropout非負矩陣分解的特征學(xué)習(xí)模型。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,社交網(wǎng)絡(luò)的興起,信息的獲取和分享手段越來越便捷,互聯(lián)網(wǎng)中充斥著大量的文本、圖像等非結(jié)構(gòu)化數(shù)據(jù)。同時,由于數(shù)據(jù)發(fā)布時的隨意性、不規(guī)范性等問題,數(shù)據(jù)中存在大量的噪聲。即使在經(jīng)過數(shù)據(jù)清洗之后,數(shù)據(jù)也面臨著數(shù)據(jù)稀疏、維度過高等問題。因此,在進行聚類、分類、推薦等任務(wù)之前,往往先需要進行特征學(xué)習(xí)。
非負矩陣分解(Non-negative Matrix Factorization,NMF)是近年來較為流行的多變量分析模型,因其在文本和圖像等數(shù)據(jù)上具有良好的可解釋性,在數(shù)據(jù)挖掘領(lǐng)域有著十分廣泛的應(yīng)用。通過對輸入數(shù)據(jù)矩陣和輸出隱藏特征矩陣以及系數(shù)矩陣采用非負約束,得到文本和圖像的表示,并進行文本聚類和圖像恢復(fù)[1][2]。而Cai和He等人在此基礎(chǔ)上,采用關(guān)系圖來約束數(shù)據(jù)在隱含空間中的表示,提高了非負矩陣分解模型在文本聚類中的性能[3]。而在[4]中,作者提出一種關(guān)系約束的矩陣分解模型,融合數(shù)據(jù)間關(guān)聯(lián)關(guān)系和數(shù)據(jù)內(nèi)容,抽取隱含特征,并在文本分類數(shù)據(jù)中取得良好效果。Takeuchi等人則將多個非負矩陣共同分解,融合用戶記錄、用戶社交關(guān)系和歌曲標簽,得到用戶和歌曲的統(tǒng)一表示,并進行歌曲推薦[5]。
然而,現(xiàn)有的NMF模型相關(guān)的研究成果,往往是通過對輸入輸出矩陣進行變換或?qū)δ繕撕瘮?shù)增加正則化因子來進行的,缺少對隱藏特征之間關(guān)系的分析和利用。在實際應(yīng)用中,由于缺乏領(lǐng)域先驗知識和輔助信息,現(xiàn)有的基于NMF的模型中所采用的矩陣變換和正則化因子往往無法構(gòu)造,或受到數(shù)據(jù)稀疏、噪聲等問題的影響,出現(xiàn)性能下降。
Dropout是一種來源于神經(jīng)網(wǎng)絡(luò)模型的優(yōu)化方法,在迭代優(yōu)化中通過隨機選取隱藏特征的子集進行更新來打破隱藏層節(jié)點之間的共現(xiàn)關(guān)系,從而防止過擬合,提升模型性能[6,7]。
從對數(shù)據(jù)重構(gòu)的角度來看,NMF具有與淺層神經(jīng)網(wǎng)絡(luò)類似的結(jié)構(gòu),而Zhai等人也已經(jīng)將Dropout算法應(yīng)用到了傳統(tǒng)的矩陣分解當(dāng)中[10]。而自適應(yīng)Dropout算法通過學(xué)習(xí)隱藏特征之間的關(guān)系,來構(gòu)造新的Dropout概率函數(shù)以取代傳統(tǒng)的完全隨機Dropout函數(shù),從而實現(xiàn)性能的進一步提升[8,9]。
因此,本發(fā)明采用來自于神經(jīng)網(wǎng)絡(luò)中的Dropout方法[6,7],通過學(xué)習(xí)和利用隱藏特征之間的關(guān)系,從一個全新的角度來提升NMF模型的性能,使數(shù)據(jù)的隱藏特征表示具有更好的可解釋性。
技術(shù)實現(xiàn)要素:
本發(fā)明目的是解決現(xiàn)有NMF模型中存在的隱藏特征語義模糊和語義重疊的問題,提供一種基于自適應(yīng)Dropout非負矩陣分解的特征學(xué)習(xí)模型。
本發(fā)明采用自適應(yīng)Dropout算法[6,7,8]來對NMF模型進行改進,并提出基于自適應(yīng)Dropout非負矩陣分解的特征學(xué)習(xí)模型(Adaptive Dropout Non-negative Matrix Factorization),簡稱ADNMF模型,通過學(xué)習(xí)隱藏特征之間的相異度關(guān)系,使隱藏特征在語義上更加獨立,從而改善樣本在隱藏特征空間中的表示。
本發(fā)明將自適應(yīng)Dropout算法應(yīng)用到NMF模型中,顯式地衡量隱藏特征在語義上的相關(guān)性,構(gòu)造新的Dropout概率函數(shù),提高隱藏特征的語義獨立性,改善樣本的特征表示。同時,本發(fā)明提出的算法具有很高的可并行性,能夠部署到并行系統(tǒng)上,用以處理大規(guī)模數(shù)據(jù)。實驗表明,本發(fā)明提出的算法在文本和圖像數(shù)據(jù)的聚類任務(wù)上,均能明顯的性能提升。
本發(fā)明技術(shù)方案
一種基于自適應(yīng)Dropout非負矩陣分解的特征學(xué)習(xí)模型(ADNMF模型)。ADNMF模型包括:
1):采用矩陣來表示輸入數(shù)據(jù)中的所有樣本和特征;
所述數(shù)據(jù)包括文本、圖像或網(wǎng)絡(luò)數(shù)據(jù);對輸入的數(shù)據(jù)集,根據(jù)數(shù)據(jù)類型進行不同的預(yù)處理,構(gòu)建樣本的特征表示矩陣,作為ADNMF模型的輸入。
本發(fā)明可以應(yīng)用到文本、圖像、網(wǎng)絡(luò)等多種數(shù)據(jù)處理任務(wù)中,在進行ADNMF建模之前,需要對數(shù)據(jù)進行預(yù)處理和格式化表示,具體如下:
1.1)、數(shù)據(jù)預(yù)處理。
數(shù)據(jù)預(yù)處理是指對數(shù)據(jù)進行特征抽取,并將所有的樣本表示成相同維度的向量。因此,對文本數(shù)據(jù),需要進行分詞和詞匯統(tǒng)計,再使用詞頻或tfidf算法得到每一篇文本在相同的字典空間中的向量表示。而對于圖像數(shù)據(jù),需要對圖片進行剪切、拉伸和縮放處理,使圖片具有相同的維度,然后可以采取灰度值或RGB值來將圖片表示成相同維度的特征向量——作為圖片的特征表示。而在網(wǎng)絡(luò)數(shù)據(jù)處理任務(wù)中,則需要統(tǒng)計網(wǎng)絡(luò)中包含的節(jié)點數(shù)量和節(jié)點之間的連接權(quán)重,得到每個節(jié)點的基于連接權(quán)重的表示。最后,對所有樣本的特征表示進行非負處理,篩選出符合非負性要求的特征。
1.2)、數(shù)據(jù)格式化。
在數(shù)據(jù)預(yù)處理之后,需要將數(shù)據(jù)表示成矩陣,作為ADNMF模型的輸入。因此,所有樣本的特征表示將進一步格式化為相同維度的向量,向量的每一維表示樣本在對應(yīng)特維度上的權(quán)值,并將所有樣本的特征向量組合為特征表示矩陣,矩陣的每一行表示一維特征,每一列表示一個樣本。
2):基于所述的特征表示矩陣,建立ADNMF模型的優(yōu)化目標,設(shè)計合理的求解算法——采用自適應(yīng)Dropout算法學(xué)習(xí)特征之間的關(guān)系,并進行優(yōu)化求解,得到樣本的隱藏特征表示,作為模型的輸出;
所述ADNMF模型的優(yōu)化目標包括3個方面:(1)最大可能的降低每個樣本從原始特征空間映射到隱藏特征空間中的重構(gòu)損失;(2)采用自適應(yīng)Dropout算法降低隱藏特征之間的語義相似性;(3)保持輸出矩陣的非負性,使得到的樣本的隱藏特征表示具有較好的可解釋性;
所述ADNMF模型優(yōu)化目標的求解算法應(yīng)當(dāng)滿足三個基本條件:(1)算法能夠在可接受的時間內(nèi)收斂,(2)算法對存儲空間的需求要控制在合理范圍內(nèi),(3)算法能夠并行執(zhí)行,以提高計算效率。
2.1):所述的目標函數(shù)求解算法為自適應(yīng)Dropout算法,具體處理過程是;
在迭代優(yōu)化過程中,自適應(yīng)Dropout算法根據(jù)隱藏特征的語義表達能力來進行Dropout,而每個隱藏特征的語義表達能力被形式化為該隱藏特征本身與所有其他隱藏特征之間的語義相異度。
首先計算所有隱藏特征兩兩之間的相異度,得到隱藏特征相異度矩陣。
其次對相異度矩陣的每一行進行線性融合(參數(shù)將在ADNMF算法中進行優(yōu)化求解),得到對應(yīng)隱藏特征的語義表達能力。
然后采用Sigmoid函數(shù)將隱藏特征的語義表達能力轉(zhuǎn)化為隱藏特征在迭代優(yōu)化過程中,經(jīng)過Dropout過程后被保留的概率。
最后求每個隱藏特征在優(yōu)化過程中被保留的概率的期望值,作為隱藏特征在目標函數(shù)中的權(quán)值直接進行模型優(yōu)化求解,從而降低所需的迭代次數(shù)。
2.2):所述的求解樣本的隱藏特征表示的方法(ADNMF算法)如下:
本項目提出一種基于梯度下降的ADNMF迭代優(yōu)化算法,能夠有效的求解ADNMF模型的目標函數(shù),得到樣本的隱藏特征表示。ADNMF模型需要優(yōu)化求解的參數(shù)包括:隱藏特征矩陣、系數(shù)矩陣以及隱藏特征相異度的線性融合參數(shù)矩陣。在每次迭代過程中:
首先采用所述的自適應(yīng)Dropout算法,計算隱藏特征在Dropout之后被保留的概率期望值;
然后按步驟分別計算目標函數(shù)的各個部分對隱藏特征矩陣、系數(shù)矩陣和線性融合參數(shù)矩陣的梯度;
最后將梯度矩陣中的正值和負值加以區(qū)分,據(jù)此分別對隱藏特征矩陣、系數(shù)矩陣和線性融合參數(shù)矩陣中不同的元素采用不同的步長進行更新,并防止出現(xiàn)負值。
本發(fā)明的優(yōu)點和積極效果:
●隱藏特征學(xué)習(xí)
本發(fā)明能夠顯式衡量隱藏特征在語義上的相關(guān)關(guān)系,并進行Dropout,相比于傳統(tǒng)的NMF算法,學(xué)習(xí)到的隱藏特征具有很強的可區(qū)分性,每一維隱藏特征均能獨立且明確的表示一種語義信息。
●樣本的隱藏特征表示
本發(fā)明增強了隱藏特征的語義獨立性和可區(qū)分性,使樣本的隱藏特征表示能夠更明確的反映樣本的語義構(gòu)成,從而提升后續(xù)的聚類、分類和協(xié)同推薦任務(wù)的性能。
附圖說明
圖1是本發(fā)明的整體示意圖。
圖2是本發(fā)明提供的ADNMF優(yōu)化求解流程圖。
具體實施方式
實施例1:
下面結(jié)合附圖對本發(fā)明提供的ADNMF特征學(xué)習(xí)模型進行詳細的舉例和說明。
本發(fā)明主要采用數(shù)據(jù)挖掘理論和方法對文本、圖像和網(wǎng)絡(luò)等數(shù)據(jù)進行分析,為了保證系統(tǒng)的正常運行,在具體實施中,要求所使用的計算機平臺配備不低于8G的內(nèi)存,CPU核心數(shù)不低于4個且主頻不低2.6GHz、Windows 7及以上版本的64位操作系統(tǒng),并安裝Java 1.7及以上版本等必備軟件環(huán)境。
如圖2所示,本發(fā)明提供的ADNMF模型包括按順序執(zhí)行的下列部分:
1)輸入數(shù)據(jù)集(文本、圖像或網(wǎng)絡(luò)數(shù)據(jù)),構(gòu)建樣本的特征表示矩陣:
假設(shè)輸入數(shù)據(jù)集包含5個樣本,每個樣本包含10維特征,經(jīng)過預(yù)處理后,構(gòu)建10行5列的樣本的特征表示矩陣例如:
2)基于1)中構(gòu)建的特征表示矩陣X,建立ADNMF模型的優(yōu)化目標,設(shè)計合理的目標函數(shù)求解算法——采用自適應(yīng)Dropout算法并求解樣本的隱藏特征表示:
ADNMF模型的目標函數(shù)包括3個方面:
(1)最大可能的降低每個樣本的從原始特征空間映射到隱藏特征空間中的重構(gòu)損失;
其中U表示隱藏特征矩陣,V為樣本在隱藏空間中的表示即系數(shù)矩陣,U*k表示矩陣U的第k列,Vk*表示矩陣V的第k行,uij表示矩陣U第i行第j列上的元素,采用歐式距離的平方來衡量信息損失。
(2)采用自適應(yīng)Dropout算法降低隱藏特征之間的語義相似性;
在此對角矩陣Λ=diag[λ1,...,λK]的每一個元素λk∈{0,1},用于指示第k個隱藏特征在經(jīng)過Dropout后是否被保留。自適應(yīng)Dropout函數(shù)為:
其中f(z)=(exp(z)-exp(-z))/(exp(z)+exp(-z))將相異度轉(zhuǎn)化為概率,表示兩個隱藏特征之間的語義相異度,πjk為線性融合權(quán)重。對Λ求期望值可得:
則目標函數(shù)的期望形式為:
(3)保持輸出矩陣的非負性,使樣本的特征表示具有較好的可解釋性;
s.t.umk≥0,vkn≥0
最終,通過融合和以上約束條件,我們得到ADNMF模型最終的目標函數(shù):
其中表示每個隱藏特征在Dropout函數(shù)中被保留的概率期望值,K表示人為指定的隱藏特征的個數(shù)(正整數(shù))。
所述ADNMF模型的目標函數(shù)求解算法應(yīng)當(dāng)滿足三個基本條件:(1)算法能夠在可接受的時間內(nèi)收斂,(2)算法對存儲空間的需求要控制在合理范圍內(nèi),(3)算法能夠并行執(zhí)行,以提高計算效率。
為了優(yōu)化目標函數(shù)L并求解隱藏特征矩陣U、樣本的隱藏表示矩陣V以及相異度參數(shù)矩陣Π,同時提高算法的可并行性,加快求解速率,并降低算法對存儲空間的需求,采用基于梯度下降的迭代更新算法來求解,如圖2所示,目標函數(shù)的求解包含如下階段:
S2.1階段:初始化矩陣和
以1)中輸入的X為例,隱藏特征的個數(shù)K設(shè)為2,矩陣U、V和Π中的每個元素被隨機初始化為非負實數(shù),例如:
S2.2階段:計算輔助矩陣A;
輔助矩陣A在矩陣V和Π的更新過程中均有用到,具體的計算公式為
S2.3階段:計算輔助對角矩陣B;
輔助對角矩陣B在矩陣V和Π的更新過程中均有用到,具體的計算公式為
S2.4階段:計算輔助概率期望矩陣Q;
輔助概率期望矩陣Q中包含隱藏特征在Dropout之后被保留的概率期望值
Q:qkk=P(λk=1|U)=f(bkk),
S2.5階段:計算矩陣V的梯度矩陣E;
矩陣E中包含矩陣V中每個元素的梯度的正數(shù)部分,具體公式為
S2.6階段:計算矩陣V的梯度矩陣H;
矩陣H中包含矩陣V中每個元素的梯度的負數(shù)部分,具體公式為
S2.7階段:根據(jù)矩陣E和矩陣H更新矩陣V;
采用梯度下降算法同時保持矩陣V中元素非負更新公式為
S2.8階段:釋放矩陣E和矩陣H,節(jié)約內(nèi)存;
S2.9階段:計算輔助矩陣C;
輔助矩陣C在矩陣Π和U的更新過程中均有用到,具體的計算公式為
S2.10階段:計算輔助矩陣R;
輔助矩陣R在矩陣Π和U的更新過程中均有用到,具體的計算公式為
S2.11階段:計算輔助矩陣D;
輔助矩陣D用于輔助矩陣Π的梯度的計算,具體的計算公式為
S2.12階段:計算輔助矩陣O;
輔助矩陣O在矩陣Π和U的更新過程中均有用到,具體的計算公式為
O:okk=(CU)kk,
S2.13階段:計算矩陣Π的梯度矩陣S;
矩陣S中包含矩陣Π中每個元素的梯度的正數(shù)部分,具體公式為
S:sij=ojjdij,
S2.14階段:計算矩陣Π的梯度矩陣W;
矩陣W中包含矩陣Π中每個元素的梯度的負數(shù)部分,具體公式為
S2.15階段:根據(jù)矩陣S和矩陣W更新矩陣Π;
采用梯度下降算法同時保持矩陣Π中元素非負更新公式為
S2.16階段:釋放矩陣A、B、D、O、S、W,節(jié)約內(nèi)存;
S2.17階段:計算矩陣U的梯度矩陣Y;
矩陣Y中包含矩陣U中每個元素的梯度的正數(shù)部分,具體公式為
Y:yij=cjiqjj,
S2.18階段:計算矩陣U的梯度矩陣Z;
矩陣Z中包含矩陣U中每個元素的梯度的負數(shù)部分,具體公式為
S2.19階段:根據(jù)矩陣Y和矩陣Z更新矩陣U;
采用梯度下降算法同時保持矩陣U中元素非負更新公式為
S2.20階段:釋放矩陣Q、R、Y、Z,節(jié)約內(nèi)存;
S2.21階段:判斷算法是否收斂;
若算法收斂,則進行S2.22階段,否則返回S2.2階段;
S2.22階段:輸出結(jié)果,本流程結(jié)束。
最終,經(jīng)過10次迭代,優(yōu)化過程收斂,輸出結(jié)果為
在圖2中,所有可并行的步驟被放在了同一行,同時,算法中S2.2至Ss2.7,S2.9至S2.15以及S2.17至S2.19中所有關(guān)于矩陣的計算,均可以并行執(zhí)行??梢钥闯?,本發(fā)明提出的算法具有很高的可并行性,能夠部署到并行平臺上,加速對大規(guī)模數(shù)據(jù)的處理速度。
需要強調(diào)的是,本發(fā)明所述的實施例是說明性的,而不是限定性的,因此本發(fā)明并不限于具體實施方式中所述的實施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實施方式,同樣屬于本發(fā)明保護的范圍。
參考文獻:
[1]Lee D D,Seung H S.Algorithms for non-negative matrix factorization[C]//Advances in neural information processing systems.2001:556-562.
[2]Lee D D,Seung H S.Learning the parts of objects by non-negative matrix factorization[J].Nature,1999,401(6755):788-791.
[3]Cai D,He X,Han J,et al.Graph regularized nonnegative matrix factorization for data representation[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2011,33(8):1548-1560.
[4]Li W J,Yeung D Y.Relation regularized matrix factorization[C]//21ST INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE(IJCAI-09),PROCEEDINGS.2009.
[5]Takeuchi K,Ishiguro K,Kimura A,et al.Non-negative multiple matrix factorization[C]//Proceedings of the Twenty-Third international joint conference on Artificial Intelligence.AAAI Press,2013:1713-1720.
[6]Hinton G E,Srivastava N,Krizhevsky A,et al.Improving neural networks by preventing co-adaptation of feature detectors[J].arXiv preprint arXiv:1207.0580,2012.
[7]Srivastava N.Improving neural networks with dropout[D].University of Toronto,2013.
[8]Ba J,Frey B.Adaptive dropout for training deep neural networks[C]//Advances in Neural Information Processing Systems.2013:3084-3092.
[9]Wager S,Wang S,Liang P S.Dropout training as adaptive regularization[C]//Advances in neural information processing systems.2013:351-359.
[10]Zhai S,Zhang Z.Dropout Training of Matrix Factorization and Autoencoder for Link Prediction in Sparse Graphs[J].arXiv preprint arXiv:1512.04483,2015.。