什么是好的推薦系統(tǒng)

推薦系統(tǒng)一般有兩種:一種是預(yù)測用戶評分,另外是給出TopN,但后者會更頻繁更有用。因為預(yù)測分?jǐn)?shù)并不能怎么樣。“重點是他看了,而不是評價”。下面都以TopN為主。

衡量推薦系統(tǒng)有四個基本指標(biāo):

  • 準(zhǔn)確率:

  • 召回率:

  • 覆蓋率:對長尾物品的挖掘能力,所有用戶的推薦總列表,占所有商品的比例,可以看出,K越大,覆蓋率一定越高

  • 流行度:

更高級別的:

  • 新穎度: 這會讓人眼前一亮,但很難通過離線計算獲得,通常都用用戶問卷。

現(xiàn)在主流推薦算法都有馬太效應(yīng):強者越強,弱者越弱,會造成基尼系數(shù)的進(jìn)一步提升。

距離和基于圖的算法

基于距離的算法

用戶購買的物品,可以記做矩陣。就有了ItemCF和UserCF,即常用的協(xié)同過濾。簡單說,購買了相似物品的用戶越相似,被用戶同時購買的商品更相似。

對大部分東西的熱度曲線,都呈現(xiàn)長尾效應(yīng):指數(shù)曲線。占20%的物品占據(jù)了80%的流量。越是重度用戶,越會關(guān)心那些冷門的信息。

UserCF的推薦更社會化, 反映了用戶在小型團體中興趣的程度;和自己相似的人喜歡的,自己也喜歡。 ItemCF的推薦更個性化,反映了用戶自己的興趣:一定會喜歡購買類似的商品。

算法看似簡單,但都有共同的問題,比如物品和物品是不同的,新華字典的信息量肯定沒有《機器學(xué)習(xí)》來得大;人和人也是不同的,一個書商購書行為,也和普通的文藝青年有所區(qū)別。因此,需要特別去調(diào)整頻繁用戶/物品的權(quán)重,避免污染整個數(shù)據(jù)集。

另外,如果物品特別多或更新頻繁,就去更新用戶矩陣。而若用戶特別多,則可用物品矩陣。簡而言之,沒有最合適的方法,都需要根據(jù)具體業(yè)務(wù)場景來定義規(guī)則。

K值越大,需要考慮的用戶和商品就越多,顯然,對UserCF,可以提升覆蓋率,但不一定能提升召回。對ItemCF, K越大會降低覆蓋率(為什么?)。
選擇一個合適的K很重要。ItemCF的好處是其可解釋性。

基于隱語義的算法

簡單說,如果用戶之前喜歡科技類書籍,那么就可以給他打標(biāo)簽,科技,之后即可推薦科技類書籍。

但問題是:

  • 不是所有的書籍都有準(zhǔn)確的分類,比如數(shù)學(xué)or計算機

  • 分類很難提供準(zhǔn)確的粗細(xì)粒度

  • 甚至不一定有合適的分類標(biāo)簽

這就是隱語義,可以通過類似聚類的方法,將Item做分類,但標(biāo)簽不一定是可解釋的,也就是所謂的“隱”,即LFM。

LFM通過如下公式計算用戶對某個商品的興趣:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式