999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于深度學習的電影推薦算法

2019-10-08 06:43:30李浩然劉光遠張樂瑩
軟件 2019年5期

李浩然 劉光遠 張樂瑩

摘 ?要: 隨著互聯網的發展,人們的娛樂方式趨于多樣化,但人們總想可以直接定位根據自己口味的電影而不是通過自己的搜索和朋友的推薦。然而目前已有的推薦系統機制過于簡單,往往是根據網友對電影的的綜合評分,可根據關鍵字,類別等具體搜索,久而久之的搜索痕跡來證明用戶的喜好。這種基于協同過濾的推薦系統在遇到冷啟動問題時會產生較大的偏差。本文利用卷積神經網絡結合協同過濾系統設計出了一款基于神經網絡的電影推薦系統,利用MBGD(小批量梯度下降法)對模型進行優化,并在有限的數據集下進行了該系統的實驗。實驗結果表明該系統比傳統推薦方法具有更高的準確性。

關鍵詞: 卷積神經網絡(CNN)、協同過濾、文本卷積網絡、迭代次數、小批量梯度下降法(MBGD)

中圖分類號: TP183 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.036

本文著錄格式:李浩然,劉光遠,張樂瑩. 一種基于深度學習的電影推薦算法[J]. 軟件,2019,40(5):185189

【Abstract】: With the development of the Internet, people's entertainment methods tend to be diversified, but people always want to be able to directly locate movies according to their own tastes rather than through their own search and friends' recommendations. However, the existing recommendation system mechanism is too simple, and it is often based on the comprehensive rating of the users on the movie, and the user's preferences can be proved according to the specific search of keywords, categories, and the like. This collaborative filtering-based recommendation system can cause large deviations when it encounters a cold start problem. In this paper, a convolutional neural network combined with collaborative filtering system is used to design a movie recommendation system based on neural network. The model is optimized by MBGD (small batch gradient descent method), and the experiment of the system is carried out under a limited data set. Experimental results show that the system has higher accuracy than the traditional recommended method.

【Key words】: Convolutional neural network(CNN); Collaborative filtering; Text convolutional network; Iteration number; Small batch gradient descent method (MBGD)

0 ?引言

隨著互聯網的發展,人們的娛樂方式趨于多樣化,但人們總想可以直接定位根據自己口味的電影而不是通過自己的搜索和朋友的推薦,同時,各大觀影平臺和電影評分網站也希望可以通過對用戶已公開的數據進行分析從而推薦出用戶可能喜歡的電影以增加用戶粘性,例如全美最大收費視頻平臺Netflix曾舉辦競賽[1]來獲得最佳算法以改進其推薦系統。傳統的點評和推薦的機制較為簡單,往往是根據網友對電影的的綜合評分,可根據關鍵字,類別等具體搜索,久而久之的搜索痕跡來證明用戶的喜好。然而電影的偏好所涉及的因素多種多樣。例如傳統的基于電影評分的單一系統無法考慮到部分影片存在用戶惡意低評或者批量好評提升評分的現象,所以僅根據電影評分進行推薦會導致推薦混亂。若是用戶僅根據電影類別進行搜索,搜索結果也只是將電影進行歸類,這些結果并沒有經過篩選,所以電影口碑參差不齊的搜索結果也會在一定程度上影響用戶對電影和電影人的評價。因此當今亟需一個綜合更多維度的有效推薦系統。

基于此,本文使用MovieLen數據集[2],提取其中電影名稱和電影ID并與電影類型綜合使用解決問題,主體使用卷積神經網絡[3],附加通過文本卷積神經網絡[4]結合協同過濾技術[5]增加算法可靠性。為了驗證模型的有效性本文采用相關數據進行測 ?試對比,實驗結果表明本文的模型和方法有較好的效果。

1 ?相關工作

傳統對情感分析的方法是利用情感字典將各類詞匯根據經驗進行分類,之后將分類的結果作為依據對情感進行分析。將不好看,無聊等消極的詞匯自動歸為差評,將好看,經典等詞匯歸為好評,這樣雖然能成功的根據電影的影評來對電影進行自動評分,但是有些生僻或者莫能兩可的詞匯卻會對評分產生干擾甚至是錯評,具有較低的精度,并且情感字典需要極其大量的數據和人為經驗的預先規定和輸入,在沒有相關語言背景的條件下幾乎無法實現。之后也利用機器學習來對情感進行分析預測,但是對機器訓練的過程中需要極其大量的數據作為支柱來提高結果的精確性,這種方法也不便于執行。

