【協(xié)同過濾推薦研究綜述】協(xié)同過濾推薦算法
發(fā)布時間:2020-03-10 來源: 歷史回眸 點擊:
[摘要]針對傳統(tǒng)協(xié)同過濾算法的局限性,探討目前的各種改進思路,主要結合聚類、關聯規(guī)則、貝葉斯、神經網絡、云模型、維數簡化、對等網等技術進行改進,重點評述改進現狀和存在的問題,并歸納推薦系統(tǒng)的評估方法,最后對協(xié)同過濾推薦的未來進行展望。
[關鍵詞]電子商務推薦系統(tǒng)個性化協(xié)同過濾
[分類號]c354
1 引言
推薦系統(tǒng)是為滿足電子商務發(fā)展和解決網絡信息超載而產生的,其關鍵和核心是采用的推薦技術和推薦算法。目前主要推薦技術有:基于內容推薦、協(xié)同過濾推薦、基于關聯規(guī)則推薦、基于效用推薦、基于知識推薦和組合推薦。其中,協(xié)同過濾推薦技術在個性化推薦系統(tǒng)中應用最廣,該推薦算法主要有兩類:基于用戶的協(xié)同過濾推薦算法…和基于項目的協(xié)同過濾推薦算法。前者基于這樣一個假設,即如果用戶對一些項目的評分比較相似,則他們對其他項目的評分也比較相似,算法通常采用最近鄰技術尋找鄰居用戶,然后加權求目標用戶對該項目的評分;后者從項目角度出發(fā),尋找與該項目相似的若干項目,然后加權求目標用戶對該項目的評分。但隨著電子商務系統(tǒng)規(guī)模的不斷擴大,它有三方面的限制,即準確性、稀疏性和可擴展性。
本文針對傳統(tǒng)協(xié)同過濾技術存在的局限性,總結協(xié)同過濾推薦的各種改進思路,并歸納了推薦系統(tǒng)的評估方法,預測未來發(fā)展方向。
2 協(xié)同過濾推薦技術及改進算法
各種改進的協(xié)同過濾技術都是建立在傳統(tǒng)協(xié)同過濾技術基礎之上的,下面先探討傳統(tǒng)協(xié)同過濾技術及優(yōu)缺點,再深入分析各種改進算法。
2.1
傳統(tǒng)協(xié)同過濾算法
2.1.1協(xié)同過濾推薦算法原理 協(xié)同過濾推薦算法的原理是利用用戶的歷史喜好信息來計算用戶之間的距離,然后利用目標用戶的“最近鄰居”對商品評價的加權評價值來預測目標用戶對特定商品的喜好程度,系統(tǒng)根據此喜好程度來對目標用戶進行推薦。
2.1.2
算法優(yōu)點
協(xié)同過濾最大的優(yōu)點是對推薦對象沒有特殊的要求,能處理非結構化的復雜對象,它具有如下一些優(yōu)點:
?能夠過濾難以通過機器自動進行基于內容分析的信息。
?共享其他人的經驗,能夠過濾一些復雜的、難以表達的概念。
?有推薦新信息的能力。這也是協(xié)同過濾和基于內容過濾的一個較大的差別,能夠跨類別推薦,重在發(fā)現而不是搜索。
?能夠有效地使用其他相似用戶的反饋信息,加快個性化學習的速度。
2.1.3算法缺點 基于用戶的協(xié)同過濾推薦系統(tǒng)有眾多優(yōu)點,但隨著電子商務用戶、商品規(guī)模的劇增,該算法也存在以下缺點:
?稀疏性。在一個大型電子商務系統(tǒng)中,用戶購買商品的總量占網站總商品量的1%左右,而參與評價的用戶評價項目數少于總項目數的10%,造成了評分矩陣非常稀疏。這樣一方面導致難以尋找最近鄰,另一方面計算相似性非常耗時。
?冷開始。又稱第一評價問題,或新項目問題,從一定角度可以看成是稀疏問題的極端情況。一方面,它很難向新用戶提供個性化推薦服務;另一方面,在這種情況下,僅有少量評價數據不可能產生精確推薦。
?擴展性。面對日益增多的用戶和項目,擴展性將會成為制約推薦系統(tǒng)發(fā)展的一個瓶頸問題。
2.2協(xié)同過濾推薦改進算法
盡管協(xié)同過濾技術在電子商務推薦系統(tǒng)中的應用獲得了很大的成功,但隨著商品數量和用戶人數的不斷增加,基于協(xié)同過濾的推薦系統(tǒng)的發(fā)展面臨著算法的可擴展性和推薦質量兩個主要挑戰(zhàn)。在這種情況下,眾多的研究人員提出了基于協(xié)同過濾的改進算法,改進算法主要體現在與聚類、關聯規(guī)則、貝葉斯、云模型、神經網絡或免疫網絡、維數簡化以及對等網等技術的結合。
2.2.1結合聚類技術
?基于項目的聚類。O’Connor等對項目進行聚類,在對應的聚類中搜索目標用戶的最近鄰,算法雖然提高了可擴展性但是推薦質量并沒有提高,原因是每個聚類中的用戶數并不是隨著聚類中項目數的減少而減少,所以這種方法在用戶對多個聚類中的商品均有評分的情況下并不理想。鄧愛林等根據用戶對項目評分的相似性進行聚類,從而只需要在與目標項目最相似的若干個聚類中就能尋找到目標項目的大部分最近鄰,結果表明該算法能夠保證在盡量小的項目空間上查詢到目標項目盡量多的最近鄰,從而有效提高推薦系統(tǒng)的實時響應速度。但實驗是在計算目標項目與聚類中心相似性的時間代價相對于最近鄰查詢可以忽略的條件下成立的,當聚類數目很大的時候是不能忽略的。翁小蘭等基于項目特征聚類的協(xié)同過濾推薦算法,選取k個具有代表性項目屬性形成項目特征矩陣,并利用特征矩陣進行未評分項的預評分,其關鍵是要選擇合適的特征屬性,該算法可解決數據稀疏性和新產品的冷啟動問題。
?基于用戶的聚類。Adomavicius等利用用戶評分的相似性對用戶進行聚類,當用戶離線時預處理用戶數據,在線時利用已有的用戶聚類尋找目標用戶的最近鄰并產生推薦。算法在一定程度上提高了推薦質量,但當用戶評價數據極端稀疏時該方法依靠用戶評價聚類的可靠性不高。Ranshid等用Bisecting K-means聚類生成每個聚類的代理用戶,基于目標用戶的相似代理用戶進行推薦。查文琴等¨¨將用戶對項目的關注相似性和用戶對項目的評分相似性進行線性組合,利用組合后的相似性對用戶進行聚類,更好地反映了用戶的興趣,在一定程度上提高了在線推薦的實時響應速度和推薦的精度。其中要注意關注相似性和評分相似性之問平衡因子的確定。
?基于用戶和項目的聚類。Kohrs等引入樹的概念,用戶或項目為其節(jié)點,對用戶和項目分別進行層次聚類,其相似性由其所處的層次決定,最后加權求和預測評分。George等采用co,clustering算法構建了一個動態(tài)框架,有效解決了實時性問題,同時并行處理用戶和項目,提高了系統(tǒng)的可擴展性。張娜等采用k劃分對項目進行聚類,產生k個用戶一項目子矩陣,然后在項目聚類基礎上進行k劃分客戶聚類,最后在目標用戶所在的幾個矩陣中尋找最近鄰。但這種算法在樣本數比較大的時候,計算量及復雜度很大,難以保證系統(tǒng)的實時性。
聚類通常采用離線方式建立模型以保證其實時性,但由于時間滯后性可能導致推薦與用戶興趣不符,因此支持用戶動態(tài)更新的增量機制將是改進其推薦質量的一個新思路。同時聚類最大的缺陷是無論用戶或項目分在一個類之后就不能出現在其他類中(而實際上用戶的興趣是廣泛的),從而導致推薦的質量不高。
2.2.2結合關聯規(guī)則
基于關聯規(guī)則的推薦算法根據生成的關聯規(guī)則模型和用戶當前的購買行為向用戶產生推薦。Sandvig等認為基于關聯規(guī)則的協(xié)同過濾推薦系統(tǒng)的魯棒性和擴展性較之基于模型、基于最近鄰等系統(tǒng)具有更高推薦精度。其原因是基于關聯規(guī)則的推薦系統(tǒng)可以有效避免惡意評分的注入。曾艷等指出Apriori算法處理大量候選項集時開銷很大, 而FP-Growth算法在判斷節(jié)點加入FP-tree時開銷可能也會很大,在前兩種算法的基礎上構造了AFP-樹,其便于存儲和查詢頻繁模式,而且能同時使用兩種約束來挖掘模式,但AFP-樹構建復雜度高。哈進兵等在關聯規(guī)則的基礎上引入了項目加權的概念,在計算頻繁集時裁剪掉權重較小的項目,不僅能夠減小運算的復雜度,而且還能實現“跨類型”推薦。
通過離線生成關聯規(guī)則雖然解決了實時性問題,但在一定程度上不能及時反映用戶的興趣變化,而關聯規(guī)則的頻繁生成會增加成本。所以,定期增量更新既可以適應用戶變化,又可以節(jié)約成本。
2.2.3結合貝葉斯的協(xié)同過濾算法 Bayesian網絡技術利用訓練集創(chuàng)建相應的模型,但是由于用戶和項目的不斷增加導致需要定期重建模型,而訓練模型的成本高,因此貝葉斯網絡適用于用戶興趣變化較慢的環(huán)境。孟憲福等根據用戶愛好對項目進行分類,實驗表明隨著評分數據的增加,數據稀疏度在一定程度上增加,但推薦精度卻提高,這是因為同一用戶的評分數量增加,可以更好地分析用戶對特征的愛好,查找到更好的最近鄰。趙永梅等采用動態(tài)貝葉斯網絡,不斷學習更新推薦模型,提高了模型的適應性,使得推薦結果更加滿足客戶的需求。李大學等利用改進的加權樸素貝葉斯方法統(tǒng)計、分析特征屬性集與評分之間的關系來預測缺失數據,有效緩解了數據稀疏性問題。
2.2.4結合神經網絡或免疫網絡
?BP神經網絡。張鋒等利用BP神經網絡能夠有效地處理非完整信息的特點進行預評分以減少候選最近鄰數據集的稀疏性,該算法避免了降維法和智能Agent法的缺點,提高了協(xié)同過濾推薦系統(tǒng)的推薦質量。張磊等利用兩層面的多個BP神經網絡協(xié)同工作,高層面BP網反向誤差傳播直至低層面多個人工神經網絡進行網絡權值修正,借助用戶評價等特征前向給出項目推薦,其并行性提高了推薦速度。
?人工免疫網絡。Acilar等利用aiNet描述數據結構,如空間分布、聚類交互等,能夠有效緩解數據集稀疏性并提高數據集的擴展性。蘇一丹等利用獨特型人工免疫網絡的自動濃度調節(jié)機制來維持推薦系統(tǒng)中用戶鄰居的多樣性,并利用人工免疫網絡的可并行計算特性,設計出并行分布式推薦算法,提高了算法的速度和精度。由于實驗處理的數據相對于推薦系統(tǒng)處理的數據而言很小,所以在并行分布式計算環(huán)境下機群數量的選擇很重要,并不是機器越多越好,要充分考慮硬件成本和通信成本。張建林等利用aiNet自身的克隆變異機制產生隱式評價來降低數據稀疏性,利用aiNet的克隆抑制、網絡抑制機制減少數據維度來提高可擴展性,系統(tǒng)的響應時間和算法的收斂性值得進一步研究。
2.2.5結合云模型 云模型是李德毅院士提出的一種定性定量轉換模型,能夠實現定性概念與其數值表示之間的不確定性轉換。張光衛(wèi)等給出一種基于云模型的用戶相似度比較方法,充分利用項目的分類信息,避免傳統(tǒng)算法把用戶的整體打分作為單個向量的弊端。張光衛(wèi)等借鑒云模型中的云相似度量方法來實現基于知識層面的項目相似性度量,改善了傳統(tǒng)基于向量的相似度比較方法必須嚴格匹配對象屬性的不足,而且算法在一定程度上克服了用戶評分數據極端稀疏的負面影響。張新香等借助云相似度量方法實現了知識層面的項目相似性的度量,充分發(fā)揮了基于項目的協(xié)同過濾和云模型的優(yōu)勢。但上述方法都不能有效計算用戶對未評分項目的評分,沒有很好地解決評分數據的稀疏性問題,從而得到的目標用戶最近鄰不夠準確。針對上述問題,徐德智等利用云模型對項目進行評分預測,緩解了數據稀疏問題。
2.2.6結合維數簡化Paterek等使用奇異值分解,將用戶一評分矩陣分解得到與其最接近的低階矩陣,提高了可擴展性,并有效緩解了同義性問題。孫小華等采用SVD方法來預測未打分項的預測值得到一個無缺失值的評分矩陣,然后用這個無缺失值的評分矩陣來求取實際未評分項目的預測值,提高了推薦質量。朱敏等將數據在高維向量空間模型中的表示,投影到低維的潛在語義空間中,選擇最重要的特征作為原始矩陣的特征值。常富洋等利用SVD將用戶基本信息與用戶一評分矩陣組合形成的新矩陣分解降維,下一步工作是對用戶基本信息的擴充。通過奇異值分解減少項目空間的維數,這種方法顯著地提高推薦系統(tǒng)的伸縮能力,但降維會導致信息損失。
2.2.7結合對等網
鐘瑞瓊等將推薦系統(tǒng)建立在對等網絡平臺上,網絡中的節(jié)點分為超級節(jié)點和普通節(jié)點,使得搜索只需要在少數的超級對等點之間進行,該結構可以有效地提高網絡的可擴展性,大大提升搜索速度,并且可以滿足推薦系統(tǒng)的實時性要求。Liu等構造了一種結合用戶和項目屬性的對等網機制,充分利用項目屬性構造布爾矩陣來填充稀疏矩陣的空元素,提高系統(tǒng)的安全性和擴展性。
筆者概括了幾種主流的協(xié)同過濾改進算法,隨著電子商務的發(fā)展,研究者還會不斷提出新的改進思路和方案以解決其在發(fā)展過程中產生的新問題。
3 推薦效果評估
上述各種改進的算法都有其自身的優(yōu)缺點,到底哪種算法是最優(yōu)的,目前并沒有統(tǒng)一定論,主要是由于不同系統(tǒng)的任務是不一樣的,而且評價指標缺乏標準化,因此很難比較。目前普遍認為最重要的指標是準確性,其次還有多樣性、覆蓋率等指標。
3.1準確度
絕大多數推薦系統(tǒng)都利用準確度來評價推薦算法的好壞。針對不同的系統(tǒng),主要有預測準確度、分類準確度、排序準確度等指標。
預測準確度衡量的是推薦算法的預測打分與用戶實際打分的相似程度,在需要顯示具體分值的系統(tǒng)中十分重要。其可以從整體上度量推薦算法的準確度,但在實際中用戶只關心自己所感興趣的產品的預測準確度和好壞產品的區(qū)分,預測準確度在這兩點上并不能滿足用戶需求。通常采用平均絕對偏差來度量預測準確度,此外還有平均平方誤差和標準平均絕對誤差。平均平方誤差在求和之前對系統(tǒng)預測打分與用戶打分誤差進行平方,其對平均平方誤差的影響會比平均絕對誤差更大。標準平均絕對誤差在打分值的區(qū)間內作標準化,從而可以在不同的數據集上對算法的效果進行比較。
分類準確度是指判斷一個產品用戶是否喜歡的正確比例。其并不直接評價算法打分的相似程度,只要分類準確就認為是有效的,適合于只有二元選擇的系統(tǒng)。分類準確度通常使用準確率、召回率以及F指標來度量,其中準確率是指推薦列表中用戶喜歡的產品所占的比例,召回率是指推薦列表中用戶喜歡的產品與系統(tǒng)中用戶喜歡的所有產品的比率。準確率和召回率的定義依賴于用戶喜歡和不喜歡的產品分類。但在用戶表明喜好之前,系統(tǒng)無法知道用戶是否喜歡某些未知的產品,所以召回率很難計算。為了更加全面地評價推薦算法的好壞,Pazzani提出了F指標同時使用準確率和召回率,應用范圍很廣。
排序準確度用于度量推薦算法產生的列表與用戶對產品排序的符合程度,適合于對排列順序要求嚴格的系統(tǒng)。用戶喜歡的所有產品排序分的平均值可以度量系統(tǒng)的排序準確度。排序分越小,說明系統(tǒng)趨向于把用戶喜歡的產品排在前面。平均排序分簡單易用,可以用來度量不同算法對同一數據集的排序效果。
3.2多樣性與覆蓋性
在實際應用中,衡量推薦效果的指標還有推薦列表的多樣性、覆蓋率等指標。周濤等提出利用推薦產品的平均海明距離對推薦產品的流行性以及不同推薦列表的多樣性進行度量。覆蓋率是指可以預測打分的產品占所有產品的比例。在推薦系統(tǒng)中,只有高覆蓋率才有可能盡可能多地找到用戶感興趣的產品。
4 結論與展望
論文介紹了協(xié)同過濾推薦算法的主要思想及存在的問題,總結了近幾年主流的改進思路,主要是通過緩解數據稀疏性和建立模型兩種思路來改進。在數據豐富的情況下,各種推薦算法的推薦效果幾乎沒有什么差異,但在數據稀疏的情況下卻產生很大的差異。其中聚類、維數簡化通過縮小最近鄰查詢空間來緩解數據稀疏性,雖然可以提高系統(tǒng)的可擴展性,但難以保證推薦系統(tǒng)的質量。而基于關聯規(guī)則、貝葉斯、神經網絡等推薦系統(tǒng)在數據稀疏的情況下仍有好的推薦效果,主要是因為在離線建立模型時盡可能模擬真實的系統(tǒng)。但基于模型的推薦系統(tǒng)卻難以利用最新數據,需要不斷動態(tài)更新模型才能保證推薦的有效性。因此,以基于模型的算法為主而其他幾類技術為輔構建推薦系統(tǒng)應該成為今后的主流。本文的不足之處是只是定性地對各種算法進行比較,下一步的工作是通過搭建平臺,在各個數據集上測試各種算法,并利用各項指標綜合評估各種算法。
相關熱詞搜索:協(xié)同 綜述 過濾 協(xié)同過濾推薦研究綜述 協(xié)同過濾算法實現 java協(xié)同過濾算法
熱點文章閱讀