国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于信息匹配度的混合推薦算法

2020-10-21 07:27任靜霞武志峰
關(guān)鍵詞:冷啟動物品矩陣

任靜霞,武志峰

(天津職業(yè)技術(shù)師范大學(xué)信息技術(shù)工程學(xué)院,天津 3002222)

推薦系統(tǒng)[1]是大數(shù)據(jù)背景下,降低信息過載、幫助服務(wù)商精準(zhǔn)提供用戶所需信息的一種解決方案,被廣泛應(yīng)用于各大電子商務(wù)網(wǎng)站。推薦系統(tǒng)利用收集到的用戶喜好或者物品信息特性等進(jìn)行訓(xùn)練,得到用戶-物品推薦模型,從而預(yù)測用戶未來可能會感興趣或者需要的物品,為用戶提供定制化服務(wù)。實現(xiàn)推薦系統(tǒng)的推薦算法有協(xié)同過濾推薦算法、基于內(nèi)容的推薦算法、基于知識的推薦算法、基于關(guān)聯(lián)規(guī)則的推薦算法等,其中協(xié)同過濾算法(collaborative filtering,CF)使用最為廣泛,但是冷啟動問題無法得到解決,在稀疏矩陣中性能下降,可擴(kuò)展性差;基于內(nèi)容的推薦算法要求內(nèi)容能夠容易抽取成有意義的特征,并且要求特征內(nèi)容有良好的結(jié)構(gòu)性,但其可解釋性差;而基于知識的推薦算法存在知識難以獲取的問題,要求用戶需求明確且需求具有可推薦性。正因為以上算法均有不足之處,所以研究者們一直致力于追求適應(yīng)性更強(qiáng)、推薦質(zhì)量更高的推薦算法。

為提高推薦質(zhì)量獲得較好的推薦結(jié)果,前人做了大量研究。如冷亞軍等[2]對協(xié)同過濾技術(shù)進(jìn)行了總結(jié);饒鈺等[3]通過融合評分向量間余弦值和均方差值改進(jìn)協(xié)同過濾算法;Koren 等[4]對推薦系統(tǒng)中現(xiàn)有的矩陣分解技術(shù)進(jìn)行了分析綜述;王娟等[5]提出將矩陣分解的結(jié)果應(yīng)用于基于用戶的最近鄰?fù)扑];劉沛文等[6]將不同用戶對于不同物品的個性化行為特征指數(shù)引入相似度的計算中;李鵬飛等[7]將物品屬性相似性和改進(jìn)的修正余弦相似性線性組合作為相似性度量方法;蘇曉云等[8]提出一種基于動態(tài)加權(quán)的混合協(xié)同過濾算法,考慮了項目近鄰和隱藏特征這2 個因子并進(jìn)行權(quán)重計算,提高推薦精度。本文在傳統(tǒng)推薦方法的基礎(chǔ)上,提出了一種新的基于推薦信息匹配度的協(xié)同過濾和矩陣分解的動態(tài)權(quán)重混合算法(UIBCF-MF),該算法根據(jù)某一用戶和物品的近鄰?fù)扑]與已有信息的不匹配度動態(tài)調(diào)整權(quán)重,與傳統(tǒng)單個算法相比,既能發(fā)揮各算法優(yōu)勢,又能改善其準(zhǔn)確性和可擴(kuò)展性。

1 協(xié)同過濾算法

協(xié)同過濾算法[9]采用 K 近鄰(k-nearest neighbor,KNN)技術(shù),從用戶角度出發(fā),通過用戶的歷史喜好信息分析各個用戶之間的相似度或者物品之間的相似度,然后利用目標(biāo)用戶的最近鄰用戶,或是目標(biāo)物品的最近鄰物品,以其對商品評價的加權(quán)評價值來預(yù)測用戶對特定商品的喜好程度,系統(tǒng)根據(jù)這一喜好程度進(jìn)行推薦。協(xié)同過濾算法依賴于準(zhǔn)確的用戶評分,計算過程中熱門商品被推薦幾率更大,存在冷啟動問題,無法對新用戶或物品進(jìn)行處理,不適用于生存周期短的物品。協(xié)同過濾算法分為基于用戶的協(xié)同過濾(user-based CF)和基于物品的協(xié)同過濾(item-based CF)[10]2 種。

