周艷 李凱 付高宇 向銘杰 曹建波 葉栩見
摘要:針對經(jīng)典的協(xié)同過濾推薦算法的一系列不足,如用戶冷啟動(dòng)、商品評分稀疏性以及推薦精度不高,文章提出基于截?cái)嗥娈愔捣纸猓═SVD)的協(xié)同過濾推薦算法。使用TSVD技術(shù)對稀疏矩陣進(jìn)行降維處理,利用Jaccard相似度算法計(jì)算用戶間相似度,提高推薦精度。實(shí)驗(yàn)結(jié)果顯示,基于截?cái)嗥娈愔捣纸猓═SVD)的協(xié)同過濾算法體現(xiàn)良好的推薦質(zhì)量及預(yù)測精度。
關(guān)鍵詞:推薦算法;協(xié)同過濾;稀疏矩陣;截?cái)嗥娈愔捣纸?/p>
中圖分類號:TP391? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)04-0075-02
1 引言
隨著互聯(lián)網(wǎng)、信息技術(shù)的飛速發(fā)展,用戶獲取信息的來源越來越豐富,但繁雜的信息在網(wǎng)絡(luò)過濾中容易造成流失。對于“大數(shù)據(jù)時(shí)代”背景下的電子商務(wù),為用戶推出個(gè)性化的推薦系統(tǒng)愈加重要,它能通過集中分析用戶行為和偏好,為用戶提供個(gè)性化的推薦服務(wù),并根據(jù)新收集到的用戶行為數(shù)據(jù),自動(dòng)更新并調(diào)整推薦內(nèi)容[1]。用戶個(gè)性化的推薦系統(tǒng)是一種更智能、更現(xiàn)代化的信息過濾方式,它的出現(xiàn)對電子商務(wù)平臺和社交信息平臺產(chǎn)生了質(zhì)的影響。
協(xié)同過濾算法是推薦算法中最經(jīng)典、使用范圍最廣泛的一種類型,有廣大的應(yīng)用遠(yuǎn)景和潛在商業(yè)價(jià)值,在電子商務(wù)中其主要價(jià)值體現(xiàn)在:能發(fā)掘潛在用戶;提高了電子商務(wù)平臺的差異化銷售能力;提升了廣告渠道轉(zhuǎn)化效率和用戶的個(gè)性化體驗(yàn)[2]。
其中基于用戶的協(xié)同過濾算法是通過分析用戶在平臺上的歷史瀏覽記錄及搜索記錄,得出用戶對商品或內(nèi)容的基本偏好(如購物車內(nèi)容,瀏覽內(nèi)容,商品評論等),并對這些偏好進(jìn)行記錄,得出大量用戶對同類商品的偏好方向和程度,為偏好相似的用戶推薦同類商品或依據(jù)有相似偏好的用戶近期的搜索內(nèi)容和關(guān)注熱點(diǎn)為其他用戶進(jìn)行參考性推薦[3]。
但隨著使用者規(guī)模的指數(shù)級擴(kuò)大時(shí),基于用戶的推薦算法也有些難以避免的難題,比如“冷啟動(dòng)”問題,其表現(xiàn)為當(dāng)在面對新用戶的時(shí)候,因其無歷史瀏覽痕跡以及搜索記錄而不能對其完成良好的推薦。針對這個(gè)情況,本文提供了一種基于TSVD的協(xié)同過濾推薦算法,對該類項(xiàng)目的用戶平均水平進(jìn)行推薦,使推薦結(jié)果更加精確。
2 算法介紹
本文提出的算法根據(jù)用戶的評分信息預(yù)測用戶可能感興趣的項(xiàng)目進(jìn)行推薦,并考慮參考評分信息的可信度等指標(biāo),對推薦結(jié)果進(jìn)行優(yōu)化。該算法依賴用戶-評分二維矩陣,它記錄了每個(gè)用戶對不同項(xiàng)目的評分記錄,評分區(qū)間為[1,5],對沒有評分的項(xiàng)目則取0分。采取TSVD技術(shù)對評分矩陣進(jìn)行降維,最后得出用戶對項(xiàng)目的預(yù)測評分,在這過程中穿插KNN(K-Nearest Neighbor)算法獲得最近鄰居集合,并將預(yù)測評分較高的項(xiàng)目推送給用戶。流程圖如圖1所示。
輸入:用戶對項(xiàng)目的評分信息。
輸出:預(yù)測評分矩陣。
Step 1:將原始的用戶評分信息變換為評分矩陣。
Step 2:利用TSVD方法,使稀疏的評分矩陣實(shí)現(xiàn)良好的降低維度的效果。
Step 3:根據(jù)公式(1)計(jì)算用戶間的相似度。
Step 4:利用KNN算法求得用戶最近鄰居集合。
Step 5:通過公式(2)生成預(yù)測評分矩陣,將由Top-N算法生成的預(yù)測評分較高的N個(gè)項(xiàng)目進(jìn)行推送[4]。
2.1 TSVD矩陣分解技術(shù)
截?cái)嗥娈愔捣纸猓═SVD)是SVD奇異值分解的變形,都為矩陣分解技術(shù),用于對高秩的稀疏矩陣進(jìn)行降維處理,得到低秩的矩陣接近原始矩陣[5]。TSVD和SVD的不同在于其只計(jì)算用戶指定的最大奇異值,并可指定生成指定維度的矩陣。
TSVD矩陣分解過程具體可以解釋為一個(gè)非方陣矩陣[An×d],經(jīng)過降維處理后可將原矩陣表示成三個(gè)矩陣相乘,即[An×d=Un×rr×dV*d×d],其中,[Un×r]為原矩陣的左奇異矩陣,[V*d×d]為原矩陣的右奇異矩陣,[∑r×d]是對角矩陣。
通過TSVD矩陣分解后,可以成功將原本的高秩稀疏矩陣轉(zhuǎn)化為一個(gè)近似等價(jià)的低秩矩陣,解決了原始數(shù)據(jù)中項(xiàng)目評分相較于項(xiàng)目數(shù)較少的問題。
2.2 Jaccard相似度計(jì)算
Jaccard相似度是推薦算法中較為廣泛地用于相似度度量的算法。因此本文中的用戶間相似度由兩個(gè)n維空間向量利用Jaccard相似度算法計(jì)算得到的相似度進(jìn)行表示。
Jaccard相似度是將評分矩陣看作n維向量組,并利用不同數(shù)據(jù)集合間的交集和并集的比值來推算用戶之間的相似度值大小,計(jì)算用戶j和用戶k間相似度[J(j,k)]的公式為:
其中[J(j,k)]表示用戶j,k的相似度;其中,j和k分別表示兩個(gè)用戶對所有項(xiàng)目的評分情況。
因此本文利用Jaccard相似度計(jì)算得到每兩個(gè)用戶間的相似度,再通過KNN算法得到同特定用戶相似度較高的用戶集合。
2.3 預(yù)測評分矩陣
通過KNN算法獲得最近鄰居集合后,通過式子(2)得到推薦用戶對沒有評價(jià)項(xiàng)目的預(yù)測評分,生成預(yù)測評分矩陣[6]。預(yù)測評分公式如下:
其中[rrui]表示在TSVD降維后用戶u對項(xiàng)目i的評分值;[ru]表示用戶u的評分均值。
最終利用Top-N推薦推送評分較高的N個(gè)結(jié)果,完成推介。
3 實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)環(huán)境
本文采用的實(shí)驗(yàn)平臺是PC(Intel(R),CPU i7-8750H,2.20GHz,RAM 16GB)和Windows 10操作系統(tǒng),使用JAVA來實(shí)現(xiàn)代碼塊。
文章選用的數(shù)據(jù)集來自美國GroupLens項(xiàng)目中收集的MovieLens 100K的用戶電影評分?jǐn)?shù)據(jù)集合,其中涵蓋900多位用戶對1680部左右電影的100,000項(xiàng)電影評分?jǐn)?shù)據(jù)(1-5)。
3.2 評價(jià)標(biāo)準(zhǔn)
預(yù)測精度是一種衡量由算法得到的預(yù)測評分同用戶對項(xiàng)目的真實(shí)評分之間差異程度的重要標(biāo)準(zhǔn),由于不同機(jī)器學(xué)習(xí)算法學(xué)習(xí)得到的模型存在區(qū)別,因此所使用的評估標(biāo)準(zhǔn)也不盡相同,在推薦算法領(lǐng)域,被廣泛使用的評估標(biāo)準(zhǔn)有均方根誤差(RMSE)、均方誤差(MSE),當(dāng)這兩個(gè)誤差結(jié)果值越小,代表推薦模型表現(xiàn)更加優(yōu)秀,能夠?qū)崿F(xiàn)較好的推薦質(zhì)量[7-8]。MSE、RMSE的計(jì)算公式如(3)和(4)所示。
其中,[ri]為用戶對項(xiàng)目的真實(shí)評分,[ri]為項(xiàng)目推薦算法生成的預(yù)測評分,N為實(shí)驗(yàn)中所使用的相關(guān)數(shù)據(jù)集的數(shù)據(jù)量。
3.3 實(shí)驗(yàn)結(jié)果與分析
圖2顯示的是隨鄰居數(shù)改變,不同算法的MAE取值的變化。圖2可見,伴隨著鄰居個(gè)數(shù)取值的變大,基于用戶的協(xié)同過濾UCF的取值最初是逐漸減小,當(dāng)鄰居個(gè)數(shù)增加至12,得到最小的MAE值,然而后續(xù)鄰居數(shù)的變化中,取值不降反增?;赟VD-CF的協(xié)同過濾算法同TSVD-TF算法的MAE值都是隨鄰居個(gè)數(shù)增加而呈下降趨勢,和UCF算法相似,當(dāng)鄰居數(shù)量增加至12時(shí),取到最小值,隨后趨于穩(wěn)定。從圖2中可見,即便鄰居數(shù)量取值不同,改進(jìn)的兩種算法計(jì)算出的MAE值皆比傳統(tǒng)推薦算法獲得的MAE值低。但TSVD-CF算法MAE值同SVD-CF算法得到的取值進(jìn)行對比后顯示TSVD-CF算法取值更低,并在所有鄰居數(shù)取值中保持最低,在鄰居個(gè)數(shù)為12時(shí),取到最小值并在接下來保持在0.76左右。
本文所提出的TSVD-CF算法與UCF和SVD-CF算法相比在項(xiàng)目相似度計(jì)算上更為精準(zhǔn)。
圖3中展現(xiàn)的是隨鄰居數(shù)改變,不同算法RMSE取值的變化。從圖3中可見,鄰居數(shù)量逐漸增加,三種推薦算法的RMSE值隨之減小,除了UCF算法在鄰居數(shù)增加12后有明顯的上升趨勢,TSVD-CF算法和SVD-CF算法在鄰居數(shù)為10后RMSE值趨于穩(wěn)定,在鄰居數(shù)不同的情況下,本文所提出的TSVD-CF算法始終保持最低的RMSE值,說明此推薦算法在計(jì)算方面考慮到了更加全面的因素,能更加精確地預(yù)測評分。從圖3中可以看出本文所提出的算法的RMSE值在鄰居數(shù)取到12時(shí)達(dá)到了最小值,在隨后增加的過程中穩(wěn)定在0.97左右。
結(jié)果說明,從MAE值和RMSE值兩種評估標(biāo)準(zhǔn)上進(jìn)行比較,本文提出的算法相較SVD-CF和UCF其他兩種協(xié)同過濾推薦算法,在對稀疏矩陣降維方面有更好的表現(xiàn),其提高預(yù)測精度的效果更加優(yōu)越,是有效可行的。
4 結(jié)束語
文章對于現(xiàn)有的推薦系統(tǒng)因數(shù)據(jù)較少而導(dǎo)致推薦精確度不高的缺陷,采用基于TSVD的協(xié)同過濾推薦,使推薦結(jié)果更加
準(zhǔn)確。算法首先采用TSVD矩陣分解,將原本的稀疏矩陣進(jìn)行數(shù)據(jù)特征的挖掘,降維成近似等價(jià)的低秩矩陣,緩解了原始數(shù)據(jù)稀疏性的問題。采用KNN算法得到鄰居集合并利用預(yù)測算法得到預(yù)測評分,并選取評分較高的N個(gè)項(xiàng)目進(jìn)行推送。實(shí)驗(yàn)結(jié)果顯示,TSVD-CF推薦算法不僅有效解決了用戶評分?jǐn)?shù)據(jù)較少的難題,而且優(yōu)化了算法的推薦精度。
參考文獻(xiàn):
[1] 鐘豪.基于異構(gòu)用戶反饋數(shù)據(jù)的協(xié)同過濾算法研究[D].杭州:浙江大學(xué),2015.
[2] 趙尉翔.基于協(xié)同過濾技術(shù)的推薦算法研究[D].西安:長安大學(xué),2018.
[3] 劉娟.Mahout平臺下協(xié)同過濾推薦算法的研究[D].西安:西安理工大學(xué),2016.
[4] 張盼盼.基于信任機(jī)制的并行推薦算法研究[D].長沙:湖南大學(xué),2017.
[5] 徐吉.基于協(xié)同過濾和矩陣分解的推薦系統(tǒng)研究與應(yīng)用[D].寧波:寧波大學(xué),2019.
[6] 張潔,李港.一種基于評分信息熵的融合協(xié)同過濾算法[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2021(2):76-81.
[7] 武文碩,左安.基于迭代SVD的電影推薦算法的研究[J].電腦知識與技術(shù),2021,17(15):1-3.
[8] 王建芳,李驍,武文琪,等.一種SVD和信任因子相結(jié)合的協(xié)同過濾算法[J].小型微型計(jì)算機(jī)系統(tǒng),2017,38(6):1290-1293.
收稿日期:2021-08-25
基金項(xiàng)目:嘉興學(xué)院2020年度校級SRT計(jì)劃項(xiàng)目(項(xiàng)目編號:8517203331)
作者簡介:周艷(1999—),女,浙江麗水人,學(xué)士,研究方向?yàn)橄到y(tǒng)設(shè)計(jì)與分析;李凱(1988—),男,浙江嘉興人,講師,碩士,研究方向?yàn)橹悄苡?jì)算與圖像處理;付高宇(2000—),女,安徽滁州人,學(xué)士,研究方向?yàn)閿?shù)據(jù)庫設(shè)計(jì)與分析;向銘杰(1999—),男,四川樂山人,學(xué)士,研究方向?yàn)閿?shù)據(jù)庫設(shè)計(jì)與分析;曹建波(1999—),男,浙江溫州人,學(xué)士,研究方向?yàn)橄到y(tǒng)設(shè)計(jì)與分析;葉栩見(1999—),男,浙江臺州人,學(xué)士,研究方向?yàn)橄到y(tǒng)設(shè)計(jì)與分析。