聚類c上的平均評分;
[0103] 局部最近鄰與全局最近鄰以相應(yīng)的權(quán)值結(jié)合后的預(yù)測評分公式如下:
[0104] pUjl=p,Ujl*e,+p'fUrl^e'f ;
[0105] 局部最近鄰和全局最近鄰預(yù)測評分的權(quán)值分配通過局部最近鄰相似度和與全局 最近鄰相似度和的比值設(shè)定e'和e",公式如下:
[0106]
[0107]
[0108] 其中,e,+e" = 1。
[0109] 本發(fā)明基于項目聚類和局部興趣改進(jìn)的用戶協(xié)同過濾推薦方法,如圖1所示,根 據(jù)用戶興趣的局部相似特性,通過最小化最大k-medoids聚類將相似度大的項目聚為一 類,在聚類基礎(chǔ)上挖掘用戶興趣。計算用戶在全局項目上的最近鄰和在不同興趣上的最近 鄰并進(jìn)行融合,根據(jù)最近鄰的評分進(jìn)行預(yù)測。獲取用戶和項目之間的關(guān)系數(shù)據(jù)后,針對這些 數(shù)據(jù)進(jìn)行一下操作步驟:
[0110] A.將數(shù)據(jù)表示為用戶-項目評分矩陣;
[0111] B.計算在所有項目上用戶之間的相似度,尋找用戶全局最近鄰;
[0112] C.利用余弦相似度計算項目之間的相似度,利用最小化最大相似度準(zhǔn)則確定相似 度和最大的k-medoids聚類算法的K個初始聚類中心,并將該聚類算法用于項目聚類;
[0113] D.基于項目聚類計算用戶之間的局部相似度和局部最近鄰;
[0114] E.將全局最近鄰和局部最近鄰以相應(yīng)的權(quán)值分配進(jìn)行融合,根據(jù)用戶的全局最近 鄰和局部最近鄰對項目的評分預(yù)測用戶對項目的評分,從而產(chǎn)生推薦。
[0115] 步驟A中,在基于協(xié)同過濾推薦算法的推薦系統(tǒng)中,用戶對項目的評分?jǐn)?shù)據(jù)可以 采用一個mXn階的用戶-項目評分矩陣R(m,η)表示,如表1所示。
[0116] 表 1
[0117]
[0118] 其中,rUil表示用戶u對項目i的評分。
[0119] 實驗數(shù)據(jù)
[0120] 1、數(shù)據(jù)集
[0121] 本發(fā)明使用目前比較常用的公開的MovieLens-ΙΟΟΚ數(shù)據(jù)集和eachmovie數(shù)據(jù)集 作為測試數(shù)據(jù)。其中MovieLens數(shù)據(jù)集從MovieLens網(wǎng)站采集而來,由美國Minnesota大 學(xué)的GroupLens研究小組提供,包含943個用戶對1682部電影約10萬的評分?jǐn)?shù)據(jù),其中每 個用戶至少對20部電影進(jìn)行了評分。評分的范圍是1、2、3、4、5,1表示"很差",5表示"很 好"。其中u.data表格式如表2所示:
[0122] 表 2
[0123]
[0124] 本實施例使用其u.data表內(nèi)的數(shù)據(jù),主要對其中的UserlD,MovielD,Rating三個 字段進(jìn)行計算。實際評分?jǐn)?shù)據(jù)的密度為1〇〇〇〇〇八943*1682)= 6.3%,數(shù)據(jù)集相當(dāng)稀疏,用 戶-項目評分矩陣中缺失評分均不填充。
[0125] Eachmovie數(shù)據(jù)集中本文使用了 1000個用戶對1628部電影約10萬的評分?jǐn)?shù)據(jù)。 評分的范圍是0. 2、0. 4、0. 6、0. 8、1,0. 2表示"很差",1表示"很好"。其中,eachmovie.data 表格式如表3所不:
[0126] 表 3
[0127]
[0128] 本實施例使用其u.data表內(nèi)的數(shù)據(jù),主要對其中的UserID,MovieID,Rating三個 字段進(jìn)行計算。實際評分?jǐn)?shù)據(jù)的密度為1963(V(1000*1628) = 1.2%,數(shù)據(jù)集相當(dāng)稀疏,用 戶-項目評分矩陣中缺失評分均不填充。
[0129] 2、驗證方法
[0130] 本發(fā)明的實驗采用五折交叉、Allbut1和變化的Given方法驗證基于用戶局部 興趣改進(jìn)的協(xié)同過濾推薦算法效果。
[0131] 五折交叉法將數(shù)據(jù)集分為5份,每份循環(huán)作為測試集,剩下的作為訓(xùn)練集,訓(xùn)練集 用于評分預(yù)測,測試集用于衡量算法效果,如圖4所示。
[0132] 將實驗數(shù)據(jù)集按比率X分為一個訓(xùn)練集和一個測試集,然后循環(huán)測試在測試集中 的每個用戶,將每個用戶作為目標(biāo)(活動的)用戶,并且我們將每個被測試的目標(biāo)用戶的實 際評分分為兩組評分:處理一組評分IA是可見的,另一組用戶評分PA被隱藏,將用于預(yù)測 評分,使用在IA中的評分來預(yù)測在PA中的評分。Allbut1方法在測試集中只隱藏目標(biāo)用 戶一個隨機(jī)選擇的評分,使用目標(biāo)用戶其他的評分去預(yù)測它的值。從每個測試用戶的評分 中隨機(jī)選擇2or10個評分作為可見的評分,這種方法為Given2,Given10。
[0133] Allbut1實驗用來測試一個特定用戶已經(jīng)積累了相當(dāng)數(shù)量數(shù)據(jù)的這種穩(wěn)定狀態(tài) 下,測試算法的性能。變化的Given實驗測試在目標(biāo)用戶的評分?jǐn)?shù)據(jù)信息知道相對少情況 下,測試算法的性能。
[0134] 3、評價指標(biāo)
[0135] 選擇合適的評價指標(biāo)不僅可以有效衡量算法的性能,并且可以發(fā)現(xiàn)算法存在的不 足之處。目前常用的衡量推薦算法推薦質(zhì)量的標(biāo)準(zhǔn)主要有統(tǒng)計精度度量方法和決策支持精 度度量方法兩種。其中,統(tǒng)計精度度量方法中的平均絕對偏差MAE(MeanAbsoluteError) 和均方根誤差RMSE具有容易理解,且能比較直觀地度量推薦質(zhì)量的優(yōu)點,因而被很多研究 者所使用,也是最常用的度量方法。
[0136] MAE(平均絕對偏差)衡量了用戶實際評分與通過預(yù)測得到的用戶評分之間的偏 差大小,MAE和RMSE的值越小,說明偏差越小,從而推薦質(zhì)量就越高。本文實驗也采用了這 種度量方法。
[0137] 平均絕對偏差MAE定義如下述公式所示:
[0138]
[0139] 均方根誤差RMSE定義如下述公式所示:
[0140]
[0141] 其中,rUil表示用戶u對項目i的實際評分,pUil表示用戶u對項目i的預(yù)測評分, test表示預(yù)測集中評分不為0的項目集,L表示test集的大小。
[0142] 4、實驗設(shè)計
[0143] 本發(fā)明設(shè)計了 7組實驗,實驗中基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦 和基于項目聚類和局部興趣改進(jìn)的用戶協(xié)同過濾推薦方法中項目聚類個數(shù)為20;allbut 1、given2和given10驗證方法中訓(xùn)練集占70%,測試集占30%。
[0144] 實驗中比較傳統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾 推薦和基于項目聚類和局部興趣改進(jìn)的用戶協(xié)同過濾推薦這三種用戶協(xié)同過濾推薦在不 同最近鄰個數(shù)情況下的實驗結(jié)果。實驗一到實驗五表示在不同驗證方法下各算法的實驗結(jié) 果;實驗一和實驗六表示在不同評價指標(biāo)下各算法的實驗結(jié)果;實驗一和實驗七表示在不 同數(shù)據(jù)集下各算法的實驗結(jié)果。
[0145] 實驗一評價指標(biāo)為MAE時,在movielens數(shù)據(jù)集上通過五折交叉驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖5所示;
[0146] 實驗二評價指標(biāo)為MAE時,在movielens數(shù)據(jù)集上通過十折交叉驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖6所示;
[0147] 實驗三評價指標(biāo)為MAE時,在movielens數(shù)據(jù)集上通過allbut1驗證方法比較 傳統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類 和局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖7所示;
[0148] 實驗四評價指標(biāo)為MAE時,在movielens數(shù)據(jù)集上通過given2驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖8所示;
[0149] 實驗五評價指標(biāo)為MAE時,在movielens數(shù)據(jù)集上通過given10驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖9所示;
[0150] 實驗六評價指標(biāo)為RMSE時,在movielens數(shù)據(jù)集上通過五折交叉驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖10所示;
[0151] 實驗七評價指標(biāo)為MAE時,在eachmovie數(shù)據(jù)集上通過五折交叉驗證方法比較傳 統(tǒng)用戶協(xié)同過濾推薦、基于項目聚類和局部最近鄰的用戶協(xié)同過濾推薦和基于項目聚類和 局部興趣改進(jìn)的用戶協(xié)同過濾推薦,實驗結(jié)果如圖11所示。
[0152] 5、實驗結(jié)果分析
[0153] 對實驗結(jié)果進(jìn)行比較