同時傳統的推薦系統使用的協同過濾技術過于單一,往往只綜合評分和同樣用戶的觀看記錄,然而在本模型中我們使用了文本卷積網絡處理電影名稱同時作為推薦的另外一個評判標準。

本文未實用深層神經網絡主要有以下兩個考慮原因,首先DNN結構的神經元層數較多,訓練的結果極易受極值的影響,影評中的極端評價則有極大可能使模型陷入局部極值。其次較深層次的網絡需要十分大量的數據進行訓練,不足量的數據可能導致自底層只能接收到小量的數據甚至無法接收到數據,從而在擬合時出現偏差。

BP神經網絡[6-9]和DNN存在相似的問題,雖然其按誤差逆傳播算法進行模型訓練,有著較高的容錯性和泛化自適應性,但是多層次的前饋網絡卻十分依賴于樣本,訓練和預測能力的趨勢并不固定。并且需要合適的數據量進行訓練,否則會容易因訓練的樣本過多或過少而導致過度擬合。

所以在此情況下,本文考慮使用的CNN卷積神經網絡他不僅允許人為的規定訓練的重心,通過逐層的特征提取來提升分類的準確性[10],而且其局部連接,權值共享及采樣操作等特性可以有效的降低網絡的復雜度,減少訓練參數的數目[11]。

2 ?相關模型和算法

2.1 ?文本卷積網絡

在進行電影推薦時,我們需要處理的數據類別包含了用戶的年齡、性別、喜好的電影類型、電影的評分以及電影的名稱。相對于前4個元素,我們對數據進行了預處理,然而電影的名稱并不好轉化為數字,所以在對其進行分析和建模時我們使用了文本卷積網絡,網絡的具體樣式如圖1所示,其中,網絡的第一層為詞嵌入層,該層為多個嵌入矩陣,每個嵌入矩陣由多個嵌入向量組成,每個嵌入向量均表示一個單詞。第二層為多個不同尺寸的卷積核在詞嵌入層的矩陣上做卷積,尺寸大小表示了每次卷積計算覆蓋的單詞的多少。不同于對圖像的卷積,文本的卷積要覆蓋整個單詞的嵌入向量,所以其尺寸為單詞數,每次卷積滑動的長度一般為4~5個單詞。第三層網絡是max pooling所得到的一個長向量,最后通過deopout對結果進行正則化,最終得到了電影名稱的特征值。

2.2 ?模型設計

本文所采用的算法CNN為一種深度神經網絡,其基本模型如圖2所示。

首先,本文在輸入層使用了嵌入層將數據進行處理并得到模型訓練所需的特征。在第一層嵌入層中,本文設置的維度分別為(n,32)和(n,16),然而由于有些電影存在多個類型,比如科幻動作,所以,本文將電影類型的特征矩陣取出后進行了求和,得到了一個(1,32)的向量。之后,將所有特征引出并將其接連傳輸到兩個全鏈接層中,最終分別得到大小為(1,200)的用戶特征和電影特征兩個特征向量。本文通過對這兩個特征向量做向量乘法,將真實測評與該結果做回歸分析,采用均方誤差對結果進行優化,最終得出了相較完美的電影推薦結果。

3 ?實驗

3.1 ?數據集

本文所用到的數據為MovieLens所提供的數據集。這其中包含了大約3,900部電影的1,000,209個匿名評級,以及匿名用戶的部分身份信息。用戶數據中包括了用戶的年齡、性別、職業和郵編。為了更方便地使用數據,我們對數據進行了處理,將不需要的郵編數據進行了舍棄,將性別修改成了0和1方便讀取,對不同的職業進行了不同的編碼,并且將年齡按照不同的年齡段劃分為了0~6多個層級,最終的數據內容如圖3所示。電影數據中,則包含了電影的名稱和電影的類別,其中,一部電影的類別可能為很多種,考慮到后面訓練模型時可能會遇到的問題,本文對電影的類別數據通過了如上文中所述的文本卷積網絡進行了處理。電影數據的內容如圖4所示。本次所使用的數據集還有另外一個評級數據集,也就是本文在訓練時設置的Target,其中包含了用戶的ID、電影的ID、電影的星級評價(滿分為5)以及評價時間,由于本次模型訓練的Target為電影的評分,故我們在訓練時將評價時間舍棄,具體的數據內容如圖5所示。

