亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于深度學(xué)習(xí)的電影推薦算法

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

        李浩然 劉光遠(yuǎn) 張樂瑩

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

        關(guān)鍵詞: 卷積神經(jīng)網(wǎng)絡(luò)(CNN)、協(xié)同過濾、文本卷積網(wǎng)絡(luò)、迭代次數(shù)、小批量梯度下降法(MBGD)

        中圖分類號: TP183 ? ?文獻(xiàn)標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.036

        本文著錄格式:李浩然,劉光遠(yuǎn),張樂瑩. 一種基于深度學(xué)習(xí)的電影推薦算法[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 ?引言

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

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

        1 ?相關(guān)工作

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

        同時(shí)傳統(tǒng)的推薦系統(tǒng)使用的協(xié)同過濾技術(shù)過于單一,往往只綜合評分和同樣用戶的觀看記錄,然而在本模型中我們使用了文本卷積網(wǎng)絡(luò)處理電影名稱同時(shí)作為推薦的另外一個(gè)評判標(biāo)準(zhǔn)。

        本文未實(shí)用深層神經(jīng)網(wǎng)絡(luò)主要有以下兩個(gè)考慮原因,首先DNN結(jié)構(gòu)的神經(jīng)元層數(shù)較多,訓(xùn)練的結(jié)果極易受極值的影響,影評中的極端評價(jià)則有極大可能使模型陷入局部極值。其次較深層次的網(wǎng)絡(luò)需要十分大量的數(shù)據(jù)進(jìn)行訓(xùn)練,不足量的數(shù)據(jù)可能導(dǎo)致自底層只能接收到小量的數(shù)據(jù)甚至無法接收到數(shù)據(jù),從而在擬合時(shí)出現(xiàn)偏差。

        BP神經(jīng)網(wǎng)絡(luò)[6-9]和DNN存在相似的問題,雖然其按誤差逆?zhèn)鞑ニ惴ㄟM(jìn)行模型訓(xùn)練,有著較高的容錯性和泛化自適應(yīng)性,但是多層次的前饋網(wǎng)絡(luò)卻十分依賴于樣本,訓(xùn)練和預(yù)測能力的趨勢并不固定。并且需要合適的數(shù)據(jù)量進(jìn)行訓(xùn)練,否則會容易因訓(xùn)練的樣本過多或過少而導(dǎo)致過度擬合。

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

        2 ?相關(guān)模型和算法

        2.1 ?文本卷積網(wǎng)絡(luò)

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

        2.2 ?模型設(shè)計(jì)

        本文所采用的算法CNN為一種深度神經(jīng)網(wǎng)絡(luò),其基本模型如圖2所示。

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

        3 ?實(shí)驗(yàn)

        3.1 ?數(shù)據(jù)集

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

        3.2 ?數(shù)據(jù)預(yù)處理

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

        3.3 ?訓(xùn)練參數(shù)設(shè)置

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

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

        圖8和圖9為在batch_size同為64的情況下,分別將迭代次數(shù)設(shè)置為5和20兩個(gè)不同的數(shù)值時(shí),模型的訓(xùn)練缺損和測試缺損的統(tǒng)計(jì)分布。從圖中可以明顯的看出,當(dāng)?shù)螖?shù)被設(shè)置為20次時(shí),訓(xùn)練缺損和測試缺損并未出現(xiàn)5次迭代實(shí)驗(yàn)時(shí)的大幅波動,其呈現(xiàn)出了更加穩(wěn)定的狀態(tài)。而在結(jié)果上,迭代次數(shù)為20的這次訓(xùn)練和測試與迭代次數(shù)為5時(shí)完全相同,故本文認(rèn)為,當(dāng)batch_size為確定值時(shí),增加迭代次數(shù)可以使訓(xùn)練和測試結(jié)果更加穩(wěn)定,然而增加迭代次數(shù)會使訓(xùn)練時(shí)間更長,應(yīng)當(dāng)適量的增加迭代次數(shù)。

        3.4 ?實(shí)驗(yàn)結(jié)果

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

        4 ?總結(jié)

        本文利用文本卷積網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)對電影數(shù)據(jù)進(jìn)行分析和建模,通過多次實(shí)驗(yàn)對CNN的參數(shù)進(jìn)行了調(diào)整和校對并確認(rèn)了最優(yōu)的卷積神經(jīng)網(wǎng)絡(luò)參數(shù),最終成功地實(shí)現(xiàn)了電影推薦系統(tǒng),該系統(tǒng)綜合了多種維度并依然保持著很高的推薦精確度,明顯優(yōu)于傳統(tǒng)的電影推薦系統(tǒng)。目前該系統(tǒng)存在的問題是缺少最新的電影數(shù)據(jù)進(jìn)行測評,故還需要更多的實(shí)驗(yàn)來進(jìn)行該系統(tǒng)的完善。

        參考文獻(xiàn)

        [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īng)網(wǎng)絡(luò)的人臉識別系統(tǒng)[J]. 軟件, 2015, 36(12): 76-79.

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

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

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

        [11] 劉健袁, 謙吳, 廣喻曉. 卷積神經(jīng)網(wǎng)絡(luò)綜述. TP183.

        [12] 趙宏, 郭萬鵬. 深度神經(jīng)網(wǎng)絡(luò)代價(jià)函數(shù)選擇與性能評測研究[J]. 軟件, 2018, 39(01): 14-20.

        99热视热频这里只有精品| 欧美老肥妇做爰bbww| 人妻无码一区二区视频| 国产精品亚洲综合久久婷婷| 国产美女三级视频网站| 国产三级精品av在线| 久久天天躁狠狠躁夜夜不卡| 丰满爆乳无码一区二区三区| 麻豆人妻无码性色AV专区| av免费观看网站大全| 艳z门照片无码av| 国产精品 高清 尿 小便 嘘嘘| 久久99老妇伦国产熟女高清| 日韩av在线不卡一区二区| 久久亚洲精品成人无码| 欧美高大丰满freesex| 日韩最新av一区二区| 国产熟女露脸91麻豆| 久久精品黄aa片一区二区三区| 免费毛片在线视频| 国产视频一区二区三区免费| 免费午夜爽爽爽www视频十八禁| 一本加勒比hezyo无码人妻| 98国产精品永久在线观看| 一区二区三区日本视频| 男人和女人做爽爽视频| 久久精品国产9久久综合| 精品理论一区二区三区| 手机在线免费av资源网| 欧美bbw极品另类| 国产一区二区三区4区| 侵犯了美丽丰满人妻中文字幕| 亚洲第一最快av网站| yeyecao亚洲性夜夜综合久久| 国产一区二区三区资源在线观看| 日韩精品中文一区二区三区在线| 全免费a级毛片免费看网站| 亚洲色图综合免费视频| 你懂的视频在线看播放| 国产精品久久久久aaaa| 亚洲欧洲精品成人久久曰影片|