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

一種改進的協同過濾推薦算法

2021-02-25 11:06:58李瑤
天津理工大學學報 2021年1期
關鍵詞:用戶模型

李瑤

(天津大學數學學院,天津300350)

隨著社會的發展,高度信息化,推薦系統已經成為了一個很重要的研究領域,是一個預測用戶興趣的模型.平時生活中推薦系統有很多應用,比如電子商務網站可以利用推薦系統向用戶推薦可能想買的物品,視頻電影網站可以向用戶推薦其可能感興趣的電影視頻等[1].推薦算法其中有協同過濾、矩陣分解等等,矩陣分解基于評分矩陣來進行處理,為此在基于用戶的協同過濾模型基礎上,引進SVD分解后的svdprediction矩陣作為user-item-matrix應用于協同過濾模型,比單獨的SVD優化快速且簡便.所以本文在協同過濾算法的基礎上,引入奇異值分解優化特征,利用SVD分解后SVD-prediction矩陣作為user-item-matrix應用于協同過濾模型進一步利用模型,來提高準確性.

而且考慮到用戶不一定會評分,因為麻煩或其他因素,所以后期會對item本身所屬的類別賦以較大的權重,最后使模型更貼合實際生活.

1 協同過濾算法

協同過濾(Collaboration Filtering)算法[2]是推薦系統中最常用的一種算法,本文采用的是依據相似用戶的愛好對活動用戶進行推薦的思想,也被稱為基于用戶的協同過濾,其中如果根據用戶的評分數據尋找到與其相似的用戶,并以此借助相似用戶的愛好對其余用戶進行推薦的思想被稱為基于用戶的協同過濾.本質上是尋找數據集中的相似用戶來完成推薦[3],其原理類似于朋友推薦,簡單來說是利用某興趣相投、擁有共同經驗之群體的喜好來推薦用戶感興趣的信息,通過信息程度的回應(如評分),記錄下來以達到過濾的目的進而幫助別人篩選信息[3-4],比如通過對用戶喜歡的item進行分析,發現用戶A和用戶B很相似,用戶B喜歡了某個item,而用戶A沒有評價,那么就可以把這個item推薦給用戶A.依據用戶對物品的評分建立用戶評分矩陣(協同過濾需要使用到的用戶評價信息會被存儲在一個數據表中,該表可以被稱為用戶評分矩陣),矩陣的行數為系統中用戶的數量,列數為系統中物品的數量,沒有評分數據的默認為零;然后依據用戶評分矩陣計算相似度,用偏好等來進行運算[5].

整體流程構建如下:

1)收集用戶評分信息

首先下載需要的數據,進行預處理,例如電影的編號重新映射到從1開始,會便于后續的評分矩陣處理.

2)定于相似度指標并計算

歐式距離分數計算,提取搜尋用戶都評價過的電影的評分。

If:無共同評分的電影(Score=0)

Else:計算(rate1-rate2)的平方和的平方根皮爾遜系數(Pearson Correlation Coefficient).

同樣提取搜尋用戶都評價過的電影的評分,然后計算,其中計算公式

COV(X,Y)表示X,Y的協方差,構建useritemmatrix作為特征輸入,最后計算RMSE.

3)得出相似用戶和推薦列表

按照得分進行排序,把得分降序排列,可以得到k個相似用戶,本文設置的k為5,k可以按照需求來選取,然后去掉本身用戶評分過的電影,其余為推薦條目.

2 SVD分解

SVD分解(Singularly Valuable Decomposition)也為奇異值分解,奇異值是矩陣里的概念,一般通過奇異值分解定理求得.

奇異值分解定理:一個向量v是方陣A的特征向量,可以表示成下面的形式:Av=kv,這時候k被稱為特征向量v對應的特征值,一個矩陣的一組特征向量是一組正交向量.特征值分解是將一個矩陣分解成以下形式:A=USU-1,U是這個矩陣a的特征向量組成的矩陣,S是一個對角陣,每個對角線上的元素就是一個特征值.

設a為(m×n)階矩陣,記為Am×n,如若m≠n時,不能直接按照上面的來計算,此時令q=min(m,n).A×AT的q個非負特征值的算術平方根叫作A矩陣的奇異值.

對于一個實矩陣Am×n,如果可以分解為A=USVT,其中,U為(m×m)的正交陣,V為(n×n)的正交陣,S為(m×n)階矩陣.記S的前r×r階為S*,它為半正定對角矩陣,簡寫為

其中的a1,a2,…,ar稱為矩陣A的奇異值.對于實際的運用A=USVT.舉一個實際例子A6×3,來進行直觀說明

個矩陣U,S,如下

其中S=diag(4.679 2,2.199 7,2.065 6).

