推薦系統(tǒng)的評價(jià)指標(biāo)

1.Recall(召回率)與Precision(精確率)

網(wǎng)站在提供推薦服務(wù)時(shí),一般是給用戶一個(gè)個(gè)性化的推薦列表,這種推薦叫做TopN推薦,TopN推薦的預(yù)測準(zhǔn)確率一般通過召回率和精確率來度量。
在介紹召回率和精確率之前,首先要了解一下混淆矩陣:
TP(true positive):表示樣本的真實(shí)類別為正,最后預(yù)測得到的結(jié)果也為正;
FP(false positive):表示樣本的真實(shí)類別為負(fù),最后預(yù)測得到的結(jié)果卻為正;
FN(false negative):表示樣本的真實(shí)類別為正,最后預(yù)測得到的結(jié)果卻為負(fù);
TN(true negative):表示樣本的真實(shí)類別為負(fù),最后預(yù)測得到的結(jié)果也為負(fù)。
則召回率和精確率分別用混淆矩陣計(jì)算如下:Recall=\frac{TP}{TP+FN} Precision=\frac{TP}{TP+FP} 兩者取值在0和1之間,數(shù)值越接近1,召回率或精確率就越高。通俗來講,精確率就是說檢索出的信息有多少是用戶真正感興趣的;召回率是指用戶真正感興趣的信息有多少被我們預(yù)測到了。

2.AUC

要了解AUC,首先要知道什么是ROC曲線。ROC即receiver operating characteristic curve受試者操作特征,它源于二戰(zhàn)雷達(dá)信號分析技術(shù)。
ROC曲線繪制:分別計(jì)算模型結(jié)果的FPR與TPR,然后將TPR作為縱坐標(biāo),TPR作為橫坐標(biāo)作圖,便可得到ROC曲線,ROC曲線上的每一個(gè)點(diǎn)對應(yīng)一個(gè)閾值。
其中,TPR(真正例率):\frac{TP}{TP+FN},指的是模型預(yù)測的正確正例占所有正例的比例,等同于召回率,可以理解為正例的靈敏度,TPR越大,則預(yù)測的正例中正例占比越高;FPR(假負(fù)例率):\frac{FN}{TN+FP},指的是模型預(yù)測的錯(cuò)誤反例占所有預(yù)測反例的比例,等同于反例預(yù)測的錯(cuò)誤率,也可以理解為模型對負(fù)例的特異度,F(xiàn)PR也可以用公式(1 - TNR)來表示。FPR越大,則預(yù)測的正例中反例越多。
AUC:AUC的定義是ROC曲線下的面積,它表示的是隨機(jī)抽取一對正負(fù)樣本,把正樣本預(yù)測為1的概率大于把負(fù)樣本預(yù)測為1的概率的概率。ROC曲線一般都會(huì)處于0.5-1之間,所以AUC一般是不會(huì)低于0.5的,0.5為隨機(jī)預(yù)測的AUC。AUC越大,反映出正樣本的預(yù)測結(jié)果更加靠前,推薦的樣本更能符合用戶的喜好。
AUC的計(jì)算:
法一:按照AUC的含義,計(jì)算正例分?jǐn)?shù)大于反例分?jǐn)?shù)的概率,但該方法計(jì)算比較復(fù)雜,效率不高。
法二:AUC=\frac{\sum_{i\in positiveClass}{rank_i}-\frac{M(1+M)}{2}}{M\times N} 該方法該方法為方法一的進(jìn)階版本,首先rank項(xiàng)就是樣本按照score值從小到大升序排序,然后只對正樣本的序號相加,然后減去正樣本在正樣本之前的數(shù),結(jié)果便是正樣本大于負(fù)樣本的數(shù),然后再除于總的樣本數(shù)得到的便是AUC值。
它的直觀理解就是:rank項(xiàng)是小于該樣本分值的樣本數(shù);\frac{M(1+M)}{2}是等差數(shù)列之和,即將所有正樣本排序之和相加;分子代表的就是將所有小于某正樣本的個(gè)數(shù)去掉,得到的便是小于該正樣本的負(fù)樣本數(shù);M\times N是所有正負(fù)樣本兩兩排序的數(shù)之和;最終得到正樣本排在負(fù)樣本之前的概率值。

3.平均正確率(Average Precision, AP)

