推薦系統(tǒng)評測方法和評測指標(biāo)

一般推薦系統(tǒng)的參與方有3個:用戶悔耘、物品提供商、推薦系統(tǒng)提供網(wǎng)站所意,評測一個推薦系統(tǒng)時淮逊,需要考慮3方的利益,一個好的推薦系統(tǒng)是能夠令三方共贏的系統(tǒng)扶踊。

1. 評測實驗方法

獲得評測指標(biāo)的實驗方法,通常分3種:

離線實驗(offline experiment)

用戶調(diào)查(user study)

在線實驗(online experiment)

3種實驗方法的優(yōu)缺點郎任。

1)離線實驗

離線實驗的方法的步驟如下:

a)通過日志系統(tǒng)獲得用戶行為數(shù)據(jù)秧耗,并按照一定格式生成一個標(biāo)準(zhǔn)的數(shù)據(jù)集;

b)將數(shù)據(jù)集按照一定的規(guī)則分成訓(xùn)練集和測試集舶治;

c)在訓(xùn)練集上訓(xùn)練用戶興趣模型分井,在測試集上進行預(yù)測;

d)通過事先定義的離線指標(biāo)霉猛,評測算法在測試集上的預(yù)測結(jié)果尺锚。

從以上步驟看出,離線實驗的都是在數(shù)據(jù)集上完成的惜浅。意味著瘫辩,它不需要一個實際的系統(tǒng)作為支撐,只需要有一個從日志中提取的數(shù)據(jù)集即可坛悉。

離線實驗的優(yōu)點是:

不需要有對實際系統(tǒng)的控制權(quán)伐厌;

不需要用戶參與實踐;

速度快裸影,可以測試大量算法挣轨;

缺點是:

數(shù)據(jù)集的稀疏性限制了適用范圍,例如一個數(shù)據(jù)集中沒有包含某用戶的歷史行為轩猩,則無法評價對該用戶的推薦結(jié)果卷扮;

評價結(jié)果的客觀性荡澎,無法得到用戶主觀性的評價;

難以找到離線評價指標(biāo)和在線真實反饋(如 點擊率晤锹、轉(zhuǎn)化率衔瓮、點擊深度、購買客單價抖甘、購買商 品類別等)之間的關(guān)聯(lián)關(guān)系热鞍;

2)用戶調(diào)查

用戶調(diào)查需要一些真實的用戶,讓他們在需要測試的推薦系統(tǒng)上完成一些任務(wù)衔彻。在他們完成任務(wù)時薇宠,需要觀察和記錄用戶的行為,并讓他們回答一些問題艰额。

最后澄港,我們通過分析他們的行為和答案,了解測試系統(tǒng)的性能柄沮。

用戶調(diào)查的優(yōu)點是:

可以獲得用戶主觀感受的指標(biāo)回梧,出錯后容易彌補;

缺點是:

招募測試用戶代價較大祖搓;

無法組織大規(guī)模的測試用戶狱意,統(tǒng)計意義不足;

3)在線實驗

在完成離線實驗和用戶調(diào)查之后拯欧,可以將系統(tǒng)上線做AB測試详囤,將它和舊算法進行比較。

在線實驗最常用的評測算法是【A/B測試】镐作,它通過一定的規(guī)則將用戶隨機分成幾組藏姐,對不同組的用戶采用不同的算法,然后通過統(tǒng)計不同組的評測指標(biāo)该贾,比較不同算法的好壞羔杨。

它的核心思想是:

a) 多個方案并行測試;

b) 每個方案只有一個變量不同;

c) 以某種規(guī)則優(yōu)勝劣汰杨蛋。

其中第2點暗示了A/B 測試的應(yīng)用范圍:A/B測試必須是單變量。

對于推薦系統(tǒng)的評價中六荒,唯一變量就是--推薦算法。

有個很棒的網(wǎng)站掏击,http://www.abtests.com卵皂,里面有很多通過實際AB測試提高網(wǎng)站用戶滿意度的例子砚亭。

AB測試的優(yōu)點是:

可以公平獲得不同算法實際在線時的性能指標(biāo)殴玛,包括商業(yè)上關(guān)注的指標(biāo);

缺點是:

周期較長添祸,必須進行長期的實驗才能得到可靠的結(jié)果滚粟;

大型網(wǎng)站做AB測試刃泌,可能會因為不同團隊同時進行各種測試對結(jié)果造成干擾,所以切分流量是AB測試中的關(guān)鍵亚侠。

