推薦系統評價:NDCG方法概述

2021-02-20 人工智慧頭條

【編者按】在信息過剩的網際網路時代,推薦系統的地位隨著大數據的普及愈發重要。評估一個推薦模型的質量面臨很多棘手的問題,我們常用的指標是直接的準確率、召回率,但準確率不一定具有很好的相關性。來自Zygmunt Z的這篇綜述文章,把推薦當作是一個排名任務,提供了一種更注重相關性的視角來進行推薦系統的評估,頗具可讀性。

如果你挖掘的信息較少,推薦的方法有很多。問題是,選擇哪一個模型更合適。在這裡,主要的決策因子是推薦質量。你可以通過驗證來估計它,而推薦系統的驗證可能會很棘手。你需要考慮一些東西,包括任務的制定,可用的反饋形式和一個優化指標。下面,我們來解決這些問題並呈現一個實例。

排名推薦

我們把推薦當作是一個排名任務,這表示我們主要感興趣的是一個相對較少的項,我們認為這些項最相關並把它呈現給用戶。這就是眾所周知的Top-k推薦。

把它和評級預測做比較,如Netflix的競賽。2007年,Yehuda Koren(此次比賽的一個勝出者)指出,人們對使用RMSE作為一個指標並贊成使用RMSE指標存有疑惑,我們應該使用一個特定的排名指標。

然而,在我們有限的實驗中,我們發現RMSE指標並不適用於排名。對我們而言,當調整用戶留存率時,用於RMSE的矩陣分解優化表現的相當不錯,但當從所有的可用項選擇推薦時,卻徹底地失敗了。

我們認為原因是訓練會集中於評分較高的項,同時對於這些項產生一個很好的擬合結果。而對於評分較低的項,在損失影響方面沒有太大的意義。結果,對他們的預測會不平衡,使得與實際得分相比,一些得分較高,一些得分較低。最後,靠前的條目將顯示在熱門推薦一欄中,因而破壞了推薦結果。

換句話說,RMSE指標不能辨別真實的內情,而且我們需要特定的排名指標。

排名指標

兩個最受歡迎的排名指標是MAP和NDCG。我們在前段時間已經使用了平均精度均值(MAP)。NDCG表示歸一化折損累積增益。兩者之間的主要區別是,MAP認為是二元相關性(一個項是感興趣的或者不感興趣的),而NDCG允許以實數形式進行相關性打分。這種關係類似分類和回歸的關係。

實際當中,很難直接地優化MAP或NDCG指標,因為他們是不連續的,所以不可微。幸運的是,排名學習中的排名指標和損失函數表明,用於排名學習的一對損失函數近似於這些指標。

NDCG

NDCG這個名字可能有點嚇人,但其背後的思想卻很簡單。一個推薦系統返回一些項並形成一個列表,我們想要計算這個列表有多好。每一項都有一個相關的評分值,通常這些評分值是一個非負數。這就是gain(增益)。此外,對於這些沒有用戶反饋的項,我們通常設置其增益為0。

現在,我們把這些分數相加,也就是Cumulative Gain(累積增益)。我們更願意看那些位於列表前面的最相關的項,因此,在把這些分數相加之前,我們將每項除以一個遞增的數(通常是該項位置的對數值),也就是折損值,並得到DCG。

在用戶與用戶之間,DCGs沒有直接的可比性,所以我們要對它們進行歸一化處理。最糟糕的情況是,當使用非負相關評分時DCG為0。為了得到最好的,我們把測試集中所有的條目置放在理想的次序下,採取的是前K項並計算它們的DCG。然後將原DCG除以理想狀態下的DCG並得到NDCG@K,它是一個0到1之間的數。

你可能已經注意到,我們使用K表示推薦列表的長度。這個數由專業人員指定。你可以把它想像成是一個用戶可能會注意到的多少個項的一個估計值,如10或50這些比較常見的值。

這裡有一些計算NDCG的Python代碼,非常簡單。

要注意到,我們實驗的測試集由訓練集以外的所有項組成,包括那些沒有用戶排名的項(與上面RMSE討論中提到的一樣)。有時人們會對用戶留存率設置測試限制,所以推薦系統的任務是減少調整那些相對較少的項。在實際情景當中並不如此。

現在,它的要點是,還有另一種DCG表述。你還可以使用負相關分數。在這種情況下,你可以計算出更糟糕情況下DCG的歸一化(它將小於零),或者仍然使用零作為下限值,具體要視情況而定。

反饋形式

有兩種類型的反饋形式:顯性反饋和隱性反饋。顯性反饋表示用戶率項。另一方面,隱性反饋來自於用戶行為的觀察。大多數通常是二元的:用戶點擊了一個連結,觀看了一個視頻,瀏覽了一個產品,購買了一個產品。隱式反饋不常以計數的形式出現,例如用戶聽一首歌的次數是多少。MAP只是一種二元反饋指標,而NDCG可以在任何情況下使用,你可以對推薦項指定相關分數(二元、整數或是實數)。