3.2 ?數據預處理

由于在數據集中,電影的類別和名稱都是文本的形式,本文將其轉化為了數字類型。首先將其轉化為字符串,并以數字的形式保存在字典類型當中,之后,由于電影的類別包含多個參數,電影的名稱包含多個字段,我們均將其轉換為了數字列表,同時去掉了電影名稱中的年份。最終結果如下圖6所示。

3.3 ?訓練參數設置

本文在初次進行卷積神經網絡建模時產生了較大的誤差,為了保證算法的精確性,且由于實驗使用的數據量較大,本文最終決定采用MBGD(小批量梯度下降法)對卷積神經網絡進行優化。但其在模型訓練過程中需要使用大量的訓練數據進行長時間的計算,其中,代價函數和激活函數的選擇對模型的訓練效率有很大的影響[12]。優化過程中,影響最大的參數主要有三個:batch_size、學習率和迭代次數。本文為了探究不同參數影響下卷積神經網絡的推薦結果,分別設置了三組不同的參數。其中,學習率我們設為0.0001。dropout我們設為0.5。batch_size和迭代次數分別設為了64和5、256和5、64和20這三組,并分別求出了不同情況下,train loss(訓練缺損)和test loss(測試缺損)的統計圖,結果分別如圖7-9表示。

圖7和圖8為在迭代次數同為5的情況下,分別將batch_size設置為64和256兩個不同數值時,模型的訓練缺損和測試缺損的統計分布,從圖中可以看出,當batch_sieze被設置為256時,明顯其訓練缺損由最初的0.48~0.85降低到了最終的0.41~ 0.7,其測試缺損由最初的0.6~1.1降低到了0.53~ 0.93,說明訓練和測試的缺損經過多次迭代后有所降低。然而,其整個訓練過程并不穩定,說明迭代次數過少。當batch_size被設置為64時,可明顯看出相較于先前設置的參數而言,訓練缺損明顯有所降低。其訓練缺損由最初的0.48~0.82降低到了0.42~0.7,其測試缺損由最初的0.6~1.1降低到了0.52~0.91。同于batch_size被設為256的情況,訓練和測試的缺損,經過多次迭代后有所降低,但是其整個訓練過程依然并不穩定。通過對batch_size的數值進行修改,本文發現,當對一定大小的數據集進行訓練時,適當的縮小batch_size可以有效的降低訓練缺損。

圖8和圖9為在batch_size同為64的情況下,分別將迭代次數設置為5和20兩個不同的數值時,模型的訓練缺損和測試缺損的統計分布。從圖中可以明顯的看出,當迭代次數被設置為20次時,訓練缺損和測試缺損并未出現5次迭代實驗時的大幅波動,其呈現出了更加穩定的狀態。而在結果上,迭代次數為20的這次訓練和測試與迭代次數為5時完全相同,故本文認為,當batch_size為確定值時,增加迭代次數可以使訓練和測試結果更加穩定,然而增加迭代次數會使訓練時間更長,應當適量的增加迭代次數。

3.4 ?實驗結果

通過上述步驟,本文最終將參數設定為batch_size設置為64、迭代次數為20次、學習率為0.0001、dropout設置為0.5。通過用戶特征向量與電影特征矩陣計算所有電影的評分,取評分最高的top_k個來實現給用戶推薦其可能喜歡的電影。具體實現的結果如圖10所示。通過本文輸入的電影,系統最終給出了符合相同類別的最佳評分的5個電影,可以認為,本文的這種電影推薦算法表現出了十分良好的性能。

4 ?總結

本文利用文本卷積網絡和卷積神經網絡(CNN)對電影數據進行分析和建模,通過多次實驗對CNN的參數進行了調整和校對并確認了最優的卷積神經網絡參數,最終成功地實現了電影推薦系統,該系統綜合了多種維度并依然保持著很高的推薦精確度,明顯優于傳統的電影推薦系統。目前該系統存在的問題是缺少最新的電影數據進行測評,故還需要更多的實驗來進行該系統的完善。

