如何利用CLimF算法設計推薦系統
原創【51CTO.com原創稿件】自 2010 年開始,推薦系統領域出現了許多不同的排序學習的方法。所謂排序學習,指的是推薦系統機器學習算法優化的指標是推薦給用戶的物品的排名,而不是具體的評分。排序學習解決問題的思路一般是首先提出一個需要優化的信息檢索領域的指標,然后對其進行優化。因為這個指標通常是不光滑的,所以首先需要對這個指標進行近似,使得其成為一個光滑函數。信息檢索的指標不同,產生了不同的算法。本文所要介紹的算法叫做 Collaborative Less is More Filtering (CLimF) 是 2013 年在人工智能的權威會議 IJCAI 發布的文章。
CLimF 優化的信息檢索指標叫做 Reciprocal Rank (RR) ,是指的推薦給用戶的物品列表中***個被點擊的物品的排名的倒數。例如,系統推薦了 10 個電影給用戶,用戶***個點擊的是在系統中排名第 2 的電影,那么用 RR 來衡量系統,得分就是 1/2 。因為推薦給用戶的物品的列表都是按照推薦系統給出的評分從高到低進行排序的,因此排名越靠前的物品是越被推薦系統看好。所以用戶點擊的物品排名越靠前,說明推薦的效果越好。這是 RR這個指標設計的初衷。
CLimF 試用的場景是推薦給用戶的物品不多,但是比較有價值的情況。比如社交網絡里的友鄰推薦,在這種場景下,Top 3 或者 Top 5 的推薦通常更有價值。
RR 的正式定義如下:
盡管我們***得到的公式是個光滑函數,但是它的復雜度極高,因此在實際應用中,我們需要找到替代的公式。
***我們通過隨機梯度下降的方式對***化函數進行求解。
CLiMF 函數跟其他算法相比的測評效果如下:
CLiMF 與其他算法的比較:
- CofiRank : CofiRank 是***個將排序學習應用于推薦系統的算法,它優化的指標是 NDCG ,不適合二分類問題
- Bayesian Personalized Ranking : 需要負樣本,而 CLiMF 只需要正樣本
作者簡介:
汪昊,區塊鏈公司科學家,前恒昌利通大數據部負責人,美國猶他大學本科/碩士,在百度,新浪,網易,豆瓣等公司有多年的研發和技術管理經驗,擅長機器學習,大數據,推薦系統,社交網絡分析等技術。在 TVCG 和 ASONAM 等國際會議和期刊發表論文 10 篇。本科畢業論文獲國際會議 IEEE SMI 2008 ***論文獎。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】