• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      可視化支持下CNN在個性化推薦算法中的應用①

      2020-06-20 07:32:16宗春梅張月琴趙青杉郝耀軍郭玥鑫
      計算機系統(tǒng)應用 2020年6期
      關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡算法

      宗春梅,張月琴,趙青杉,郝耀軍,郭玥鑫

      1(忻州師范學院 計算機系,忻州 034000)

      2(太原理工大學 計算機科學與技術(shù)學院,太原 030024)

      3(西安工業(yè)大學 西北兵器工業(yè)研究院,西安 710021)

      推薦算法是一種信息過濾技術(shù),通過總結(jié)用戶在過去的一段時間內(nèi)留存在網(wǎng)絡中的信息找到其中的規(guī)律,利用這些規(guī)律從需要推薦的項目集合中確定用戶可能感興趣的某些項目或者產(chǎn)品,進而主動向用戶提供推薦信息[1].傳統(tǒng)方法是使用各種協(xié)同過濾算法實現(xiàn)推薦,但用戶評分數(shù)據(jù)卻很稀疏,導致推薦質(zhì)量及速度下降,針對協(xié)同過濾中存在的稀疏矩陣的問題有學者引入了降維技術(shù)對用戶進行聚類,降低了用戶特征維數(shù)的同時實現(xiàn)了推薦的信息的實時性,同時為該推薦系統(tǒng)添加了對數(shù)據(jù)的隱私保護[2-4],但推薦的時間及精準性仍然與目標相距較大.

      近年來深度學習被成功的應用于推薦領(lǐng)域并取得了巨大的成功,尤其是神經(jīng)網(wǎng)絡,能從數(shù)據(jù)列中獲取最有信息量的部分,卷積神經(jīng)網(wǎng)絡在文本特征的提取中得到了很好的應用[5,6].基于此,本文對神經(jīng)網(wǎng)絡的個性化推薦算法進行研究,依據(jù)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡和推薦算法的各種理論構(gòu)建實現(xiàn)算法的網(wǎng)絡模型,以此預測用戶對電影的評分,實現(xiàn)基于神經(jīng)網(wǎng)絡的個性化推薦.在使推薦結(jié)果更優(yōu)化的同時有效減少數(shù)據(jù)稀疏性對推薦結(jié)果的影響,提高電影推薦速度及質(zhì)量.

      1 背景知識及相關(guān)工作

      傳統(tǒng)的推薦方法在學者們不斷改進下取得了很好效果.文獻[7]提出基于一種算法改進評分填充矩陣,在一定程度上緩解了協(xié)同過濾推薦中的數(shù)據(jù)稀疏性問題,并彌補了空值填補法填補值過于單一的問題.文獻[8]提出協(xié)同過濾利用相似度計算鄰居用戶,從而以鄰居用戶的偏好對目標用戶的偏好進行推薦預測,提高了電影推薦質(zhì)量.文獻[9]引入社區(qū)劃分的思想,構(gòu)建了一種融合電影類別、用戶評分和用戶標簽的電影推薦模型,有效解決了數(shù)據(jù)稀疏性問題.文獻[10]提出一種改進的時間加權(quán)協(xié)同過濾算法,利用時間加權(quán)的聚類結(jié)果優(yōu)化算法使預測評分準確性大幅度提升.但數(shù)據(jù)稀疏、冷啟動、手工提取特征過多等問題仍然是傳統(tǒng)推薦方法性能提升的瓶頸問題.

      隨著卷積神經(jīng)網(wǎng)絡應用的日漸成熟與推廣,學者們提出了各種基于此算法進行用戶和項目隱藏特征之間的關(guān)聯(lián)分析從而實現(xiàn)基于關(guān)聯(lián)的推薦,并通過大量實驗證明該方法在大規(guī)模數(shù)據(jù)環(huán)境下從各方面顯著提高了推薦性能,證明深度學習方法對許多關(guān)聯(lián)分析任務是有效的[11,12].文獻[13]以電影推薦為研究對象,提出了融合動態(tài)協(xié)同過濾和深度學習的推薦算法,以解決在電影評分推薦場景中的數(shù)據(jù)稀疏性、冷啟動和信息過期問題,實驗結(jié)果表明電影評分預測的準確性提高了.但是算法也存在算法復雜且可解釋性差、算法中的參數(shù)選取費時且影響著算法性能等缺點.

      文獻[14]提出嘗試基于深度學習來加強個性化推薦,提出將層疊降噪自動編碼器與隱含因子模型相結(jié)合的混合推薦方法,綜合考慮評論文本與評分,以提升推薦模型對潛在評分預測的準確性.實驗結(jié)果表明:與傳統(tǒng)推薦模型相比,該文提出的方法可有效提高評分預測的準確性,性能提升最高可達64.43%.文獻[15]提出一種融合徑向基函數(shù)的二值化卷積神經(jīng)網(wǎng)絡的推薦模型,通過對推薦系統(tǒng)中的用戶屬性和項目屬性建立了RBF 網(wǎng)絡,使用徑向基函數(shù)計算用戶與用戶之間的相似度矩陣,再結(jié)合卷積神經(jīng)網(wǎng)絡進行推薦預測,極大節(jié)省數(shù)據(jù)存儲空間并提高推薦效率.文獻[16]提出了一種基于注意的卷積神經(jīng)網(wǎng)絡和因子分解機的推薦算法,利用所建立的因子分解機分析用戶和項目隱藏特征之間的關(guān)聯(lián),并實現(xiàn)基于關(guān)聯(lián)的推薦.實驗證明推薦性能得到了顯著提高,另外在數(shù)據(jù)稀疏和冷啟動的極端環(huán)境下該推薦精度也優(yōu)于其他推薦方法.文獻[17]提出了一種基于生物機制驅(qū)動的特征構(gòu)建的答案推薦方法用于社區(qū)問答中推薦相應給定問題的最佳答案,通過引入回答者的用戶信譽信息來模擬記憶處理特性,然后構(gòu)造出用于答案排序的特征向量,通過特征向量得到最佳答案,并在StackExchange 數(shù)據(jù)集上的實驗,結(jié)果表明該算法具有很好的性能.

      綜上所述,神經(jīng)網(wǎng)絡的批量處理及大幅度循環(huán)訓練的特性可以克服傳統(tǒng)的基于協(xié)同過濾推薦方法推薦過程時間長的問題,且卷積神經(jīng)網(wǎng)絡的卷積與池化流程可以適度解決評分矩陣稀疏性問題.因此,本文提出一種神經(jīng)網(wǎng)絡算法,通過對特征向量和卷積核大小等參數(shù)的調(diào)整實現(xiàn)推薦速度和推薦準確性的提升,進而在實驗過程中通過誤差均值等參數(shù)來驗證神經(jīng)網(wǎng)絡推薦方法在許多性能上優(yōu)于傳統(tǒng)協(xié)同過濾推薦方法,從而說明算法的有效性.

      2 本文提出的推薦模型

      2.1 相關(guān)模型

      本文選取構(gòu)建神經(jīng)網(wǎng)絡的方法進行推薦算法的實現(xiàn)即神經(jīng)網(wǎng)絡推薦算法(Neural Network Recommendation Algorithms),所設初期計模型將其稱為NNRAM_1.NNRAM_1 中,x_y_embed_layer 是將x對象的y數(shù)據(jù)引入嵌入層后轉(zhuǎn)成的向量矩陣,其中向量的值是-1 到1 之間的隨機數(shù),本質(zhì)就是數(shù)據(jù)降維;x_fc_layer 是x對象的隱含層;concatenate 是做“層”拼接;dense 作為輸出層用以產(chǎn)生x對象的特征矩陣x_combine_layer_flat;inference 是進行預測評分.算法模型NNRAM_1 具體步驟如下:

      (1)構(gòu)建神經(jīng)網(wǎng)絡模型實現(xiàn)用戶特征的提取.模型包含4 層:輸入層、嵌入層、隱含層、輸出層,具體如圖1所示.預處理后的用戶數(shù)據(jù)由輸入層接收后,首先經(jīng)過嵌入層,目的是將用戶的id、年齡、性別和職業(yè)等屬性矩陣分別轉(zhuǎn)成向量矩陣,實現(xiàn)數(shù)字化;其次將嵌入層產(chǎn)生的4 個向量矩陣分別送入隱含層;最后,經(jīng)過在隱含層對用戶年齡及職業(yè)做相應加權(quán)處理后,將4 個隱含層矩陣合并送入輸出層,生成聚合的用戶屬性特征.

      圖1 獲取用戶特征的模型

      (2)與用戶特征的提取同理,將處理后電影數(shù)據(jù)中電影id 和電影類型以同樣的方式處理產(chǎn)生電影基本信息特征.對電影名稱做文本卷積處理,如圖2所示,虛線內(nèi)部分可以循環(huán)多次.首先初始化卷積核的參數(shù)和偏置的參數(shù),指定需要做卷積的文本、卷積核的大小以及卷積的步長.對于卷積核數(shù)的選擇可以嘗試隨機選取數(shù)值,亦可從3 起步,進而選擇使用Tensorboard可視化進行監(jiān)控的方式來觀察損失率的變化情況,從Loss 的信號曲線防止過擬合,反復觀測即可盡快確定卷積核數(shù)量最佳范圍.當然,卷積核越小則網(wǎng)絡中所需參數(shù)數(shù)量和計算量就越小.激活選用ReLU 方法,池化選用max_pool 方法,處理過后生成電影名全連接矩陣;最后將電影信息所產(chǎn)生的3 個局部全連接合并在一起做全連接并輸出,生成電影特征.

      圖2 獲取電影title 特征模型

      (3)將第(1)步和第(2)步中所獲得的特征值進行運算,產(chǎn)生最終的預測評分,如式(1)所示.inference 表示預測評分,A為用戶特征,B為電影特征,考慮到預測評分中用戶特征與電影特征所占比例可能存在不平衡性,為A、B設置權(quán)重w0、w1.實際評分均為整數(shù),預測評分為實數(shù),所以設置偏差b以縮小兩者之間的差距.實驗中,各模型未明確說明時,w0、w1、b的值分別為1、1、0.

      2.2 模型評價標準

      推薦算法評價是驗證推薦算法是否合格的重要環(huán)節(jié)之一,常用指標包括準確度與決策支持精度,本文主要使用統(tǒng)計精度度量中的平均絕對誤差(Mean Absolute Error,MAE),來進行模型評價.MAE 的評價方式為計算預測評分與實際評分二者的絕對平均誤差,MAE 越小代表預測結(jié)果更趨近于真實值,即推薦結(jié)果較優(yōu).MAE 評價公式如式(2)所示,式中n為測試集合元素數(shù),xi表示實際評分,yi表示預測評分.

      3 實驗與結(jié)果分析

      實驗中,將MovieLens-1M 數(shù)據(jù)集分成訓練集和測試集,訓練數(shù)據(jù)與測試數(shù)據(jù)比為9:1,先將訓練數(shù)據(jù)投入網(wǎng)絡模型進行訓練,訓練的最終目的是得到預測評分.訓練結(jié)束后,算法模型得到保存.訓練好的網(wǎng)絡模型用測試數(shù)據(jù)進行測試,以驗證模型的性能,最后使用模型進行推薦.

      3.1 數(shù)據(jù)集及數(shù)據(jù)預處理

      論文所用數(shù)據(jù)集是MovieLens-1M,是將近6000個用戶在將近4000 部電影上所有評論,有一億多條評分數(shù)據(jù).MovieLens-1M 有3 個數(shù)據(jù)表:用戶數(shù)據(jù)表、電影數(shù)據(jù)表、評分數(shù)據(jù)表.其中用戶數(shù)據(jù)分別有用戶id、性別、年齡、職業(yè)id 和郵編等字段;電影數(shù)據(jù)分別有電影id、電影名和電影風格等字段;評分數(shù)據(jù)分別有用戶id、電影id、評分和時間戳等字段.

      在使用之前需要對現(xiàn)有數(shù)據(jù)進行預處理.將用戶數(shù)據(jù)中的年齡和性別字段分別轉(zhuǎn)化為數(shù)字.其中性別中代表男性的M 和代表女性的F 轉(zhuǎn)化為1 和0;對于年齡數(shù)據(jù)將其分為7 段,依次用0 到6 表示.電影名稱和電影類型通過數(shù)據(jù)字典將其轉(zhuǎn)化為數(shù)字.電影名稱數(shù)據(jù)信息分裂為兩個字段信息,電影文字標題及電影年份,進而將電影文字標題轉(zhuǎn)成數(shù)字字典,首先將電影名稱分成字符串列表,然后將每一個單詞字符串變換成一個數(shù)字字符串;在電影類型數(shù)據(jù)中,電影類型的處理同電影名稱轉(zhuǎn)成數(shù)字字典,也是一個單詞對應一個數(shù)字.

      3.2 參數(shù)設置

      模型NNRAM-1 中,filter_num 數(shù)量為8,batch_size 數(shù)量為256,dropout_keep 數(shù)量為0.5,learning_rate 數(shù)量為0.0001.經(jīng)訓練后,train time(s)為329.6 s,損失率為0.833 526,MAE 為0.717 517.

      在NNRAM-1 中參數(shù)值filter_num、batch_size、dropout_keep、learning_rate 不變的情況下,將網(wǎng)絡模型中全連接層的維數(shù)由200 更改為50 產(chǎn)生模型NNRAM-2,發(fā)現(xiàn)其訓練時間縮短將近一半,而Loss 及MAE 均有所下降.在進行數(shù)據(jù)挖掘時發(fā)現(xiàn),電影的年份數(shù)據(jù)未得到使用,而根據(jù)觀影者的日常選擇,影視作品的年份在很大程度上影響著觀影者對其的選取,所以在讀取評分數(shù)據(jù)集后,將電影標題中的年份取出并與現(xiàn)在年份做差運算獲得的信息參與到電影信息特征提取中,產(chǎn)生模型NNRAM-3(全連接層維數(shù)為200)與NNRAM-4(全連接層維數(shù)為50),實驗結(jié)果表明在更改模型設置后,訓練時間、損失函數(shù)及平均絕對誤差均有所下降.訓練結(jié)果對比如表1所示.

      表1 相關(guān)模型訓練結(jié)果參數(shù)對比

      繼續(xù)對模型NNRAM-4 進行改進,卷積核的數(shù)量決定著計算時間的長短及特征提取的準確度,批處理量的大小影響著權(quán)重更新的質(zhì)量,學習率的適度設置可以加快學習的速度,因此對更改模型的卷積核個數(shù)filter_num,對批處理參數(shù)batch_size、學習率learning_rate 值進行調(diào)整以達到運行結(jié)果相對最優(yōu),具體如表2所示;再將數(shù)據(jù)經(jīng)過嵌入層、連接層及全連接層時的維度進行縮減;考慮到電影標題相當于一句話,一般詞組的詞素量為2~3 個,由此改變文本卷積時滑動窗口的單詞數(shù)量,使其適量減小.通過以上參數(shù)的調(diào)整產(chǎn)生了模型NNRAM-5、NNRAM-6、NNRAM-7,模型部分參數(shù)值如表3所示.模型NNRAM-7 中,求inference時w0、w1、b的值分別為0.4、0.6、0.28.

      表2 相關(guān)模型部分參數(shù)對比

      表3 相關(guān)模型數(shù)據(jù)維數(shù)對比

      3.3 實驗結(jié)果分析

      依次運行所設計的3 種模型,實驗結(jié)果如表4所示.

      表4 改進后相關(guān)模型參數(shù)對比

      當模型中各層的維數(shù)適量減小時,訓練時間會大幅減少,如圖3所示.而卷積核數(shù)量的適量減少及卷積時滑動窗口的數(shù)量的合理設置會使損失函數(shù)及平均絕對誤差(MAE)有所下降,如圖4所示,這意味著推薦的準確性隨之增加.

      圖3 改進模型間訓練時間對比

      圖4 改進模型間性能對比

      當對NNRAM_1 與NNRAM_7 的3 次推薦結(jié)果進行對比時發(fā)現(xiàn),加入與時間相關(guān)的字段后的模型NNRAM_7 所推薦的電影日期上都比較新穎,而未改進的模型NNRAM_1 所推薦的電影中部分時間比較久遠,如表5所示.電影年份早或過早,意味著效果不佳,被推薦對象與觀影者獵新習性相違背,觀影需求可能性較小.改進后的模型NNRAM_7 所推薦電影的時間均為與現(xiàn)在時間相近的,符合觀影者需求,所以推薦結(jié)果更容易被觀影者接納.

      表5 相關(guān)模型推薦結(jié)果對比

      文獻[18]中所提及的3 種算法改進的SlopeOne 算法、組合協(xié)同過濾算法、SVD 和CURE 協(xié)同過濾算法的MAE 分別為:1.5、1.38、1.57;文獻[19]中所提及的兩種算法UIPPSCF 和UCF 的MAE 分別為:0.791、0.824;將SlopeOne 算法、組合協(xié)同過濾算法、SVD和CURE 協(xié)同過濾算法、UIPPSCF 算法、UCF 算依次定位M1~M5,聯(lián)合NNRAM_7 算法其MAE 對比如圖5所示.將NNRAM_7 的MAE 值與前5 種模型的MAE 值作對比發(fā)現(xiàn),NNRAM_7 的MAE值比前5 種的平均降低了將近44%.

      圖5 傳統(tǒng)及改進模型間MAE 對比

      3.4 Tensorboard 實現(xiàn)可視化

      在神經(jīng)網(wǎng)絡的訓練過程中,可以通過Tensorboard來記錄、監(jiān)測每個epoch 的梯度值并以做出梯度消失、梯度爆炸等問題研究,可以實時檢測每次循環(huán)后損失率的變化及走勢,可以分析出權(quán)值的更新方向并判斷其是否符合規(guī)律,繼而對神經(jīng)網(wǎng)絡學習率等參數(shù)做出相應的設置和調(diào)整以解決現(xiàn)有問題.

      (1)損失率(Loss)可視化

      Loss 圖像如圖6所示,損失率隨著迭代次數(shù)的增加在不斷下降,下降過程雖然存在震蕩,但整體持續(xù)下降趨勢非常明顯,損失率在不斷降低.通過觀測下降趨勢,可以考慮繼續(xù)加大訓練次數(shù)以降低損失率,并且這一過程時間損耗并不明顯.

      圖6 損失率與迭代次數(shù)的關(guān)系

      (2)梯度更新

      卷積層中權(quán)重曲線縱坐標表示訓練次數(shù),橫坐標表示權(quán)重值,曲線說明權(quán)重值隨著網(wǎng)絡的訓練也在波動做調(diào)整變化.良好訓練的網(wǎng)絡其偏置及權(quán)值反映在曲線上是美觀、光滑的,曲線缺乏結(jié)構(gòu)性則表明訓練不夠理想.電影標題先后兩次池化過程中偏置bias 和權(quán)重weight 的直方圖如圖7所示,對比圖像可知訓練效果良好.

      圖7 電影標題池化過程中偏置bias 和權(quán)重weight 的直方圖

      4 結(jié)束語

      本文嘗試了將普通神經(jīng)網(wǎng)絡與卷積神經(jīng)網(wǎng)絡相結(jié)合應用于推薦過程中的方法,將特征提取的過程用卷積神經(jīng)網(wǎng)絡來實現(xiàn),所形成的模型通過預測評分實現(xiàn)了準確率較高的電影推薦,且在推薦速度和推薦準確性等性能方面相對協(xié)同過濾推薦方法有大幅度提升,說明神經(jīng)網(wǎng)絡可以較理想的實現(xiàn)精準性更高的推薦結(jié)果,雖然在適度的有限循環(huán)內(nèi)模型的損失函數(shù)及平均絕對誤差呈現(xiàn)著明顯的下降趨勢,但還有待通過改進模型結(jié)構(gòu)及調(diào)整參數(shù)取值進一步降低損失,使誤差趨近于最低值.另外,可以考慮將時間戳字段中日期時間的所有信息取出參與數(shù)據(jù)挖掘,因為影評的及時性也體現(xiàn)出觀影者對電影的情感深度,同時觀影的日期時間等信息也暗含了觀影者的其它諸多個人特征如職業(yè)及生活習性等,極具研究價值.

      猜你喜歡
      卷積神經(jīng)網(wǎng)絡算法
      基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
      神經(jīng)網(wǎng)絡抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      基于MapReduce的改進Eclat算法
      Travellng thg World Full—time for Rree
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      進位加法的兩種算法
      基于傅里葉域卷積表示的目標跟蹤算法
      一種改進的整周模糊度去相關(guān)算法
      基于神經(jīng)網(wǎng)絡的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      復數(shù)神經(jīng)網(wǎng)絡在基于WiFi的室內(nèi)LBS應用
      商城县| 萨嘎县| 全南县| 磐石市| 山阴县| 潜山县| 凤阳县| 平陆县| 吉木乃县| 林芝县| 黎川县| 峨眉山市| 万荣县| 措美县| 英山县| 深州市| 高碑店市| 广德县| 定襄县| 葵青区| 大港区| 洛隆县| 平凉市| 托克逊县| 长汀县| 武定县| 饶阳县| 北京市| 宜州市| 江陵县| 西贡区| 阿坝县| 旺苍县| 兴安盟| 大足县| 连平县| 东乡族自治县| 衡山县| 桃源县| 内黄县| 台前县|