推薦系統實戰 出租公寓專案8 推薦系統評估

2021-08-18 01:38:22 字數 2431 閱讀 1685

前面說了那麼多,推薦系統的冷啟動,協同過濾演算法,聚類演算法,關聯規則,混合演算法,那現在問題出來了,我用哪種演算法來寫我自己的公寓出租推薦系統呢?一是憑經驗,二,所有演算法都測試一遍,看哪個效果好!!!!效果好的標準是什麼??就是馬上要說的推薦系統的評估,指標。

當然,ab test也有缺點,週期比較長,必須進行長期的實驗才能得到可靠的結果。一天?一周?乙個月?依你的產品而定,沒有決對的對與錯。

只說topn推薦,不涉及到評分系統推薦。

有以下幾個指標衡量離線測評效果:準確率,召回率,覆蓋率,多樣性,新穎性,驚喜度,信任度,實時性,健壯性,商業目標。

這2個指標經常一起出現,也是最常用來衡量離線測評的。

**在提供推薦服務時,一般是給使用者乙個個性化的推薦列表,這種推薦叫做topn推薦。topn推薦的**準確率一般通過準確率(precision)/召回率(recall)度量。令 r(u) 是根據使用者在訓練集上的行為給使用者作出的推薦列表,而 t(u) 是使用者在測試集上的行為列表。那麼,推薦結果的召回率定義為:

推薦結果的精準率定義為:

很多公司做的推薦系統甚至只用這2個指標來衡量系統的好壞。

覆蓋率(coverage)描述乙個推薦系統對物品長尾的發掘能力。覆蓋率有不同的定義方法,最簡單的定義為推薦系統能夠推薦出來的物品佔總物品集合的比例。假設系統的使用者集合為 u,推薦系統給每個使用者推薦乙個長度為n的物品列表r(u)。那麼推薦系統的覆蓋率可以通過下面的公式計算:

覆蓋率是乙個內容提供商會關心的指標。以圖書推薦為例,出版社可能會很關心他們的書有沒有被推薦給使用者。覆蓋率為100%的推薦系統可以將每個物品都推薦給至少乙個使用者。此外,從上面的定義也可以看到,熱門排行榜的推薦覆蓋率是很低的,它只會推薦那些熱門的物品,這些物品在總物品中佔的比例很小。乙個好的推薦系統不僅需要有比較高的使用者滿意度,也要有較高的覆蓋率。

為了滿足使用者廣泛的興趣,推薦列表需要能夠覆蓋使用者不同的興趣領域,即推薦結果需要具有多樣性。儘管使用者的興趣在較長的時間跨度中是一樣的,但具體到使用者訪問推薦系統的某一刻,其興趣往往是單一的,那麼如果推薦列表只能覆蓋使用者的乙個興趣點,而這個興趣點不是使用者這個時刻的興趣點,推薦列表就不會讓使用者滿意。反之,如果推薦列表比較多樣,覆蓋了使用者絕大多數的興趣點,那麼就會增加使用者找到感興趣物品的概率。因此給使用者的推薦列表也需要滿足使用者廣泛的興趣,即具有多樣性。

多樣性描述了推薦列表中物品兩兩之間的不相似性。因此,多樣性和相似性是對應的。假設定義了物品 i 和 j 之間的相似度,那麼使用者 u 的推薦列表 r(u) 的多樣性定義如下:

而推薦系統的整體多樣性可以定義為所有使用者推薦列表多樣性的平均值:

驚喜度(serendipity)是最近這幾年推薦系統領域最熱門的話題。令使用者驚喜的推薦結果是和使用者歷史上喜歡的物品不相似,但使用者卻覺得滿意的推薦。那麼,定義驚喜度需要首先定義推薦結果和使用者歷史上喜歡的物品的相似度,其次需要定義使用者對推薦結果的滿意度。

度量推薦系統的信任度只能通過問卷調查的方式,詢問使用者是否信任推薦系統的推薦結果。提高推薦系統的信任度主要有兩種方法:

在很多**中,因為物品(新聞、微博等)具有很強的時效性,所以需要在物品還具有時效性時就將它們推薦給使用者。比如,給使用者推薦昨天的新聞顯然不如給使用者推薦今天的新聞。因此,在這些**中,推薦系統的實時性就顯得至關重要。

推薦系統的實時性包括兩個方面:

健壯性(robust,魯棒性)

指標衡量了乙個推薦系統抗擊作弊的能力。

演算法健壯性的評測主要利用模擬攻擊。首先,給定乙個資料集和乙個演算法,可以用這個演算法給這個資料集中的使用者生成推薦列表。然後,用常用的攻擊方法向資料集中注入雜訊資料,然後利用演算法在注入雜訊後的資料集上再次給使用者生成推薦列表。最後,通過比較攻擊前後推薦列表的相似度評測演算法的健壯性。如果攻擊後的推薦列表相對於攻擊前沒有發生大的變化,就說明演算法比較健壯。 

在實際系統中,提高系統的健壯性,除了選擇健壯性高的演算法,還有以下方法:

很多時候,

**評測推薦系統更加注重**的商業目標是否達成

,而商業目標和**的盈利模式是息息相關的。一般來說,最本質的商業目標就是平均乙個使用者給公司帶來的盈利。不過這種指標不是很難計算,只是計算一次需要比較大的代價。因此,很多公司會根據自己的盈利模式設計不同的商業目標。

不同的**具有不同的商業目標。

推薦系統實戰 出租公寓專案2 冷啟動

github 產品的形式,決定了解決問題的方法。微博新使用者註冊的時候,會問你對哪些領域感興趣 就是在得到你的興趣愛好,還建議關注一些大v,也是乙個意思。推薦系統實踐 特意拿出一章來說推薦系統冷啟動問題,裡面講的很好了,有必要看一看。具體到 出租公寓專案 怎麼來做呢?可以參考58同城的做法。我們可以...

推薦系統實戰 出租公寓專案5 基於聚類分析推薦

在這裡 聚類通俗的講,即所謂 物以類聚,人以群分 聚類 clustering 是乙個資料探勘的經典問題,它的目的是將資料分為多個簇 cluster 在同乙個簇中的物件之間有較高的相似度,而不同簇的物件差別較大。簡單,非常簡單!聚類是非監督版的 分類 把相近的資料劃分成多個簇,乙個簇內的所有資料相關性...

推薦系統實戰

其中,r u 表示對使用者推薦的n個物品,t u 表示使用者u在測試集上喜歡的物品集合。jaccard公式 其中,n u 表示使用者u有過正反饋的物品集合。余弦相似度公式 其中,s u,k 表示和使用者u興趣最接近的k個使用者集合 n i 表示對物品i有過正反饋的使用者集合 w u,v 表示使用者u...