精確率和召回率都只能衡量檢索性能的一個(gè)方面,最理想的情況肯定是精確率和召回率都比較高。但通常精確率和召回率是此消彼長的,如果我們設(shè)定一個(gè)閾值,在這個(gè)閾值之上的學(xué)習(xí)器認(rèn)為是正樣本,閾值之下的學(xué)習(xí)器認(rèn)為是負(fù)樣本??梢韵胂蟮降氖?,當(dāng)閾值很高時(shí),預(yù)測為正樣本的是分類器最有把握的一批樣本,此時(shí)精確率往往很高,但是召回率一般較低。相反,當(dāng)閾值很低時(shí),分類器把很多拿不準(zhǔn)的樣本都預(yù)測為了正樣本,此時(shí)召回率很高,但是精確率卻往往偏低。
當(dāng)我們想提高召回率的時(shí)候,肯定會(huì)影響精確率,所以可以把精確率看做是召回率的函數(shù),即:P=f(R),也就是隨著召回率從0到1,精確率的變化情況。那么就可以對函數(shù)P=f(R)R上進(jìn)行積分,也就是計(jì)算PR曲線下的面積,得到AP計(jì)算公式如下:AveP=\int ^{1}_{0}{P(r)dr}=\sum^{n}_{k=1}{P(k)\Delta(k)}=\frac{\sum_{k=1}^{n}{((P(k)\times rel(k))}}{number\:of\:relevant \:documents} 其中rel(k)表示第k個(gè)文檔是否相關(guān),若相關(guān)則為1,否則為0,P(k)表示前k個(gè)文檔的精確率。 AP的計(jì)算方式可以簡單的認(rèn)為是:AveP=\frac{1}{R}\times\sum_{r-1}^{R}{\frac{r}{position(r)}} 其中R表示相關(guān)文檔的總個(gè)數(shù),position(r)表示,結(jié)果列表從前往后看,第 r 個(gè)相關(guān)文檔在列表中的位置。比如,有三個(gè)相關(guān)文檔,位置分別為1、3、6,那么AveP=1/3×(1/1+2/3+3/6)。
通常會(huì)用多個(gè)查詢語句來衡量檢索系統(tǒng)的性能,所以應(yīng)該對多個(gè)查詢語句的AveP求均值即Mean average precision(MAP),公式: MAP=\frac{\sum_{q=1}^{Q}{AveP(q)}}{Q}

4.NDCG(Normalized Discounted Cumulative Gain)

NDCG常用于作為對排序的評價(jià)指標(biāo),當(dāng)我們通過模型得出某些元素的排序的時(shí)候,便可以通過NDCG來測評這個(gè)排序的準(zhǔn)確度。
NDCG首先要從CG(cumulative gain,累計(jì)增益)說起,CG可以用于評價(jià)基于打分/評分的個(gè)性推薦系統(tǒng)。假設(shè)我們推薦k個(gè)物品,這個(gè)推薦列表的CG_k計(jì)算公式如下:CG_k=\sum_{i=1}^{k}{rel_i} 其中rel_i表示第k個(gè)物品的相關(guān)性或者評分。
CG沒有考慮推薦的次序,在此基礎(chǔ)之后我們引入對物品順序的考慮,就有了DCG(discounted CG),折扣累積增益。公式如下:DCG_k=\sum_{i=1}^{k}{\frac{2^{rel_i}-1}{log_2(i+1)}} 而DCG沒有考慮到推薦列表和每個(gè)檢索中真正有效結(jié)果個(gè)數(shù),所以最后我們引入NDCG(normalized discounted CG),顧名思義就是標(biāo)準(zhǔn)化之后的DCG:NDCG_k=\frac{DCG_k}{IDCG_k} 其中IDCG是指ideal DCG,也就是完美結(jié)果下的DCG。
通俗來解釋,NDCG其實(shí)就是:一個(gè)推薦系統(tǒng)返回一些項(xiàng)并形成一個(gè)列表,我們想要計(jì)算這個(gè)列表有多好。每一項(xiàng)都有一個(gè)相關(guān)的評分值,通常這些評分值是一個(gè)非負(fù)數(shù),這就是gain(增益)。此外,對于這些沒有用戶反饋的項(xiàng),我們通常設(shè)置其增益為0。現(xiàn)在,我們把這些分?jǐn)?shù)相加,也就是Cumulative Gain(累積增益)。我們更愿意看那些位于列表前面的最相關(guān)的項(xiàng),因此,在把這些分?jǐn)?shù)相加之前,我們將每項(xiàng)除以一個(gè)遞增的數(shù)(通常是該項(xiàng)位置的對數(shù)值),也就是折損值,并得到DCG。在用戶與用戶之間,DCG沒有直接的可比性,所以我們要對它們進(jìn)行歸一化處理。最糟糕的情況是,當(dāng)使用非負(fù)相關(guān)評分時(shí)DCG為0。為了得到最好的,我們把測試集中所有的條目置放在理想的次序下,采取的是前K項(xiàng)并計(jì)算它們的DCG。然后將原DCG除以理想狀態(tài)下的DCG并得到NDCG,它是一個(gè)0到1之間的數(shù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容