• 
    

    
    

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

      ?

      基于迭代SVD的電影推薦算法的研究

      2021-07-19 09:37武文碩左安
      電腦知識與技術 2021年15期
      關鍵詞:協(xié)同過濾

      武文碩 左安

      摘要:現(xiàn)有的電影推薦算法中,協(xié)同過濾算法是最常使用、操作最簡單方便的算法,但傳統(tǒng)的協(xié)同過濾算法存在評分矩陣稀疏、推薦精度低等問題。針對這些問題,提出了矩陣填充策略,根據(jù)矩陣填充技術的優(yōu)缺點,選擇了幾種填充稀疏矩陣的方法,并且利用迭代SVD算法得到了電影推薦的局部最優(yōu)解,并利用均方根誤差(RMSE)對結果進行了評價,利用R軟件對電影評分數(shù)據(jù)集進行處理,實驗結果表明,與傳統(tǒng)的協(xié)同過濾推薦算法相比,迭代SVD算法能有效地提高推薦的準確性,更加準確地給用戶提供想看的電影。

      關鍵詞:協(xié)同過濾;矩陣填充;稀疏矩陣;電影推薦

      中圖分類號:TP391.3? ? ? ? 文獻標識碼:A

      文章編號:1009-3044(2021)15-0001-03

      Abstract: Among the existing film recommendation algorithms, collaborative filtering algorithm is the most commonly used and easy to operate algorithm, but the traditional collaborative filtering algorithm has the problems of sparse rating matrix and low recommendation accuracy. According to the advantages and disadvantages of matrix filling technology, several methods of filling sparse matrix are selected. The local optimal solution of movie recommendation is obtained by using iterative SVD algorithm, and the results are evaluated by root mean square error (RMSE). Finally, R software is used to process the movie rating data set. The experimental results show that the proposed method is more effective than the traditional method Compared with the collaborative filtering recommendation algorithm based on SVD, the iterative SVD algorithm can effectively improve the accuracy of recommendation and provide users with more accurate movies they want to see.

      Keywords: collaborative filtering; matrix filling; sparse matrix; movie recommendation

      1引言

      隨著互聯(lián)網(wǎng)科技的迅速發(fā)展,我們現(xiàn)在進入信息時代,信息量呈現(xiàn)爆炸式地增長,人們從網(wǎng)上搜到的數(shù)據(jù)越來越多,相比之下,有用的數(shù)據(jù)量少之又少。為了幫助人們從紛繁復雜的信息中,找到自己需要的內(nèi)容,個性化推薦系統(tǒng)應運而生,本文介紹了電影推薦算法以及改進算法,通過對大量的數(shù)據(jù)進行處理分析、數(shù)據(jù)可視化,得出結論是通過SVD處理后,推薦精度能夠得到進一步的提升,有效克服了傳統(tǒng)推薦算法的缺點。

      2研究方法

      2.1協(xié)同過濾算法

      協(xié)同過濾算法是一種較為著名和常用的推薦算法,它是通過用戶的歷史搜索記錄和瀏覽記錄等信息,對這些信息進行數(shù)據(jù)挖掘,與相似的客戶群體和物品進行對比,發(fā)現(xiàn)客戶的喜好,據(jù)此預測用戶可能喜好的產(chǎn)品進行推薦。也就是常見的“猜你喜歡”,和“購買了該商品的人也喜歡”等功能。它的主要實現(xiàn)由:

      1) 根據(jù)和你有共同喜好的人給你推薦;

      2) 根據(jù)你喜歡的物品給你推薦相似物品;

      3) 根據(jù)以上條件綜合推薦。

      因此可以得出常用的協(xié)同過濾算法分為兩種,基于用戶的協(xié)同過濾算法,以及基于項目的協(xié)同過濾算法。特點可以概括為“物以類聚,人以群分”,并據(jù)此進行預測和推薦。本文將使用基于用戶的協(xié)同過濾算法(UBCF) 、基于項目的協(xié)同過濾算法(IBCF) 、基于SVD的協(xié)同過濾算法,這三種基礎的協(xié)同過濾算法作為參照組進行比較。協(xié)同過濾推薦算法的基本原理是通過“用戶-項目“評分矩陣Z計算相似度,評分矩陣Z為m×n維矩陣,m為用戶的數(shù)目,n為項目的數(shù)目,每一個元素[ru,i]表示用戶u對項目i的評分。該評分矩陣一般是具有強“稀疏性”(sparsity)的大矩陣。圖1空白位置對應矩陣的數(shù)據(jù)缺失。

      傳統(tǒng)的協(xié)同過濾推薦算法通常有以下三個缺點:稀疏性,從上圖我們可以看出來空白的地方非常大,表明數(shù)據(jù)矩陣非常稀疏,形成目標用戶的最近用戶集時,往往會造成信息缺失,從而導致推薦效果降低;冷啟動性,冷啟動又叫作第一評價問題,或新物品問題,當新項目和新用戶首次出現(xiàn)的時候,評價和反饋的信息都比較少,使得推薦的效果差強人意,一定程度上看成是稀疏矩陣的極端情況;最后就是可擴展性,面對每日新增的用戶和增多的電影數(shù)量,數(shù)據(jù)量急劇增長,算法面對不斷擴大的數(shù)據(jù)規(guī)模,推薦準確性下降,即可擴展性面臨挑戰(zhàn)。

      針對以上推薦算法的不足之處,本文提出迭代奇異值分解(Singular Value Decomposition,SVD)來解決這些問題。

      2.2迭代SVD算法

      具體來說,對于[Z:m×n], 令[Ω?{1,…,m}×{1,…,n}]表示[Z]中觀測到的元素的索引的集合,給定這些觀測值,一個自然的思路是可對應尋找[Z]的最低秩矩陣[Z],即[Z=argminM∈Rm×nrank(M),其約束為mij=zij,(i,j)∈Ω]。

      但含缺失數(shù)據(jù)的最低秩問題計算非常困難,一般無法求解。因此,更常見的求解方法是允許所得到的[M]矩陣與觀測值之間有一定誤差,即

      [Zr=argminrank(M)≤r(i,j)∈Ω(zij-mij)2]

      該問題是非凸優(yōu)化,通常得不到最優(yōu)解,但可以采用迭代算法來得到局部最優(yōu)解。

      步驟一:通過對[Z]進行隨機填充,初始化[Z];

      步驟二:通過計算[Z]的r秩SVD求解[M]:

      [Z=UDVT, M←UrDVT;]

      步驟三:基于[M]對[Z]的缺失部分進行填充:

      [zij←mij,(i,j)?Ω;]

      步驟四:重復第2-3步,直至算法收斂。

      2.3預測準確度

      預測準確度是用來評價電影推薦算法的預測評分與用戶的實際評分是否接近的指標,在推薦系統(tǒng)中,預測準確度是很重要的參數(shù),通過準確度的計算,我們可以知道推薦算法的有效程度。常用的預測評分準確度標準有:平均絕對誤差(MAE) 、均方根誤差(RMSE) ,定義如下:

      [MAE=i=1N|ri-ri|N]? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)

      [RMSE=i=1N(ri-ri)^2N]? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)

      其中[ri]表示的是用戶u對于項目i的真實評分,[ri]表示的是預測評分,N表示測試集的大小。從公式可以看出RMSE更復雜且偏向更高的誤差,而且用RMSE來定義損失函數(shù)是平滑可微的,因此它是許多模型的默認度量標準。我們本文選擇RMSE作為分析結果的標準,為了說明樣本的離散程度,RMSE的數(shù)值越小代表準確度越高。

      3實驗分析

      3.1實驗數(shù)據(jù)集

      針對此次電影推薦算法的研究,選用的數(shù)據(jù)集是Movielens電影評分數(shù)據(jù)集中最小的一組數(shù)據(jù)MovieLenslastest small是最小的一組數(shù)據(jù),此數(shù)據(jù)集是由美國明尼蘇達大學Grouplens項目從Movielens站點整理而來,廣泛應用于個性化推薦算法研究中,數(shù)據(jù)集包括600余名用戶對9000余部電影1,000,000余個評分(1~5),評分值越高表示越滿意。原始數(shù)據(jù)可從grouplens.org/datasets/movielens下載, 根據(jù)包含的數(shù)據(jù)量與評分年份的不同, 提供了不同的版本。

      3.2實驗設計和結果分析

      第一步利用R語言自帶的Recommender包對Movielenslastest small數(shù)據(jù)集進行處理,得到RMSE的值,這是傳統(tǒng)協(xié)同過濾算法得到的結果,作為標準組進行對照,結果如下表1:

      從結果我們可以看出,svd算法的RMSE值最小,在基于用戶,基于項目和基于svd的協(xié)同算法中,基于svd的方法更加有效一點,具有更好的推薦效果。

      第二步對傳統(tǒng)協(xié)同算法進行改進,將數(shù)據(jù)集隨機抽取75%左右的評分為訓練集,25%為測試集,利用上述迭代SVD算法,在Movielens數(shù)據(jù)集上進行評分填充,選取秩r為2,3,4,5,10,50,100, 分別報告評分填充在訓練集和測試集上的RMSE, 對訓練集的數(shù)據(jù)矩陣行和列進行中心化,對中心化后的訓練集數(shù)據(jù)矩陣也求解RMSE,得到的結果如下表2所示:

      實驗數(shù)據(jù)表明,隨著秩r逐漸增大,RMSE逐漸減小,這表明當r越大,推薦精度越準確,訓練集和測試集的數(shù)據(jù)量不同;從圖中可以清晰地看出,測試集的RMSE明顯小于訓練集,說明數(shù)據(jù)量的大小會影響推薦算法的精確度,并不是數(shù)據(jù)越多評分準確率就會高,而是數(shù)據(jù)量少一點,推薦就會越準確因此在實際過程中可以適當減少數(shù)據(jù)量,這也會相應減少建立模型所用的時間;其次就是對訓練集數(shù)據(jù)矩陣行和列進行中心化后,能夠明顯提高推薦算法的準確性,隨著秩r的增加,中心化前后的數(shù)據(jù)矩陣推薦精度相差不大。由以上可知此算法的推薦效果較為有效。

      第三步是利用R包softImpute對訓練集和測試集進行矩陣填充時得到的RMSE如表3所示:

      從這種數(shù)據(jù)填充方法的結果來看,RMSE的值要比傳統(tǒng)推薦方法的小一點,但是和第二步得到的結果相比大得多,所以使用R語言自帶的包對矩陣進行填充能夠解決矩陣稀疏性的問題,提高推薦的準確性,但是相比之下還是本文提出的迭代SVD算法優(yōu)化效果更加顯著。

      4論文總結

      本文介紹了幾個不同的電影推薦算法,主要是基于矩陣填充的迭代SVD協(xié)同過濾算法,通過對數(shù)據(jù)矩陣采用不同的填充方式,解決了數(shù)據(jù)的稀疏性問題,然后比較均方根誤差(RMSE)的結果。實驗結果表明,對數(shù)據(jù)矩陣進行矩陣填充之后能夠提高評分的準確度,其中對信息矩陣的行和列進行中心化最為準確。然而,我們判斷的方法也有一定的局限性,首先評判標準過于單一,數(shù)據(jù)的可信度可能不夠,此外影響推薦算法準確度的因素還有很多,比如虛假評分和用戶興趣隨時間改變的影響,會對我們的實驗結果有不利的影響。

      在實驗過程中也遇到了一些問題,由于填充的數(shù)據(jù)量有些大,給內(nèi)存和運算帶來了一定的挑戰(zhàn),在進行迭代循環(huán)所耗費的時間也是比較長的,這也是下一步需要解決的問題。

      參考文獻:

      [1] 徐吉.基于協(xié)同過濾和矩陣分解的推薦系統(tǒng)研究與應用[D].寧波:寧波大學,2019.

      [2] 吳濤.推薦系統(tǒng)中推薦算法研究及其應用[D].北京:北京交通大學,2019.

      [3] Mazumder R,Hastie T,Tibshirani R.Spectral regularization algorithms for learning large incomplete matrices[J].Journal of Machine Learning Research,2010,11:2287-2322.

      [4] Sarwar B,Karypis G,Konstan J,et al.Application of dimensionality reduction in recommender system - A case study[R].Defense Technical Information Center,2000.

      [5] 袁泉,成振華,江洋.基于知識圖譜和協(xié)同過濾的電影推薦算法研究[J].計算機工程與科學,2020,42(4):714-721.

      [6] 王祥德,雷玉霞,閆昱姝.基于矩陣填充的SVD協(xié)同過濾算法研究[J].微型機與應用,2017,36(19):55-57,61.

      [7] 吳志鵬.基于矩陣分解的推薦算法研究[D].北京:北京郵電大學,2019.

      [8] 彭石,周志彬,王國軍.基于評分矩陣預填充的協(xié)同過濾算法[J].計算機工程,2013,39(1):175-178,182.

      [9] 馬宏偉,張光衛(wèi),李鵬.協(xié)同過濾推薦算法綜述[J].小型微型計算機系統(tǒng),2009,30(7):1282-1288.

      [10] 韓亞楠,曹菡,劉亮亮.基于評分矩陣填充與用戶興趣的協(xié)同過濾推薦算法[J].計算機工程,2016,42(1):36-40.

      [11] 聶常超.一種基于矩陣分解的電影推薦算法[J].電子設計工程,2016,24(19):73-75.

      [12] 郭珈辰.電影推薦算法的研究與實現(xiàn)[D].長春:吉林大學,2015.

      [13] 陳垠芬.基于矩陣填充與圖嵌入表示的個性化推薦算法研究[D].南昌:江西師范大學,2019.

      [14] 趙軍,王紅,殷方勇.一種面向稀疏和虛假評分的協(xié)同推薦方法[J].小型微型計算機系統(tǒng),2017,38(3):472-477.

      [15] 陳塏冰,黃榮,吳明芬,等.一種基于電影評分預測的協(xié)同過濾[J].哈爾濱師范大學自然科學學報,2018,34(6):1-5,11.

      [16] 黃麗.基于SVD的協(xié)同過濾推薦算法研究[J].電腦知識與技術,2019,15(21):9-10.

      [17] 張玉葉.基于協(xié)同過濾的電影推薦系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2019,15(6):70-73.

      【通聯(lián)編輯:王力】

      猜你喜歡
      協(xié)同過濾
      改進的協(xié)同過濾推薦算法
      德清县| 松滋市| 汶川县| 达日县| 江北区| 建始县| 依安县| 绥江县| 万全县| 项城市| 巨鹿县| 边坝县| 霍山县| 镇安县| 诏安县| 都江堰市| 高雄市| 灵璧县| 芦山县| 天气| 敦化市| 安岳县| 安西县| 东平县| 绥江县| 怀集县| 莲花县| 社旗县| 海城市| 新河县| 嘉荫县| 积石山| 巴中市| 临朐县| 宁乡县| 大邑县| 信阳市| 青铜峡市| 黄大仙区| 泗水县| 建昌县|