1.1 基于用戶的協(xié)同過濾

user-based CF 適用于用戶交互性強(qiáng)或者用戶數(shù)量相較物品數(shù)量變化較穩(wěn)定的情況。定義推薦系統(tǒng)中,U={u1,u2,…,um}為 m 個用戶的集合,I={i1,i2,…,in}為n 個物品的集合,R[m×n]為用戶-物品評分矩陣,rui為用戶 u 對物品 i 原始評分值為用戶 u 對物品 i預(yù)測評分值,user-based CF 所得預(yù)測評分為

1.2 基于物品的協(xié)同過濾

item-based CF 適用于物品數(shù)量變化明顯小于用戶數(shù)量變化的情況。定義推薦系統(tǒng)中,U={u1,u2,…,um}為 m 個用戶的集合,I={i1,i2,…,in}為 n 個物品的集合,R[m ×n]為用戶-物品評分矩陣,rui為用戶 u 對物品i 原始評分值為用戶u 對物品i 預(yù)測評分值,item-based CF 所得預(yù)測評分為

1.3 相似度計算

適用于推薦系統(tǒng)的相似性度量方法有很多,使用較多的有皮爾遜相關(guān)系數(shù)、余弦相似度和歐式距離等。

1.3.1 皮爾遜相關(guān)系數(shù)

計算公式

式中:corr 為相關(guān)系數(shù),值在[-1,1],corr=0 時,u、v 不相關(guān);|corr|越大,u、v 相關(guān)性越強(qiáng)。

1.3.2 余弦相似度

計算公式

式中:cos Sim 為 u、v 間相似度。

1.3.3 歐氏距離

計算公式

式中:d 為 u、v 間歐氏距離。

2 矩陣分解算法

矩陣分解算法(matrix factorization,MF)[11-12]是基于模型的推薦算法中的一種,通過將歷史用戶-物品信息矩陣進(jìn)行分解,再用分解后的矩陣預(yù)測未知評分,從而完成推薦。矩陣分解很好地解決了評分?jǐn)?shù)據(jù)稀疏性問題,易于編程實現(xiàn),具有可擴(kuò)展性,但其模型訓(xùn)練過程耗時較長且解釋性不強(qiáng)。

2.1 矩陣分解模型

定義推薦系統(tǒng)中,U={u1,u2,…,um}為 m 個用戶的集合,I={i1,i2,…,in}為 n 個物品的集合,R[m × n]為用戶-物品評分矩陣,將矩陣R 分解為2 個矩陣Pm×k和Qk×n的乘積,Rm×n≈Pm×k× Qk×n=R′,其中,矩陣 P 為用戶隱含特征矩陣;矩陣Q 為物品隱含特征矩陣為用戶u 對i 物品預(yù)測評分值。MF 所得預(yù)測評分為

式中:p、q 分別由矩陣 P、Q 經(jīng)隨機(jī)梯度下降算法得到。

2.2 隨機(jī)梯度下降算法

隨機(jī)梯度下降算法是機(jī)器學(xué)習(xí)較常見的一種優(yōu)化算法。將原始評分矩陣R 和重新構(gòu)建的評分矩陣R′之間誤差的平方作為損失函數(shù)[13],利用梯度下降法求解損失函數(shù)最小值,為了獲得較好的泛化能力,在損失函數(shù)中加入正則項,得到損失函數(shù)

損失函數(shù)負(fù)梯度為

得到更新變量公式

通過迭代,直到算法收斂,得到p、q。

3 UIBCF-MF 算法

算法首先采用單一傳統(tǒng)user-based CF、item-based CF 和MF 推薦算法進(jìn)行評分預(yù)測,再根據(jù)3 種算法所得預(yù)測評分與歷史數(shù)據(jù)間不匹配度動態(tài)調(diào)整各算法權(quán)重從而實現(xiàn)最終評分預(yù)測,針對冷啟動問題采用二次矩陣分解辦法。算法分為3 個部分:①通過KNN計算預(yù)測評分時提出的一種新的主觀評分規(guī)范化方法;②針對不同情況下的3 種推薦算法進(jìn)行加權(quán)混合;③當(dāng)新用戶或新物品出現(xiàn)時采用冷啟動處理方法。

3.1 主觀評分規(guī)范化

