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