不同的層以及控制這些層的團隊俗扇,需要從一個統(tǒng)一的地方獲得自己AB測試的流量,而不同層之間的流量應(yīng)該是正交的滞谢。

AB測試系統(tǒng)

4)總結(jié)

一般來說除抛,一個新的推薦算法最終上線镶殷,需要完成上述的3個實驗。

首先绘趋,通過離線實驗證明它在很多離線指標(biāo)上優(yōu)于現(xiàn)有的算法陷遮;

其次垦江,通過用戶調(diào)查確定用戶滿意度不低于現(xiàn)有的算法;

最后绽族,通過在線AB測試確定它在我們關(guān)心的指標(biāo)上優(yōu)于現(xiàn)有的算法;

2. 評測指標(biāo)

評測指標(biāo)用于評測推薦系統(tǒng)的性能吧慢,有些可以定量計算赏表,有些只能定性描述匈仗。

1)用戶滿意度

用戶滿意度是評測推薦系統(tǒng)的重要指標(biāo)悠轩,無法離線計算攻泼,只能通過用戶調(diào)查或者在線實驗獲得。

調(diào)查問卷何鸡,需要考慮到用戶各方面的感受只搁,用戶才能針對問題給出準(zhǔn)確的回答氢惋。

在線系統(tǒng)中,用戶滿意度通過統(tǒng)計用戶行為得到骚亿。比如用戶如果購買了推薦的商品熊赖,就表示他們在一定程度上滿意,可以用購買率度量用戶滿意度俱笛。

一般情況传趾,我們可以用用戶點擊率浆兰、停留時間、轉(zhuǎn)化率等指標(biāo)度量用戶的滿意度榕订。

2)預(yù)測準(zhǔn)確度

預(yù)測準(zhǔn)確度蜕便,度量的是推薦系統(tǒng)預(yù)測用戶行為的能力。 是推薦系統(tǒng)最重要的離線評測指標(biāo)兼贸。

大部分的關(guān)于推薦系統(tǒng)評測指標(biāo)的研究,都是針對預(yù)測準(zhǔn)確度的鸯檬。因為該指標(biāo)可以通過離線實驗計算螺垢,方便了學(xué)術(shù)界的研究人員枉圃。

由于離線的推薦算法有不同的研究方向,準(zhǔn)確度指標(biāo)也不同坎穿,根據(jù)研究方向返劲,可分為:預(yù)測評分準(zhǔn)確度和TopN推薦。

a)預(yù)測評分準(zhǔn)確度

預(yù)測評分的準(zhǔn)確度孵延,衡量的是算法預(yù)測的評分與用戶的實際評分的貼近程度亲配。

這針對于一些需要用戶給物品評分的網(wǎng)站吼虎。

預(yù)測評分的準(zhǔn)確度指標(biāo),一般通過以下指標(biāo)計算:

平均絕對誤差(MAE)

MAE.png

MAE因其計算簡單娜饵、通俗易懂得到了廣泛的應(yīng)用官辈。但MAE指標(biāo)也有一定的局限性拳亿,因為對MAE指標(biāo)貢獻比較大的往往是那種很難預(yù)測準(zhǔn)確的低分商品愿伴。

所以即便推薦系統(tǒng)A的MAE值低于系統(tǒng)B隔节,很可能只是由于系統(tǒng)A更擅長預(yù)測這部分低分商品的評分寂呛,即系統(tǒng)A比系統(tǒng)B能更好的區(qū)分用戶非常討厭和一般討厭的商品瘾晃,顯然這樣區(qū)分的意義不大蹦误。

均方根誤差(RMSE)

RMSE.png

Netflix認為RMSE加大了對預(yù)測不準(zhǔn)的用戶物品評分的懲罰(平方項的懲罰),因而對系統(tǒng)的評測更加苛刻舱沧。

研究表明偶洋,如果評分系統(tǒng)是基于整數(shù)建立的(即用戶給的評分都是整數(shù))玄窝,那么對預(yù)測結(jié)果取整數(shù)會降低MAE的誤差。

b)TopN推薦

網(wǎng)站提供推薦服務(wù)時缸剪,一般是給用戶一個個性化的推薦列表东亦,這種推薦叫做TopN推薦。

TopN推薦的預(yù)測準(zhǔn)確率奋渔,一般通過2個指標(biāo)度量:

準(zhǔn)確率(precision)

召回率(recall)

R(u)是根據(jù)用戶在訓(xùn)練集上的行為給用戶做出的推薦列表嫉鲸,T(u)是用戶在測試集上的行為列表玄渗。