后期維度增多后,本文會對SVD進行改進為HOSVD,簡單介紹一下最簡單的矩陣展開,例如將一個N維張量展開成為一個矩陣,按照不同的維度重新排列成一個矩陣,例如一個2×3×3的張量可以被展開為3×6或者2×9的矩陣.就是將張量按照不同的維度重新排列成一個矩陣,將這一過程稱作張量的n—模矩陣展開,暫時不做過多說明.

3 數據與方法

分別在一組自行構建的數據上進行模擬訓練,進行說明,后面在MovieLens數據集基礎上,再選取一小部分不完全數據,進行驗證(可以用在網站初期,或者新用戶信息很少的情況下,在不完善的信息下,對幾個算法進行比較評估,可以把大數據應用到比較好的算法模型上,得到推廣),見表1.

表1模擬數據Tab.1 Analog data

主要的實驗數據示意圖如表2所示.

表2小數據數據情況Tab.2 Small data sets

對自行構建的數據集進行聚合,可以看到選取的數據的關聯度,沒有完全的離散,關聯度也不是特別高,符合新用戶初期的使用情況:Number of clusters in input data=7,聚合后數據中心集合還不算太分散.同時給出統計后的小數據集數目,如圖1和圖2.

圖1小數據集的分布示意圖Fig 1 Distribution of small data sets

圖2小數據集的聚合情況示意圖Fig.2 Aggregation of small datasets

3.1 基本協同過濾處理

首先對數據進行預處理,在計算過程中,把數據分成訓練集和測試集(不適用于虛擬數據集上,因為一方面只是為了構建流程,另一方面是數據很少,沒有這個必要,所以用在MovieLens小數據集及之后的驗證數據集),利用train_test_split中參數test_size設置為0.3,表示把70%劃分為訓練數據,30%劃分為測試數據(train,test=train_test_split(data,test_size=0.3)),利用測試集進行最后的評估,衡量其結果的好壞.

其次分別進行上面提到的相似度指標計算,構建出傳統的協同過濾模型,最后得到的相似用戶.

對排在前面用戶中的電影來進行推薦,記錄此時的結果,并計算傳統協同過濾模型下的RMSE.

3.2 基于SVD改進上面模型

經過SVD處理后,重新作為user-item-matrix data輸入協同模型處理.

1數據預處理

item編號重新映射到從1開始的序列,與上面的協同過濾模型處理方式相同.

2隨機劃分數據集

依然利用train_test_split中參數test_size設置為0.3,70%劃分為訓練數據,30%劃分為測試數據.

3構建user_item_matrix

該矩陣每一行代表一個user,每一列代表一個item,矩陣中的數字代表評分.

4對user_item_matrix矩陣進行SVD分解

得到SVD_prediction矩陣,作為新的user_item_matrix矩陣.

5然后繼續進行協同過濾模型的步驟,最后計算模型的RMSE,進行評估.

4 實驗結果與分析

4.1 實驗結果

對虛擬數據集,根據流程里的公式,來計算相關性,以編號為1的用戶為例:

按照相似性排序,并構造user-item-matrix,同時打亂順序,進行處理,如表3.

表3對虛擬數據集構建user-item-matrixTab.3 Building user item matrix for virtual datasetsuser-item-matrix

對原始數據來說,對比一下SVD-prediction(表4)和CF-prediction(表5)的預測,結果分別如下.

表4對虛擬數據集進行SVD-prediction處理結果Tab.4 SVD-prediction result of virtual data set

表5對虛擬數據集進行CF-prediction處理結果Tab.5 CF-prediction result of virtual data set

接下來對MovieLens小數據集進行驗證并評估結果的好壞.針對此數據集,同樣以編號為1的用戶為例,計算出來的相似用戶6,5,4,8,2,推薦的電影列表如表6.

表6相似用戶列表Tab.6 List of similar users

對排在前面用戶中的電影來進行推薦,在這里選取前五個進行列舉,推薦電影列表如表7.

表7推薦電影名單Tab.7 List of recommended movies

4.2 評估結果

對推薦系統的研究一個重要的環節是如何評價一個推薦算法的好壞[6].本文以RMSE(Root Mean Squared Error)為評估指標將張量分解算法與傳統協同過濾算法進行實驗比較.在有限測量次數中,均方根誤差常用式(1)表示,

RMSE評估指標見圖3.

圖3 RMSE指標評估結果Fig.3 RMSE index evaluation results

對比傳統純協同過濾或單獨的SVD分解,RMSE值有了明顯的降低

4.3 進一步驗證結果

為了進一步驗證其誤差有明顯降低,把數據量擴大,因為當數據集規模很大時,SVD分解會降低程序的速度,對后臺離線運行了結果.數據的示意圖見圖4.

圖4數據的分布示意圖Fig.4 Distribution of data

同時給出統計后的數據集數目,見表8.

