推薦系統:協同過濾及其利弊

在上一篇文章中,我們談到了推薦系統中基於內容的過濾及其利弊,今天我們來看看協同過濾。

與基於內容的過濾(CBF)不同,協同過濾(Collaborative Filtering)技術獨立於域,適用於無法利用元數據充分描述的項目,如電影、音樂等。

協同過濾技術(CF)首先會構建用戶項目偏好的數據庫,即user-item矩陣,然後,計算用戶畫像之間的相似性,匹配具有相似的興趣愛好的用戶,完成整個推薦。這些用戶獲得的推薦項目,是他之前未評級但已被其它相似用戶評價過的項目。

由CF生成的結果可能是預測,也可能是推薦。預測表示用戶i的項目j的預測得分的數值Rij,而推薦是用戶最喜歡的前N個項目的列表,如圖下所示。

協同過濾可以分爲兩類:1)基於記憶;2)基於模型。


基於記憶

在用戶的搜索過程中,與他興趣愛好相似的用戶之前評價過的項目扮演着重要角色。一旦匹配到與該用戶興趣愛好相似的其他用戶,就可以使用不同的算法,結合該用戶和其他用戶的興趣愛好,生成推薦結果。

基於記憶的CF可以通過基於用戶(user-based)和基於項目(item-based)兩種技術實現。

基於用戶的CF通過比較用戶對同一項目的評級來計算用戶之間的相似性,然後計算活躍用戶對項目的預測評級,並將該預測作爲類似的其他用戶對項目評級的加權平均值。

基於項目的CF則利用項目之間的相似性預測結果:從用戶-項目矩陣中檢索活躍用戶評價的所有項目,建立項目相似性的模型,計算項目之間的相似度,然後選擇前K個最相似的項目,計算前K個項目的加權平均值,生成預測。

計算物品/用戶之間的相似性有很多方法:

計算歐幾里得距離:

利用歐幾里得距離計算相似度時,將相似度定義如下:

皮爾遜相關係數:

其中sx,sy表示x和y的標準差。

Cosine相似度:

Tanimoto係數,也稱作Jaccard係數:

基於模型

基於模型的CF會使用先前的用戶評級來建模,提高協同過濾的性能。建模過程可以通過機器學習或數據挖掘來完成。這些技術包括奇異值分解(SVD)、潛在語義分析、迴歸分析、聚類分析等。

關聯規則(Association Rule)

常見的推薦算法,由字面意思可知,從大量用戶行爲數據中發現有強關聯的規則,提高存儲效率和性能。優點是能夠從大量行爲數據中挖掘出無法直接感受到的規則,往往能給出意想不到的規則組合。缺點是難以進行模型評估,一般通過行業經驗判斷結果是否合理。

關聯規則最經典的是購物籃分析,啤酒和尿布就是一個經典案例。運用在早期亞馬遜、京東、淘寶等購物推薦場景中,往往表現爲“買過這本書的人還買了XXX”,“看了這部電影的人還想看XXX”,其推薦結果包含的個性化信息較低,相對簡單粗暴。

聚類分析(Clustering Analysis)

聚類技術已應用於不同的領域,如模式識別、圖像處理、統計數據分析等。聚類就是將數據對象分組成爲多個類或者簇 (Cluster),從而讓同一個簇中的對象之間具有較高的相似度,而不同簇中的對象差別較大。所以,在很多應用中,一個簇中的數據對象可以被作爲一個整體來對待,從而減少計算量或者提高計算質量。人們日常生活的“物以類聚,人以羣分”,核心的思想就是聚類。通過聚類,人們能意識到密集和稀疏的區域,發現全局的分佈模式,以及數據屬性之間的有趣的相互關係。在CF中,聚類分析可以作爲其他算法的預處理步驟,簡化計算量,提高分析效率。

決策樹(Decision Tree)

機器學習中,決策樹是一個預測模型;代表的是對象屬性與對象值之間的一種映射關係。樹中每個節點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值,而每個葉結點則對應從根節點到該葉節點所經歷的路徑所表示的對象的值。決策樹僅有單一輸出,若想要有複數輸出,可以建立獨立的決策樹以處理不同的輸出。從數據產生決策樹的機器學習技術叫做決策樹學習, 通俗說就是決策樹。決策樹的簡單策略好比公司招聘面試,面試官篩選一個人的簡歷,如果候選人的各項條件都符合,那麼進入初面,初面合格再進入下一輪面試。

人工神經網絡(Artificial Neural Network)

