【原文地址已失效,故粘貼于此】
By?Eletva,?eletva.com
我們知道氧卧,每個(gè)算法都有其評(píng)估的手段谭企,借此用以指導(dǎo)當(dāng)前算法模型的好壞,搜索rank是一個(gè)相對(duì)而言比較常見(jiàn)又比較特殊的場(chǎng)景侮穿,因?yàn)樽詈笪覀冃枰u(píng)估的是一個(gè)序列的好壞,是各個(gè)個(gè)體的相互關(guān)系毁嗦,而不是大部分機(jī)器學(xué)習(xí)算法那樣評(píng)估的是每個(gè)個(gè)體的處理好壞亲茅。因此,要深入了解搜索rank的機(jī)制狗准,那么首先要知道我們是怎樣來(lái)評(píng)估一種排序算法是好的算法克锣,而另一種是不好的。本文中提到了三種評(píng)估的方式腔长,都是有各自的試用場(chǎng)景袭祟。
因?yàn)樗阉鞯囊馑夹螒B(tài)不一樣,可能采取的評(píng)估指標(biāo)也可能會(huì)隨之變化捞附,以下提到的評(píng)估手段都可能是當(dāng)用或者復(fù)用巾乳,要適當(dāng)變之。鸟召。胆绊。
1.?MAP(mean?average?precision):
MAP的衡量標(biāo)準(zhǔn)比較單一,q(query欧募,搜索詞)與d(doc压状,檢索到的doc)的關(guān)系非0即1,核心是利用q對(duì)應(yīng)的相關(guān)的d出現(xiàn)的位置來(lái)進(jìn)行排序算法準(zhǔn)確性的評(píng)估槽片,比如q1對(duì)應(yīng)相關(guān)的d排名是1何缓,2,5还栓,7(假設(shè)q1有4個(gè)相關(guān)d)碌廓,那么對(duì)于q1的ap(average?precision)的計(jì)算就是(1/1+2/2+3/5+4/7)/4=ap1,對(duì)于q2的排序結(jié)果結(jié)果中與之相關(guān)的d的排名是2剩盒,3谷婆,6(假設(shè)q2有5個(gè)相關(guān)d),那么對(duì)于q2的ap就是(1/2+2/3+3/6+0+0)/5=ap2,那么這個(gè)排序算法的MAP就是(ap1+ap2)/2
MAP?是反映系統(tǒng)在全部相關(guān)文檔上性能的單值指標(biāo)纪挎。系統(tǒng)檢索出來(lái)的相關(guān)文檔越靠前(rank?越高)期贫,MAP就應(yīng)該越高。如果系統(tǒng)沒(méi)有返回相關(guān)文檔异袄,則準(zhǔn)確率默認(rèn)為0通砍。
這里注意的是,在利用MAP的評(píng)估的時(shí)候烤蜕,需要知道:1.?每個(gè)q有多少個(gè)相關(guān)的d;?2.?排序結(jié)果中這些d的位置?3.?相關(guān)的定義
延展:或許這個(gè)MAP可以進(jìn)行部分改進(jìn)封孙,相關(guān)定義的部分可以考慮用0-1之間的系數(shù)來(lái)確定,而到實(shí)際使用中可以用ctr讽营,gmv這些指標(biāo)進(jìn)行替換
2.?對(duì)于NDCG(Normalized?Discounted?Cumulative?Gain)的理解
N指的是歸一化虎忌,D指的是衰減率,C指的累加橱鹏,G指的是熵膜蠢,其實(shí)這個(gè)公式的關(guān)鍵就是就是熵,再多了三個(gè)形容詞:歸一化的莉兰,帶有衰減函數(shù)的挑围,再帶有累加的熵即是了
仔細(xì)看一下上面的公司,停頓兩分鐘就可以體會(huì)其中的含義了
1)公式中最核心的Gain用一個(gè)指數(shù)函數(shù)來(lái)表示了贮勃,這與一般的信息熵的概念有些不一樣贪惹,可能指代表著一個(gè)信息量的關(guān)系的變化苏章,也許這說(shuō)明熵是可以以任意形式出現(xiàn)的寂嘉,anyway,這個(gè)還要再研究一下
2)那么接下去就是帶有衰減因子的G枫绅,也就是DG了泉孩,用來(lái)表示與位置的衰減關(guān)系,因?yàn)榕琶酵蟛⒘埽敲凑f(shuō)明越被點(diǎn)擊的可能越小寓搬,因此越往后的衰減因子越小,實(shí)際操作中有很多衰減因子的定義函數(shù)县耽,比如C*1/log(1+j)句喷,上式子是指C為1的特殊形式,?其中C一般還會(huì)取值log2之類(lèi)的一些經(jīng)驗(yàn)值兔毙,這個(gè)都可以根據(jù)實(shí)際情況來(lái)進(jìn)行變化(不過(guò)唾琼,我們應(yīng)該清楚的認(rèn)識(shí)到因?yàn)椋?/p>
3)接著,就是累加澎剥,將帶有衰減因子的熵進(jìn)行累加锡溯,每個(gè)排名處進(jìn)行累加
4)最后,是歸一化,用當(dāng)前的CDG/MAX祭饭,MAX即是理想狀態(tài)下的CDG芜茵,那么就進(jìn)行了歸一化處理
總結(jié):這里的相關(guān)性體現(xiàn)在Gain的計(jì)算處,r將相關(guān)性分成了多個(gè)檔位倡蝙,這里可以用實(shí)際操作中需要的指標(biāo)去代替
3.?MRR(mean?reciprocal?rank)九串,倒數(shù)排序法
這個(gè)是最簡(jiǎn)單的一個(gè),因?yàn)樗脑u(píng)估假設(shè)是基于唯一的一個(gè)相關(guān)結(jié)果寺鸥,比如q1的最相關(guān)是排在第3位蒸辆,q2的最相關(guān)是在第4位,那么MRR=(1/3+1/4)/2析既,MRR方法主要用于尋址類(lèi)檢索(Navigational?Search)或問(wèn)答類(lèi)檢索(Question?Answering)
--------------------------------------------------------------------------------------------
另外談到兩個(gè)常見(jiàn)的算法指標(biāo)的一些比較本質(zhì)的東西躬贡,一個(gè)是Precision(準(zhǔn)確率)與Recall(召回率)的關(guān)系,另一個(gè)是F-Measure眼坏,一個(gè)用來(lái)衡量P與R的指標(biāo)
P與R之間的關(guān)系有些符合其齊夫定律拂玻,召回率和準(zhǔn)確率分別反映了檢索系統(tǒng)的兩個(gè)最重要的側(cè)面,而這兩個(gè)側(cè)面又相互制約宰译。因?yàn)榇笠?guī)模數(shù)據(jù)集合中檐蚜,如果期望檢索到更多相關(guān)的文檔,必然需要“放寬”檢索標(biāo)準(zhǔn)沿侈,因此會(huì)導(dǎo)致一些不相關(guān)結(jié)果混進(jìn)來(lái)闯第,從而使準(zhǔn)確率受到影響。類(lèi)似的缀拭,期望提高準(zhǔn)確率咳短,將不相關(guān)文檔盡量去除時(shí),務(wù)必要執(zhí)行更“嚴(yán)格”的檢索策略蛛淋,這樣也會(huì)使一些相關(guān)的文檔被排除在外咙好,使召回率下降。
F-Measure:公式是基于P與R的調(diào)和平均數(shù)褐荷,1/[(1-lamda)*1/p+lamda*1/r),?一般lamda會(huì)取0.5勾效,表示p與r的平衡,這里使用調(diào)和平均數(shù)而不是通常的幾何平均或算術(shù)平均叛甫,原因是調(diào)和平均數(shù)強(qiáng)調(diào)較小數(shù)值的重要性层宫,能敏感的反映小數(shù)字的變化,因此更適合用來(lái)反映算法效果其监。因?yàn)槌3C韧龋粋€(gè)指標(biāo)比多個(gè)指標(biāo)能夠方便快捷的定位好壞。
本文版權(quán)屬作者@eletva所有棠赛,轉(zhuǎn)載需注明出處