弱泛化和強泛化

我們可以把用戶(和項)分成兩組:訓練集的一組和非訓練集的一組。第一組的驗證分數對應於所謂的弱泛化,而第二組對應於強泛化。在弱泛化的情況下,每個用戶都在訓練集。我們採取一些評價用於訓練,剩下的評價用於測試。在評估強泛化時,用戶既可用在訓練中,也可用在測試中。

事實上,我們主要感興趣的是強泛化,因為在現實生活中,我們給用戶推薦的條目並不存在於訓練集。我們可以通過重新訓練模型來解決這個問題,但這在實時推薦系統當中並不可行(除非我們的模型碰巧使用的是在線學習,這表明它可以使用實時獲得的新數據進行更新)。我們假設將使用一個沒有數據更新的預訓練模型,因此我們需要一種方式來解釋先前看不見的用戶。

處理新用戶

有些算法在這種場景中會更合適,而有些算法則會變得更糟糕。例如,人們可能會說矩陣分解模型不能為新用戶提供推薦。這是不正確的。例如,使用交替最小二乘(ALS)。該方法通過在調整項因子時保持用戶因子不變,並在調整用戶因子時保持項因子不變,從而擬合模型,依次循環直至收斂。在測試時,當我們從一個新用戶輸入時,我們可以保持項因子不變來擬合用戶因子,然後進行推薦。

一般來說,當預測率是用戶和項因子之間的點積時,我們可以採取項因子和解決系統的線性方程組來估計用戶因子。這相當於擬合一個線性回歸模型。我們希望的比率(實例)數是大於因子的數,但即使不能如願,我們也要感謝正則化。

缺乏實例是一個眾所周知的冷啟動問題:如果一個新的訪問者沒有評分,那麼協同過濾對於推薦就沒用。只有在我們有一些反饋之後,我們才能使用它開始工作。

越多越好

一般情況下,一個推薦系統得到的信息越多就會表現得越好,理想的情況下,當系統從給定用戶中得到更多評價的時候,推薦的質量就會提高。在評價一個系統時,我們要考慮這個維度。為了完成這個,對於一個給定的用戶,我們選擇一個評價來訓練,剩下的用來測試,然後選擇兩個評價進行訓練,剩下的用來測試並依次下去,重複計算推薦和NDCG,直到達到某個特定數值或者測試集中沒有剩餘的評價為止。然後,我們繪製出如下結果圖。


X軸是訓練的評價數,Y軸是用戶NDCG@50均值

當比較兩個推薦系統的結果時,繪圖將揭開它們的不同。要麼一個比另一個更好,要麼在曲線的某些點上相交。

該交叉點提供了使用兩個系統組合的一種可能性。最初我們採用的是第一個系統,當獲得的反饋大於閾值時,我們切換到另一個系統。在這裡,當給出少許評價數時藍色會表現的更好,但當評價數大約50個時就會收斂。當提供更多的評價時,綠色則佔據上風。

這個分數是在大約1000個用戶組成的測試集中計算得到的,這個樣本大小提供了可識別的模型,但是仍然有一些噪音,正如你從鋸齒線上看到的那樣。

事實上,我們需要的應該是一個數字而不是一個繪圖,我們可以在訓練中平均化等級數目之間的得分,我們稱這個數為L。由此產生的指標是MANDCG:均值(用戶之間)平均(1到L之間)NDCG。

本文的代碼在GitHub上可以獲得。要運行它,在你的推薦系統上需要提供的數據和插件。

最後,我們誠邀您來探索如何在MovieMood上使用更多的評價數來提升推薦系統的質量。

原文連結:Evaluating recommender systems(譯者/劉帝偉 審校/劉翔宇、朱正貴、李子健 責編/周建丁)

1. 加入CSDN人工智慧用戶微信群,交流人工智慧相關技術,請加微信號「jianding_zhou」或掃下方二維碼,由工作人員加入。請註明個人信息並在入群後按此格式改群名片:機構名-技術方向-姓名/暱稱

2. 加入CSDN 人工智慧技術交流QQ群,請搜索群號加入:465538150。

3. CSDN高端專家微信群,採取受邀加入方式,不懼高門檻的請加微信號「jianding_zhou」或掃描下方二維碼,PS:請務必帶上你的BIO

本文為CSDN編譯整理,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)