人工神經網絡從信息處理角度對人腦神經元網絡進行抽象,建立某種簡單模型,按不同的連接方式組成不同的網絡。在工程與學術界也經常被簡稱爲“神經網絡”或“類神經網絡”。神經網絡是一種運算模型,由大量的節點(或稱神經元)之間相互聯接構成。每個節點代表一種特定的輸出函數,稱爲激勵函數(activation function)。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之爲權重,這相當於人工神經網絡的記憶。網絡的輸出則依網絡的連接方式、權重值和激勵函數的不同而不同。網絡自身通常都是對自然界某種算法或者函數的逼近,也可能是對一種邏輯策略的表達。

迴歸分析(Regression Analysis)

利用數據統計原理,對大量統計數據進行數學處理,並確定因變量與某些自變量的相關關係,建立一個相關性較好的迴歸方程(函數表達式),並加以外推,用於預測今後的因變量的變化的分析方法,就叫回歸分析。迴歸分析又可以分爲兩大類,根據因變量和自變量的個數來分類的話,可分爲一元迴歸分析與多元迴歸分析;根據因變量和自變量的函數表達式來分類的話,可分爲線性迴歸分析與非線性迴歸分析。

貝葉斯分類器(Bayesian Classifiers)

由於推薦問題可以看成分類問題,因此可以使用機器學習領域中的分類算法加以解決。樸素貝葉斯分類算法是貝葉斯分類算法中比較簡單的一種,它的基本思想是:對於給出的待分類物品和既定的類別,計算該物品在各個類別中出現的頻率,哪個類別計算出的概率大就將物品歸於那個類。在推薦系統中,樸素貝葉斯分類能夠在已知某些評分的情況下,通過計算概率預測未知評分。

樸素貝葉斯分類器的主要優點是對孤立的噪聲點和不相關的屬性具有魯棒性,並且通過在概率估算中忽略實例來處理缺失值。素貝葉斯分類實現起來比較簡單,準確率高,但是分類的時候需要學習全部樣本的信息。因此,樸素貝葉斯分類適用於數據量不大,類別較少的分類問題。

協同過濾技術的優缺點

協同過濾與CBF相比,優勢就是可以在根據各個用戶的歷史信息推薦項目,跟項目本身的內容屬性無關。儘管CF技術取得了一定成功,但仍然存在一些問題:

1.冷啓動問題

在產品剛剛上線、新用戶到來的時候,如果沒有用戶在應用上的行爲數據,也無法預測其興趣愛好。另外,當新商品上架也會遇到冷啓動的問題,沒有收集到任何一個用戶對其瀏覽,點擊或者購買的行爲,也無從對商品進行推薦。

2.數據稀疏性問題

當用戶僅對數據庫中可用的項目中的一小部分進行評分時,就會導致這種問題。數據規模越大,一般而言越稀疏。

3.可擴展性問題

這是與推薦算法相關的另一個問題,因爲計算通常隨着用戶和項目的數量線性增長。當數據集的量有限時,推薦技術是有效可行的,但當數據集的量增加時,生成推薦的量就不太好。在這種情況下,用於解決可擴展性問題和加速推薦生成的方法會基於降維技術,例如奇異值分解(SVD)。

4.同義問題

同義詞是指名稱不同但非常相似的項目。大多數推薦系統很難區分這些項目之間的不同,如嬰兒服裝和嬰兒布料。協同過濾通常無法在兩個術語之間建立匹配,也無法計算二者之間的相似性。自動術語擴展、詞庫構建、奇異值分解(SVD),尤其是潛在語義索引,能夠解決同義問題,但缺點是某些添加的術語可能與預期的含義不同,從而導致推薦性能的快速下降。

閱讀更多:

推薦系統:基於內容的過濾及其利弊

推薦系統的工作流程

白話推薦系統

推薦系統相關術語知多少

入門推薦系統,你不應該錯過的知識清單

推薦系統簡論

薦是一款賦能媒體的AI產品,是集內容上傳、內容管理、內容分發、推薦干預、前端渲染於一體的一站式推薦服務可視化平臺,支持PC、WAP、APP全平臺接入,幫助媒體從0到1搭建推薦系統,顯著提升用戶活躍、留存、觀看時長等重要業務指標,在減少技術成本投入的同時,大幅提高媒體運營效率,從而實現業務智能化轉型。目前已服務人民日報、環球網、花瓣網、果殼網、段友、36氪、簡書等三百餘家內容平臺,其中在環球網web端的興趣推薦項目上,實現了點擊率58%的提升,同時訪問量和營收分別增長了69%、20%。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章