TopN推薦更符合實際的應(yīng)用需求狸眼,比如預(yù)測用戶是否會看一部電影,比預(yù)測用戶看了電影之后會給它什么評分更重要岁钓。

3)覆蓋率

覆蓋率(coverage)是描述一個推薦系統(tǒng)對物品長尾的發(fā)掘能力。

最簡單的定義是品嚣,推薦系統(tǒng)推薦出來的物品占總物品的比例钧大。

假設(shè)系統(tǒng)的用戶集合為U拓型,推薦系統(tǒng)給每個用戶推薦一個長度為N的物品列表R(u),覆蓋率公式為:

覆蓋率是內(nèi)容提供者關(guān)心的指標(biāo)册养,覆蓋率為100%的推薦系統(tǒng)可以將每個物品都推薦給至少一個用戶球拦。

除了推薦物品的占比帐我,還可以通過研究物品在推薦列表中出現(xiàn)的次數(shù)分布,更好的描述推薦系統(tǒng)的挖掘長尾的能力谣光。

如果分布比較平芬为,說明推薦系統(tǒng)的覆蓋率很高媚朦;如果分布陡峭,說明分布系統(tǒng)的覆蓋率較低孙乖。

信息論和經(jīng)濟學(xué)中有兩個著名指標(biāo)份氧,可以定義覆蓋率:

信息熵

p(i)是物品i的流行度除以所有物品流行度之和蜗帜。

基尼系數(shù)(Gini Index)

p(ij)是按照物品流行度p()從小到大排序的物品列表中第j個物品钮糖。

評測馬太效應(yīng)

馬太效應(yīng),是指強者越強阎抒,弱者越弱的效應(yīng)消痛。推薦系統(tǒng)的初衷是希望消除馬太效應(yīng)秩伞,使得各物品都能被展示給對它們感興趣的人群。

但是展氓,很多研究表明脸爱,現(xiàn)在的主流推薦算法(協(xié)同過濾)是具有馬太效應(yīng)的。評測推薦系統(tǒng)是否具有馬太效應(yīng)可以使用基尼系數(shù)空入。

如歪赢,G1是從初始用戶行為中計算出的物品流行度的基尼系數(shù)单料,G2是從推薦列表中計算出的物品流行度的基尼系數(shù),那么如果G1>G2递鹉,就說明推薦算法具有馬太效應(yīng)藏斩。

4)多樣性

為了滿足用戶廣泛的興趣狰域,推薦列表需要能夠覆蓋用戶不同興趣的領(lǐng)域,即需要具有多樣性屈溉。

多樣性描述了推薦列表中物品兩兩之間的不相似性抬探。假設(shè)s(i,j)在[0,1]區(qū)間定義了物品i和j之間的相似度,那么用戶u的推薦列表R(u)的多樣性定義如下:

推薦系統(tǒng)整體多樣性可以定義為所有用戶推薦列表多樣性的平均值:

5)新穎性

新穎性也是影響用戶體驗的重要指標(biāo)之一椰于。它指的是向用戶推薦非熱門非流行物品的能力瘾婿。

評測新穎度最簡單的方法烤咧,是利用推薦結(jié)果的平均流行度,因為越不熱門的物品笛谦,越可能讓用戶覺得新穎立膛。

此計算比較粗糙宝泵,需要配合用戶調(diào)查準(zhǔn)確統(tǒng)計新穎度。

6)驚喜度

推薦結(jié)果和用戶的歷史興趣不相似框往,但卻讓用戶滿意闯捎,這樣就是驚喜度很高瓤鼻。

目前驚喜度還沒有公認的指標(biāo)定義方式,最近幾年研究的人很多清焕,深入研究可以參考一些論文祭犯。

7)信任度

如果用戶信任推薦系統(tǒng),就會增加用戶和推薦系統(tǒng)的交互粥惧。

提高信任度的方式有兩種:

增加系統(tǒng)透明度

提供推薦解釋最盅,讓用戶了解推薦系統(tǒng)的運行機制。

利用社交網(wǎng)絡(luò)疤祭,通過好友信息給用戶做推薦

通過好友進行推薦解釋

度量信任度的方式饵婆,只能通過問卷調(diào)查侨核。

8)實時性

推薦系統(tǒng)的實時性灌灾,包括兩方面:

實時更新推薦列表滿足用戶新的行為變化;

將新加入系統(tǒng)的物品推薦給用戶些己;

9)健壯性

任何能帶來利益的算法系統(tǒng)都會被攻擊嘿般,最典型的案例就是搜索引擎的作弊與反作弊斗爭炉奴。