相關焦點

  • 推薦系統產品與算法概述
    本文會按照這5大範式來講解常用的推薦算法,但不會深入講解算法的實現原理,只是概述算法的實現思路,後面的系列文章我會對常用的重點算法進行細緻深入剖析。 本文會從推薦算法與產品介紹、推薦召回算法概述、排序算法概述、推薦算法落地需要關注的幾個問題等4部分來講解。
  • 綜合評價法概述
    高效備考:加入2021年諮詢工程師高效實驗班 選報1+1考期可續學哦!   綜合評價法是運用多個指標對評價對象進行評價,以得出綜合性結論的方法。按所依據的理論不同,綜合評價法分為三類:第一類是基於經驗的綜合評價方法,通過向各方面專家諮詢,將得到的評價進行簡單處理,從而得出綜合評價結果;第二類是基於數值和統計的方法,以數學理論和解析方應對評價系統進行定量描述和計算;第三類是基於決策和智能的綜合評價方法,重現決策支持或是模仿人腦的功能,使評價過程具有像人類思維那樣的信息處理能力。
  • 移動新聞客戶端個性化推薦系統的用戶評價指標研究
    因此,本研究以用戶心理體驗為導向,在文獻回顧和深度訪談的基礎上,編制出適用於新聞客戶端推薦系統評價的初始量表,通過預調查和正式調查,並採用探索性因素分析、驗證性因素分析等統計方法對調查結果進行檢驗分析,最終獲取由「內容評價」、「系統評價」、「算法評價」、「交互評價」和「風險與控制評價」等五個一階指標構成的新聞客戶端推薦系統用戶評價量表。
  • 醫生如何書寫系統評價和meta分析?
    醫生如何書寫系統評價和meta分析?   一個清晰的問題應該既有臨床意義又有嚴格定義的研究人群、幹預方式、對照和結局指標。當問題不清晰時,系統評價就會模糊、結構差、異質性強,此時會產生一系列風險,並且得出無效的結果。我們推薦在製作系統評價之前先寫作或發表一個研究計劃書(15,16)。此研究計劃書應充分定義納入排除標準、研究對象、幹預、結局指標和統計分析策略。
  • 聲學系統概述
    聲學系統,顧名思義,就是聲學器件以及相關器件組成的系統,或者說,最終輸出或輸入聲音的系統。聲學系統中的各個組成部分並非同等重要,而是分輕重緩急的。聲學系統的最終表現,應該以其最終表現為準(這聽上去像一句廢話),不論是主觀的還是客觀的。這一點不論對於工程師設計產品,還是消費者選購併組件音箱/耳機系統,都有重要意義。
  • 系統軟體測試計劃書Word模板
    20XX年X月關於本文檔說明:類型-創建(C)、修改(U)、刪除(D)、增加(A);目錄關於本文檔1介紹1.1標識1.2系統概述6.7評價準則和方法7關鍵資源7.1硬體環境7.2軟體環境7.3網絡環境8角色和職責9測試活動和進度計劃
  • 基於CAN總線的地鐵屏蔽門系統故障排除方法概述
    基於CAN總線的地鐵屏蔽門系統故障排除方法概述 EEWORLD 發表於 2020-03-20 09:27:36 地鐵是人們出行的重要交通工具,隨著地鐵線路全面鋪設,
  • 管理信息系統概述知識題2
    第3章管理信息系統概述    1.管理信息系統及其特點(領會)    1.1管理信息系統的定義    管理信息系統:是一個由人和計算機等組成的,能進行管理信息收集、傳遞、加工、保存、維護和使用的系統。
  • 知網本科論文檢測範圍及系統概述
    日漸嚴苛的知網論文檢測,促使讓我們在寫本科論文的當時要考慮的點就很多,源於對檢測系統的不認識,讓我們許多人都不認識知網論文檢測究竟檢測什麼內容,在檢測本科論文的當時檢測範圍還有什麼?會不會是有一些是不用參與檢測的,或是通篇論文全都需要檢測。
  • LBS推薦系統的設計方法
    由於推薦系統是興趣點系統的核心,所以接下來,我們將介紹推薦系統。推薦系統是一個很龐大的課題,將分成兩期予以介紹:本期講述推薦系統的設計方法,包含推薦系統的數學基礎和設計原理。關於推薦系統有很多經典的應用,比如:淘寶/天貓/亞馬遜上的商品都是通過推薦系統來排列的;各種音樂應用(比如網易雲音樂或者蝦米音樂)都是按照推薦系統的原理來向用戶推薦音樂的;今日頭條等新聞推薦應用已經充分說明了新聞推薦的力量;Netflix的電影推薦技術也為優酷/搜狐等視頻應用指明了道路。
  • Android系統的事件處理概述
    基於回調的事件處理:主要做法就是重寫Android組件特定的回調方法, 或者重寫Activity的回調方法。Android為絕大部分界面組件都提供了事件響應的回調方法,開發者只要重寫它們即可。  一般來說,基於回調的事件處理可用於處理一些具有通用性的事件,基於回調的事件處理代碼會顯得比較簡潔。但對於某些特定的事件,無法使用基於回調的事件處理,只能採用基於監聽的事件處理。
  • 深度丨從零搭建推薦體系:概述及標籤體系搭建(上)
    全文結構為:上篇:第零章概述,第一章標籤體系搭建;中篇:第三章用戶體系,第四章項目體系,下篇:第五章推薦體系,第六章評估體系,第七章全文總結,第八章參考資料。內容相對全而深入,希望有推薦體系搭建意願的平臺或者產品經理,能夠給予一定的幫助就好。另,求工作。0.
  • 心理諮詢的各大流派和治療方法概述
    本文轉載自【微信公眾號:中年婦女不油膩,ID:womanbuyouni】經微信公眾號授權轉載,如需轉載與原文作者聯繫接上一篇《業餘愛好者如何學心理學》,附上我曾經的學習筆記《心理諮詢的各大流派和治療方法概述》 ,對想深入學習的心理學愛好者提供更多的參考。
  • 面向科研的推薦系統Benchmark誕生!
    推薦系統年會上的關於推薦系統Benchmark的文章。你是否還記得關於MLP or IP:推薦模型到底用哪個更好?問題的激烈討論,又或你是否還記得關於評論文本信息對推薦真的有用嗎?問題的深入分析,再者你是否還記得知乎上關於深度學習對於推薦系統性能帶來的都是偽提升問題的廣泛質疑[1],這些問題之所以會存在的原因是:沒有統一的標準,包括數據集的劃分方式、統一的評價指標,相同的實驗設置等。因此今天的這篇文章算是在這方面的一個進步。
  • 【推薦系統】推薦系統結合知識圖譜簡單總結
    首先對簡單介紹推薦系統,之後整理了幾篇結合知識表示的論文。一句話來介紹的話,就是通過分析歷史數據,來給用戶 推薦 可能會喜歡/購買的商品, 這裡面的核心就是用戶 (User) 和 商品 (Item)。因此item的建模比較關鍵,在推薦系統中,目前不少工作開始融合一些結構信息來提高性能與解釋性,至於如何建模結構,個人理解已有工作大概可以分為兩種類型:結合異質信息網絡 (Heterogenerous Network)本篇筆記主要集中在推薦系統結合知識圖譜的幾篇工作做個非常簡單的總結,後續如時間允許,會將這一系列補全。
  • 20考研必看:考研英語與政治方法乾貨,兩個原創備考live推薦給你!
    郎神最近收到的問題私信很多,多數集中於英語、政治等科目的教輔最優推薦、教輔使用方法、全程複習規劃以及各題型的解答技巧。相同問題的數量很多,一一回復有些不太現實。為了能及時處理掉大傢伙手頭最棘手的困惑,保證能跟得上郎神後期攻略的節奏,建議在開始系統的暑假備考前優先將我錄製好的公共課live加班看完,為接下來半年的學習打一個最基本的方法基礎。
  • 推薦系統解構
    由於移動網際網路時代用戶每時每刻都會產生海量信息,伴隨著大數據技術的快速發展,使得企業能夠迎合用戶的痛點,分析用戶喜好,進行商品推薦。推薦系統誕生的益處:從用戶角度,推薦系統可以緩解信息過載帶來的時間成本;從企業角度,可以幫助企業進行精準營銷,解決長尾營銷,最大化收益。因此推薦系統的好壞對於網際網路企業來說至關重要。
  • 馬淑然主任:《月經病概述、月經先期》
    觀看方法:點擊文章最下方閱讀原文,即可進入系統,選擇相應課程進行⊙編輯:杏林君月經病,病名。杏林學苑特地為大家推薦馬淑然主任《月經病概述、月經先期》課程,點擊文章最下角閱讀原文即可觀看學習!授課題目:《月經病概述、月經先期》簡介:本節課程是針對基層醫生的中醫臨床基本課程,這節主要講授月經病概述、月經先期
  • 每日一練教育心理學概述
    【每日一練】教育心理學概述17江蘇學堂 昨天一想到你在關注我就忍不住有點緊張今天一定要努力複習呀!絕對不要浪費時間01(單選題) 在對學生認知學習的評價方法中,使用最多、最經常,也最便利的是( )。A. 評定法B. 行動研究法C. 實驗法D.
  • 推薦系統中的相似度度量
    您是否曾經想過Netflix是如何向您推薦您感興趣的電影?或者亞馬遜如何向您推薦難以抵制購買的產品?顯然,這些網站已經弄清了您喜歡看或買的東西。他們在後臺運行一段代碼,該代碼可以在線收集有關用戶行為的數據,並預測該用戶對特定內容或產品的喜好。這種系統稱為「推薦系統。