同樣得出推薦列表,因為重點是要驗證誤差是否有降低,所以針對數據集,同樣以編號為1的用戶為例列表直接簡單列出,見表9.

表8數據集數據Tab.8 Data sets

表9相似用戶列表Tab.9 List of similar users

電影推薦結果為,[(Meet the Parents(2000)(Clockwork Orange,A(1971)(Wild Tales(2014)),(Horrible Bosses(2011)),(Cast Away(2000)),(Beethoven(1992)),(Along Came Polly(2004)),(50 First Dates(2004)),(Shining,The(1980)),(Stand byMe(1986)]

評估結果,見圖5.

圖5 RMSE評估指標結果Fig.5 RMSE evaluation index results

兩次驗證的結果表明,從實驗數據來說,隨著數據的增多,集中填充數據的增多,推薦的誤差有一定減少,而且隨著數據增多,誤差減小量也增大,說明在傳統協同過濾模型的基礎上,對useritem-matrix進行SVD分解處理,再作為訓練數據,輸入協同過濾模型,會顯著降低誤差.

5 結論

本文通過驗證的結果得出,在協同過濾算法的基礎上,引入奇異值分解優化特征,利用SVD分解后svdprediction矩陣作為user-item-matrix應用于協同過濾模型進一步利用訓練模型,這個改動會顯著降低誤差.協同過濾推薦算法作為是推薦系統中使用較廣泛的算法之一,因此一點點改進都是有必要的.由于推薦系統存在冷啟動問題,例如在初期新用戶信息很少的情況下,或者在不完善的信息下,考慮到用戶不一定會評分,也不一定愿意花時間留下太多信息,現實中用戶很多時候并不能精確描述自己的需求信息,這就要用到需要推薦物品的屬性,所以后期會對item本身所屬的類別,屬性賦以較大的權重,最后使模型更貼合實際生活[7].而且之后數據量也會增大,可以考慮是否利用聚類處理數據量的增大所以接下來打算引入時間序列、類別、標簽等維度,利用張量分解[8-9],來建立用戶、物品、評分,時間,類別,標簽等多維度的推薦系統[10-11].

猜你喜歡
用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 國產尤物AV尤物在線觀看| 亚洲国产精品日韩欧美一区| 欧美高清国产| 国产波多野结衣中文在线播放| 97综合久久| 精品少妇人妻一区二区| 欧美成一级| 91精品国产91久久久久久三级| 欧美日韩一区二区三| 亚洲成人动漫在线观看| 国产aⅴ无码专区亚洲av综合网| 国产成人精品亚洲77美色| 69综合网| 国产精品成人一区二区不卡 | 亚洲欧美另类视频| 99偷拍视频精品一区二区| 2019国产在线| 女同国产精品一区二区| 成AV人片一区二区三区久久| 欧美成人区| 亚洲精品777| 欧美国产日产一区二区| 亚洲欧洲免费视频| 亚洲高清日韩heyzo| 国产午夜一级毛片| 国产嫖妓91东北老熟女久久一| 亚洲色图欧美激情| 美女被操黄色视频网站| 国产人人乐人人爱| 91系列在线观看| 亚洲国产中文欧美在线人成大黄瓜 | 色国产视频| 久热这里只有精品6| 成人va亚洲va欧美天堂| 国产精品欧美在线观看| 国产精品久线在线观看| 最新日本中文字幕| 91精品专区| 成人无码一区二区三区视频在线观看| 在线国产91| 亚洲精品国产首次亮相| 国产欧美日韩一区二区视频在线| 亚洲一区二区在线无码| 欧美精品在线观看视频| 国产精品19p| 激情综合网激情综合| 999福利激情视频| 亚洲福利片无码最新在线播放| 国产自在线播放| 色综合狠狠操| 99偷拍视频精品一区二区| 在线视频亚洲色图| 国产人前露出系列视频| 91久久天天躁狠狠躁夜夜| 香蕉在线视频网站| 欧美成人h精品网站| 萌白酱国产一区二区| 丁香婷婷综合激情| 日本人妻一区二区三区不卡影院 | 国产一区二区网站| 日韩av高清无码一区二区三区| 久久久精品久久久久三级| 99re视频在线| 美女一级免费毛片| 香蕉国产精品视频| www中文字幕在线观看| 白浆免费视频国产精品视频 | 国产黄在线免费观看| 在线观看欧美国产| 亚洲成人77777| 91口爆吞精国产对白第三集| aⅴ免费在线观看| 亚洲成年人网| 欧美a级在线| 一级毛片在线直接观看| 孕妇高潮太爽了在线观看免费| 欧美一级夜夜爽www| 四虎永久免费网站| 国产喷水视频| 三上悠亚在线精品二区| 婷婷色中文网| 欧美一区二区自偷自拍视频|