协同过滤概述
定義
協同過濾推薦算法(僅僅基于用戶行為數據設計的推薦算法)就是指用戶不斷地和網站互動,是自己的推薦列表能夠不斷地過濾掉自己不感興趣的物品。
用戶數據簡介
由于協同過濾推薦算法是僅僅基于用戶行為數據設計的推薦算法,這里首先介紹一下用戶行為數據。
用戶行為數據一般分為顯性反饋數據(比如評分)和隱性反饋數據(比如頁面瀏覽行為);假若按照反饋的明確性分,可以分為正反饋(行為傾向于用戶喜歡該物品)和負反饋(行為傾向于用戶不喜歡該物品)。數據存儲一般形式為日志(成為原始日志),然后加工成為會話日志,類型包含:
l? 無上下文信息的隱性反饋數據集:每一條行為記錄僅僅包含用戶ID和物品ID。
l? 無上下文信息的顯性反饋數據集:每一條行為記錄包含用戶ID、物品ID、用戶對物品的評分。
l? 有上下文信息的隱性反饋數據集:每一條行為記錄包含用戶ID和物品ID、用戶對物品產生行為的時間。
l? 有上下文信息的顯性反饋數據集:每一條行為記錄包含用戶ID、物品ID、用戶對物品的評分、用戶對物品產生行為的時間。
用戶行為數據一般存儲在分布式數據倉庫(數據庫或者分布式文件系統)中。
用戶行為數據分析
下面兩種規律為一般性規律,對于具體應用還需結合自身數據實際情況。
1.???????
用戶活躍度和物品活躍度分布一般遵從長尾分布(簡單理解就是活躍度和數量成近似反比 – 以“用戶”為例:隨著活躍度的增長,用戶數量減少)。
2.???????
用戶活躍度和物品流行度成反比(簡單解釋:對于低活躍度的用戶,一般會直接瀏覽熱門商品,而對于高活躍度的用戶,由于對網站熟悉,反而會瀏覽自己喜歡但相對冷門的商品)。
算法
協同過濾(collaborative filtering)推薦算法包括在線協同和離線過濾。所謂在線協同:就是通過在線數據找到用戶喜歡的商品;離線過濾:就是過濾掉一些不值得推薦的數據,比如用戶已經購買過的商品或推薦值評分極低的商品。
一般來說協同過濾推薦分為三種類型。第一種是基于用戶的協同過濾(user-CF),第二種是基于商品的協同過濾(item-CF),第三種是基于模型的協同過濾(現在是最主流的協同過濾類型)。
總結
- 上一篇: hive 正则表达式 过滤字符串里的中文
- 下一篇: 2019春第七周作业