在進(jìn)行傳統(tǒng)user-based CF 和item-based CF 評分預(yù)測時,考慮到鄰居用戶或物品與目標(biāo)用戶或物品的評分習(xí)慣不同造成的評分差異,在使用皮爾遜相關(guān)系數(shù)計算相似性,通過最近鄰進(jìn)行評分預(yù)測時,提出一種適用于不同評分區(qū)間的評分規(guī)范化方法。以基于用戶的最近鄰為例,定義用戶v 對用戶u 影響因子為fv,則 user-based CF 所得預(yù)測評分 rui′為

進(jìn)行評分規(guī)范化的評分預(yù)測步驟如下。

輸入:原始用戶-物品評分rui,用戶或物品近鄰列表。

輸出:用戶v 對用戶u 影響因子fv。

步驟1 評分區(qū)間為[rmin,rmax],計算用戶u 與近鄰用戶v 間相關(guān)系數(shù)corruv。

步驟 2 若 corruv> 0,則為正相關(guān),fv值由式(13)求得;反之,若 corruv< 0,則為負(fù)相關(guān),fv值由式(14)求得

3.2 加權(quán)混合預(yù)測

定義R[m×n]為原始用戶-物品評分矩陣,rui為用戶u 對物品i 原始評分值,由user-based CF、item-based CF 和MF 算法得到預(yù)測評分矩陣R1[m×n]、R2[m×n]和 R3[m × n]、r1ui、r2ui、r3ui分別為矩陣 R1、R2、R3 中用戶u 對物品i 評分,經(jīng)加權(quán)混合算法得到最終評分預(yù)測矩陣R4[m × n],其中用戶u 對物品i 評分值為r4ui。

算法思想:對于評分矩陣中每一個評分r,計算user-based CF,item-based CF 和 MF 3 種算法所得預(yù)測評分r 與原始評分rui匹配度,從而動態(tài)調(diào)整權(quán)重。若原始評分rui不為空而某一算法預(yù)測評分為空,則認(rèn)為該算法推薦不合理,調(diào)整各算法對該評分值影響,降低該算法影響度;若存在多個合理推薦值,則根據(jù)匹配度擇優(yōu)選擇。

混合算法步驟如下。

輸入:原始用戶-物品評分rui,基于用戶的協(xié)同過濾預(yù)測評分r1ui,基于物品的協(xié)同過濾預(yù)測評分r2ui,矩陣分解預(yù)測評分r3ui。

輸出:加權(quán)混合預(yù)測評分r4ui。

步驟1 根據(jù)輸入的評分,定義w1、w2、w3 為加權(quán)因子,len為物品數(shù),當(dāng)rui值不為空時,統(tǒng)計r1ui空值個數(shù) a,r2ui空值個數(shù) b。

步驟2 若rui值為空,執(zhí)行步驟3,否則執(zhí)行步驟6。

步驟3 若r1ui值為空,執(zhí)行步驟4,否則執(zhí)行步驟5。

步驟4 若r2ui值為空,r4ui=r3ui,結(jié)束算法。否則w1r1ui+w2r2ui+w3r3ui,結(jié)束算法。

步驟5 若r2ui值為空結(jié)束算法。否則結(jié)束算法。

步驟6 若r1ui值為空,執(zhí)行步驟7,否則執(zhí)行步驟8。

步驟7 若r2ui值為空,r4ui= r3ui,結(jié)束算法。否則選擇 |r2ui-rui|與|r3ui-rui|較小值賦給r4ui,結(jié)束算法。

步驟 8 若 r2ui值為空,選擇|r1ui-rui|與|r3ui-rui|較小值賦給r4ui,結(jié)束算法。否則選擇|r1ui-rui|、|r2ui-rui|與|r3ui-rui|較小值賦給r4ui,結(jié)束算法。

3.3 冷啟動問題

在推薦系統(tǒng)中,傳統(tǒng)user-based CF 和item-based CF 算法利用已有歷史數(shù)據(jù)構(gòu)建推薦模型,故當(dāng)新用戶或新物品出現(xiàn)時,算法無法給出相應(yīng)推薦,冷啟動問題無法解決。UIBCF-MF 算法利用MF 算法能有效解決冷啟動問題這一思路解決上述問題,解決方式如下。

