【每週一文】Collaborative Filtering for Implicit Feedback Datasets(2008)

概述

協同過濾(Collaborative Filtering)是推薦領域非常重要的算法策略,由於它的領域無關性,應用非常廣泛。本文解決的一個問題是:在訓練數據集合中,只有用戶的隱式反饋,例如用戶的瀏覽行爲、收藏行爲等,沒有用戶直接打分行爲;即只有用戶偏好行爲,對於用戶不喜歡的商品沒有數據支持;基於以上數據本文提出一種隱式因子模型(Factor Model)解決該問題,並給出優化求解。

問題建模

矩陣分解

推薦問題解決的問題歸納爲給用戶u推薦物品i,並且滿足用戶偏好、新奇度和多樣性等。協同過濾和矩陣分解是常用的方法。

協同過濾

按照用戶和物品維度可以分爲基於用戶的協同過濾和基於物品的協同過濾,主要思想是計算用戶與用戶、物品與物品以及用戶和物品的相關度。以物品協同過濾舉例,將物品表示爲用戶維度的向量,這樣就可以計算物品之間的相似度,則用戶與物品相似度爲

rui=jSki:usijrujjSki:usij
其中Si:u 表示和物品i最相似的物品集合

矩陣分解

用戶對物品的打分矩陣可以通過矩陣分解技術得到用戶和物品在低維空間的表示,這樣可以通過向量相似度計算得到用戶-用戶、物品-物品以及用戶到物品之間的相似度。
SVD分解:可以解決該問題,由於用戶對物品打分矩陣不是完備的,需要對缺少數據進行處理,此時應用SVD才能得到較好效果。
因子分解:對SVD問題進行補充,僅僅考慮已知的打分,歸約爲

min rui0(ruixTuyi)2+λ(||xu||2+||yi||2)
該文提出的隱式反饋模型就是基於該模型進行改進。

模型

隱式反饋特徵

相對於顯示反饋數據,隱式反饋有以下幾方面特徵
1. 沒有負反饋,只能得到用戶喜歡那些物品,對於用戶不喜歡的物品沒有數據支持。
2. 隱式反饋噪聲比較多,不像用戶評分行爲是用戶強烈的主動行爲,用戶瀏覽行爲、點擊行爲都相對比較被動。以瀏覽行爲爲例,可能某個頁面是用戶默認打開頁面導致打分較高。
3. 顯式反饋代表用戶真實的喜好程度,隱式反饋代表置信度
4. 評估相對不容易

建模

在該模型中對rui 引入喜好變量和置信度變量,分別表示如下
喜好變量pui ,定義如下

f(n)={1,0,if rui0if rui=0 

置信度變量cui 表示用戶對物品喜好的置信程度,常用度量爲cui=1+αrui 或者cui=1+αlog(1+rϵ)
最終模型爲
min uicui(puixTuyi)2+λ(||xu||2+||yi||2)

這裏需要解決兩個問題1)如何對置信度進行度量2)如何求解該最優化問題

模型求解

針對以上兩個問題

1.置信度度量方法,可以採用上面提及的兩種方法,其中針對第一種方法實驗驗證當α40 效果較好
2. 模型求解,該模型相對於因子分解,需要求解一個稠密矩陣的分解,按照原始SGD進行求解時間複雜度較高
3. ALS進行求解,對用戶維度和物品維度分別進行求解,每一步求解都是一個最優化問題,可以採用正規方程進行求解

總結

該文提出一個隱式反饋模型對隱式反饋數據進行建模,將用戶對物品的觀測行爲分解爲喜好程度和置信程度兩個維度變量進行求解,通過TV播放數據驗證效果較其他方法較好。
在後面工作中,給用戶推薦頁面,可以將對用戶隱式行爲即瀏覽和點擊行爲進行建模,進行效果優化。

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