健壯性(robust,魯棒性)衡量了推薦系統(tǒng)抗擊作弊的能力赛糟。

2011年的推薦系統(tǒng)大會專門有一個推薦系統(tǒng)健壯性的教程砸逊,作者總結(jié)了很多作弊方法师逸,最著名的是行為注入攻擊(profile injection attack)。

就是注冊很多賬號对湃,用這些賬號同時購買A和自己的商品遗淳。此方法針對亞馬遜的一種推薦方法屈暗,“購買商品A的用戶也經(jīng)常購買的其他商品”脂男。

評測算法的健壯性宰翅,主要利用模擬攻擊:

a)給定一個數(shù)據(jù)集和算法爽室,用算法給數(shù)據(jù)集中的用戶生成推薦列表;

b)用常用的攻擊方法向數(shù)據(jù)集中注入噪聲數(shù)據(jù)嘿架;

c)利用算法在有噪聲的數(shù)據(jù)集上再次生成推薦列表耸彪;

d)通過比較攻擊前后推薦列表的相似度評測算法的健壯性忘苛。

提高系統(tǒng)健壯性的方法:

選擇健壯性高的算法扎唾;

選擇代價較高的用戶行為,如購買行為比瀏覽行為代價高扮宠;

在使用數(shù)據(jù)前狐榔,進行攻擊檢測,從而對數(shù)據(jù)進行清理收捣。

10)商業(yè)目標(biāo)

設(shè)計推薦系統(tǒng)時罢艾,需要考慮最終的商業(yè)目標(biāo)尽纽。不同網(wǎng)站具有不同的商業(yè)目標(biāo)弄贿,它與網(wǎng)站的盈利模式息息相關(guān)。

總結(jié):

作者認為期奔,對于可以離線優(yōu)化的指標(biāo)呐萌,在給定覆蓋率、多樣性罗晕、新穎性等限制條件下赠堵,應(yīng)盡量優(yōu)化預(yù)測準(zhǔn)確度顾腊。

3. 評測維度

如果推薦系統(tǒng)的評測報告中挖胃,包含了不同維度下的系統(tǒng)評測指標(biāo)酱鸭,就能幫我們?nèi)媪私庀到y(tǒng)性能。一般評測維度分3種:

用戶維度烁登,主要包括用戶的人口統(tǒng)計學(xué)信息蔚舀、活躍度以及是不是新用戶等赌躺;

物品維度,包括物品的屬性信息是钥、流行度悄泥、平均分以及是不是新加入的物品等肤粱;

時間維度狼犯,包括季節(jié)领铐,是工作日還是周末绪撵,白天還是晚上等祝蝠;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绎狭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子喇聊,更是在濱河造成了極大的恐慌誓篱,老刑警劉巖凯楔,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摆屯,死亡現(xiàn)場離奇詭異虐骑,居然都是意外死亡,警方通過查閱死者的電腦和手機沟娱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門济似,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盏缤,“玉大人唉铜,你說我怎么就攤上這事【和铮” “怎么了拆宛?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵浑厚,是天一觀的道長。 經(jīng)常有香客問我物蝙,道長敢艰,這世上最難降的妖魔是什么诬乞? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮钠导,結(jié)果婚禮上丽惭,老公的妹妹穿的比我還像新娘。我一直安慰自己辈双,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布柜砾。 她就那樣靜靜地躺著湃望,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痰驱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天担映,我揣著相機與錄音废士,去河邊找鬼。 笑死蝇完,一個胖子當(dāng)著我的面吹牛官硝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播短蜕,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼氢架,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了朋魔?” 一聲冷哼從身側(cè)響起岖研,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎警检,沒想到半個月后孙援,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體害淤,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年拓售,在試婚紗的時候發(fā)現(xiàn)自己被綠了窥摄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡邻辉,死狀恐怖溪王,靈堂內(nèi)的尸體忽然破棺而出幌甘,到底是詐尸還是另有隱情挂滓,我是刑警寧澤疾牲,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布稍算,位于F島的核電站裹虫,受9級特大地震影響杖爽,放射性物質(zhì)發(fā)生泄漏葫松。R本人自食惡果不足惜粹排,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一使碾、第九天 我趴在偏房一處隱蔽的房頂上張望蜜徽。 院中可真熱鬧,春花似錦票摇、人聲如沸拘鞋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盆色。三九已至,卻和暖如春祟剔,著一層夾襖步出監(jiān)牢的瞬間隔躲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工物延, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宣旱,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓叛薯,卻偏偏與公主長得像浑吟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耗溜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容