對于用戶冷啟動,提出新用戶,對提取后剩余的待測數(shù)據(jù) R[m′× n]使用 user-based CF、item-based CF和MF 算法進(jìn)行評分預(yù)測分別得到評分矩陣R1[m′×n]、R2[m′× n]和 R3[m′× n],通過 UIBCF-MF 算法中混合加權(quán)方法得到預(yù)測結(jié)果矩陣R4[m′× n],添加已提出新用戶數(shù)據(jù)到該矩陣得到矩陣R4′[m×n],并使用MF 算法進(jìn)行二次矩陣分解得到最終預(yù)測結(jié)果矩陣R4[m × n]。

對于物品冷啟動,提出新物品,對提取后剩余的待測數(shù)據(jù) R[m × n′]使用 user-based CF、item-based CF和MF 算法進(jìn)行評分預(yù)測分別得到評分矩陣R1[m×n′]、R2[m × n′]和 R3[m × n′],使用 UIBCF-MF 算法中混合加權(quán)方法得到預(yù)測結(jié)果矩陣R4[m×n′],添加已提出新用戶數(shù)據(jù)到預(yù)測結(jié)果矩陣得到矩陣 R4′′[m × n],使用MF算法進(jìn)行二次矩陣分解得到最終預(yù)測結(jié)果矩陣R4[m × n]。

算法冷啟動解決偽代碼如下。

Begin

輸入 待測數(shù)據(jù)A,訓(xùn)練數(shù)據(jù)B

IF A 中用戶或物品集a∈B 中用戶或物品集b 執(zhí)行

Step1:將測試數(shù)據(jù)進(jìn)行UIBCF-MF 加權(quán)混合預(yù)測ELSE執(zhí)行

Step2:提出 A 中滿足 a[i]?b 冷數(shù)據(jù)

Step3:將提出后的待測數(shù)據(jù)進(jìn)行UIBCF-MF 加權(quán)混合預(yù)測

Step4:添加已提出數(shù)據(jù)a[i]到預(yù)測結(jié)果矩陣,使用MF 算法進(jìn)行評分預(yù)測

End

4 結(jié)果與分析

4.1 評價標(biāo)準(zhǔn)

實驗使用均方根誤差(rootmeansquareerror,RMSE)和平均絕對誤差(mean absolute error ,MAE)[13-14]作為算法評價指標(biāo)。計算公式為

4.2 實驗結(jié)果

實驗所用數(shù)據(jù)集為Grouplens 提供的MovieLens數(shù)據(jù)集中943 位用戶對1 682 部電影的最新評分,共計100 000 條,評分范圍為0~5 分,其中每位用戶至少擁有20 條評分,數(shù)據(jù)集極其稀疏,稀疏度為0.936 9。實驗將數(shù)據(jù)集按照8 ∶2 分為訓(xùn)練集和測試集[15]。

本文設(shè)置了3 組對比實驗,第1 組實驗為固定MF 算法所得預(yù)測矩陣,當(dāng)近鄰數(shù)Nn 不同時,傳統(tǒng)單一的user-based CF 算法、item-based CF 算法與本文提出的UIBCF-MF 算法的實驗結(jié)果對比,user-based CF、item-based 與 UIBCF-MF 的 RMSE 及 MAE 比較分別如圖 1 和圖 2 所示[16]。

圖 1 user-based CF、item-based 與 UIBCF-MF 的RMSE 比較

圖 2 user-based CF、item-based 與 UIBCF-MF 的MAE 比較

由圖1、圖2 可知,當(dāng)近鄰數(shù)逐漸增大到接近30時,user-based CF、item-based CF 的 RMSE、MAE 值均趨于穩(wěn)定,而UIBCF-MF 算法受近鄰數(shù)影響較小,RMSE、MAE 值隨著近鄰數(shù)增大穩(wěn)定減小,相較單一user-based CF、item-based CF 算法,在利用近鄰用戶或物品進(jìn)行評分預(yù)測的同時,考慮到近鄰用戶或物品較少時會造成推薦不準(zhǔn)確,故適當(dāng)降低該算法比重,提高其他2 種算法權(quán)重因子,結(jié)果表明UIBCF-MF 算法始終獲得較好的推薦結(jié)果。

第2 組實驗為固定user-based CF、item-based CF算法所得預(yù)測矩陣,當(dāng)隱藏矩陣因子不同時,傳統(tǒng)單一的MF 算法與本文提出的UIBCF-MF 算法的實驗結(jié)果對比,MF 與 UIBCF-MF 的 RMSE 與 MAE 比較如圖3 所示。