參考文獻

[1] Netflix Prize https://www.netflixprize.com/index.html.

[2] F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: Historyand Context. ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 4,Article 19 (December 2015), 19 pages. DOI=http://dx.doi.org/10.1145/ 2827872.

[3] LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.

[4] Kim Y. Convolutional neural networks for sentence classification[J]. arXiv preprint arXiv:1408.5882, 2014.

[5] Sarwar B M, Karypis G, Konstan J A, et al. Item-based collaborative filtering recommendation algorithms[J]. Www, 2001, 1: 285-295.

[6] Pineda F J. Generalization of back-propagation to recurrent neural networks[J]. Physical review letters, 1987, 59(19): 2229.

[7] 安大海, 蔣硯軍. 基于BP神經網絡的人臉識別系統[J]. 軟件, 2015, 36(12): 76-79.

[8] 王宏濤, 孫劍偉. 基于BP神經網絡和SVM 的分類方法研究[J]. 軟件, 2015, 36(11): 96-99.

[9] 吳亞熙, 岑峰. 基于卷積神經網絡的多層級目標檢測方法[J]. 軟件, 2018, 39(4): 164-169.

[10] 張敏, 徐啟華. 基于改進BP的神經網絡模型參考自適應控制[J]. 軟件, 2015, 36(7): 118-123.

[11] 劉健袁, 謙吳, 廣喻曉. 卷積神經網絡綜述. TP183.

[12] 趙宏, 郭萬鵬. 深度神經網絡代價函數選擇與性能評測研究[J]. 軟件, 2018, 39(01): 14-20.

主站蜘蛛池模板: 思思99热精品在线| AV老司机AV天堂| 91网在线| 玖玖精品视频在线观看| 精品国产91爱| 成人在线第一页| 国产毛片久久国产| 白浆免费视频国产精品视频| 久夜色精品国产噜噜| 中文字幕亚洲综久久2021| 亚洲日韩第九十九页| 亚洲一道AV无码午夜福利| 免费观看国产小粉嫩喷水| 天天综合天天综合| 亚洲欧美日韩中文字幕在线一区| 国产极品美女在线观看| 在线免费观看AV| 亚洲综合激情另类专区| 亚洲中久无码永久在线观看软件| 日韩激情成人| 久久亚洲高清国产| 992Tv视频国产精品| 狼友视频国产精品首页| 久久夜色精品国产嚕嚕亚洲av| 亚洲欧美成人| 老司机午夜精品视频你懂的| 日本午夜影院| 日本日韩欧美| 国产精品视频猛进猛出| 成年人免费国产视频| 久996视频精品免费观看| 亚洲国产理论片在线播放| 人人91人人澡人人妻人人爽| 精品无码一区二区三区在线视频| 国产高颜值露脸在线观看| 亚洲va精品中文字幕| 国产精品播放| 亚洲精品大秀视频| 久久国产精品麻豆系列| 午夜无码一区二区三区在线app| 久操中文在线| 美女视频黄频a免费高清不卡| 日韩欧美高清视频| 高清色本在线www| 波多野结衣一区二区三区四区| 在线中文字幕网| 视频一区亚洲| 精品国产Ⅴ无码大片在线观看81| 欧美激情视频在线观看一区| 久久精品国产在热久久2019| 高清不卡毛片| 中文字幕在线播放不卡| 国产区成人精品视频| 亚洲天堂视频网站| 久久香蕉国产线看观看式| 久久美女精品| 欧美三级不卡在线观看视频| 国产精品偷伦视频免费观看国产| 波多野结衣第一页| 亚洲天堂日韩在线| 美女潮喷出白浆在线观看视频| 伊人久综合| 国产91线观看| 日日碰狠狠添天天爽| 狠狠色狠狠综合久久| 永久在线精品免费视频观看| 狠狠v日韩v欧美v| 毛片久久久| 欧美另类图片视频无弹跳第一页| 999国内精品视频免费| 亚洲天堂2014| 国产爽爽视频| 福利视频一区| 亚洲AⅤ无码日韩AV无码网站| 亚卅精品无码久久毛片乌克兰| 日本国产在线| 欧美午夜视频| 色偷偷男人的天堂亚洲av| 无码人中文字幕| 午夜国产理论| 国产成人无码AV在线播放动漫| 激情在线网|