由圖3 可知,隱藏矩陣因子逐漸增大時,MF 所得推薦誤差RMSE、MAE 均增大,而UIBCF-MF 算法受隱藏矩陣因子影響較小,RMSE、MAE 值隨著隱藏矩陣因子增大穩(wěn)定增大,值為2 時,誤差最小。單一的MF算法解釋性不強(qiáng),故考慮物品和用戶喜好信息,使得預(yù)測評分更加合理準(zhǔn)確,結(jié)果表明UIBCF-MF 算法始終獲得較好的推薦結(jié)果。

圖 3 MF 與 UIBCF-MF 的 RMSE 與 MAE 比較

第3 組實驗為固定user-based CF 算法所得預(yù)測矩陣,當(dāng)近鄰數(shù)不同時,文獻(xiàn)[8]中IACF 算法在隱藏因子不同時與本文提出的UIBCF-MF 算法的實驗結(jié)果對比,IACF 與 UIBCF-MF 的 RMSE 比較如圖 4 所示,IACF 與 UIBCF-MF 的 MAE 比較如圖 5 所示。

圖 4 IACF 與 UIBCF-MF 的 RMSE 比較

圖 5 IACF 與 UIBCF-MF 的 MAE 比較

由圖4、圖5 可知,隨著近鄰數(shù)增大,文獻(xiàn)[8]中IACF 算法RMSE、MAE 值變化較小,本文提出的UIBCF-MF 算法RMSE、MAE 值穩(wěn)定減小,在隱藏因子不同的情況下,本文提出的UIBCF-MF 算法在item-based CF、MF 算法的基礎(chǔ)上考慮基于用戶的信息,采用匹配度進(jìn)行度量動態(tài)調(diào)整權(quán)重,對每1 個評分值都考慮到了其用戶和物品特性,并進(jìn)行權(quán)值調(diào)整,結(jié)果表明UIBCF-MF 算法誤差值遠(yuǎn)小于IACF 算法,始終獲得較好的推薦結(jié)果。

5 結(jié) 語

本文提出了一種基于信息匹配度的混合推薦算法,采用新的評分規(guī)范化方法進(jìn)行評分預(yù)測,使得評分?jǐn)?shù)據(jù)更為規(guī)范,近鄰影響更加合理,結(jié)合基于用戶協(xié)同過濾、基于物品協(xié)同過濾和矩陣分解推薦方法各自的優(yōu)點,得出某一用戶-物品的預(yù)測評分,根據(jù)3 種算法與歷史信息匹配度進(jìn)行動態(tài)加權(quán)混合求得,不僅數(shù)據(jù)集稀疏問題得到了解決,也使得推薦結(jié)果更加準(zhǔn)確并具有可解釋性,使用Grouplens 提供的MovieLens數(shù)據(jù)集進(jìn)行實驗,結(jié)果表明,相較于傳統(tǒng)的推薦方法,該算法推薦誤差更低,適應(yīng)性更強(qiáng),稀疏矩陣中也能取得較好的推薦結(jié)果,冷啟動問題得以解決。

猜你喜歡
冷啟動物品矩陣
輕型汽油車實際行駛排放試驗中冷啟動排放的評估
稱物品
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于PEMS試驗的重型柴油車?yán)鋯?排放特征研究
基于學(xué)習(xí)興趣的冷啟動推薦模型
“雙十一”,你搶到了想要的物品嗎?
誰動了凡·高的物品
多項式理論在矩陣求逆中的應(yīng)用
矩陣
矩陣
青田县| 嘉禾县| 原阳县| 临洮县| 蒙自县| 峨眉山市| 固阳县| 曲沃县| 毕节市| 信宜市| 久治县| 宿迁市| 腾冲县| 临清市| 聂拉木县| 武汉市| 拜城县| 新绛县| 扶沟县| 砚山县| 黄陵县| 柳林县| 安溪县| 新安县| 凯里市| 江安县| 咸阳市| 类乌齐县| 娱乐| 二手房| 马关县| 十堰市| 牡丹江市| 朔州市| 仁怀市| 沭阳县| 比如县| 新建县| 昆明市| 察哈| 迁安市|