不考慮時(shí)間的評(píng)分和排名分析

威爾遜區(qū)間算法

在不考慮時(shí)間的情況下,以「贊成」和「反對(duì)」兩種評(píng)價(jià)方式為例,通常我們會(huì)有兩種最基礎(chǔ)的方法計(jì)算得分。

第一種為絕對(duì)分?jǐn)?shù)

評(píng)分 = 贊成票 - 反對(duì)票

這種計(jì)算方式有時(shí)會(huì)存在一定問題,例如:A 獲得 60 張贊成票,40 張反對(duì)票;B 獲得 550 張贊成票,450 張反對(duì)票。根據(jù)上式計(jì)算可得 A 的評(píng)分為 20,B 的評(píng)分為 100,所以 B 要優(yōu)于 A。但實(shí)際上,B 的好評(píng)率僅有 \frac{550}{550+450} = 55\% ,而 A 的好評(píng)率為 \frac{60}{60+40} = 60\% ,因此實(shí)際情況應(yīng)該是 A 優(yōu)于 B。

這樣,我們就得到了第二種,相對(duì)分?jǐn)?shù)

評(píng)分 = \frac{贊成票}{贊成票+反對(duì)票}

這種方式在總票數(shù)比較大的時(shí)候沒有問題,但總票數(shù)比較小時(shí)就容易產(chǎn)生錯(cuò)誤。例如:A 獲得 2 張贊成票,0 張反對(duì)票;B 獲得 100 張贊成票,1 張反對(duì)票。根據(jù)上式計(jì)算可得 A 的評(píng)分為 100% ,B 的評(píng)分為 99% 。但實(shí)際上 B 應(yīng)該是優(yōu)于 A 的,由于 A 的總票數(shù)太少,數(shù)據(jù)不太具有統(tǒng)計(jì)意義。

對(duì)于這個(gè)問題,我們可以抽象出來:

  1. 每個(gè)用戶的投票都是獨(dú)立事件。
  2. 用戶只有兩個(gè)選擇,要么投贊成票,要么投反對(duì)票。
  3. 如果投票總?cè)藬?shù)為 n ,其中贊成票為 k ,則贊成票的比例 p = \frac{k}{n}

不難看出,上述過程是一個(gè)二項(xiàng)實(shí)驗(yàn)。p 越大表示評(píng)分越高,但是 p 的可信性取決于投票的人數(shù),如果人數(shù)太少,p 就不可信了。因此我們可以通過計(jì)算 p 的置信區(qū)間對(duì)評(píng)分算法進(jìn)行調(diào)整如下:

  1. 計(jì)算每個(gè)項(xiàng)目的好評(píng)率。
  2. 計(jì)算每個(gè)好評(píng)率的置信區(qū)間。
  3. 根據(jù)置信區(qū)間的下限值進(jìn)行排名。

置信區(qū)間的本質(zhì)就是對(duì)可信度進(jìn)行修正,彌補(bǔ)樣本量過小的影響。如果樣本足夠多,就說明比較可信,則不需要很大的修正,所以置信區(qū)間會(huì)比較窄,下限值會(huì)比較大;如果樣本比較少,就說明不一定可信,則需要進(jìn)行較大的修正,所以置信區(qū)間會(huì)比較寬,下限值會(huì)比較小。

二項(xiàng)分布的置信區(qū)間有多種計(jì)算公式,最常見的「正態(tài)區(qū)間」方法對(duì)于小樣本準(zhǔn)確性較差。1927 年,美國(guó)數(shù)學(xué)家 Edwin Bidwell Wilson 提出了一個(gè)修正公式,被稱為「威爾遜區(qū)間」,很好地解決了小樣本的準(zhǔn)確性問題。置信區(qū)間定義如下:

\frac{1}{1+\frac{z^2}{n}}(\hat{p} + \frac{z^2}{2n}) \pm \frac{z}{1 + frac{z2}{n}}\sqrt{\frac{\hat{p}( 1- \hat{p})}{n} + \frac{z^2}{4n^2}}

其中,\hat{p} 表示樣本好評(píng)率,n 表示樣本大小,z 表示某個(gè)置信水平的 z 統(tǒng)計(jì)量。


貝葉斯平均算法

在一些榜單中,有時(shí)候會(huì)出現(xiàn)排行榜前列總是那些票數(shù)最多的項(xiàng)目,新項(xiàng)目或者冷門的項(xiàng)目很難有出頭機(jī)會(huì),排名可能會(huì)長(zhǎng)期靠后。以世界最大的電影數(shù)據(jù)庫(kù) IMDB 為例,觀眾可以對(duì)每部電影投票,最低為 1 分,最高為 10 分,系統(tǒng)根據(jù)投票結(jié)果,計(jì)算出每部電影的平均得分。

這就出現(xiàn)了一個(gè)問題:熱門電影與冷門電影的平均得分,是否真的可比?例如一部好萊塢大片有 10000 個(gè)觀眾投票,一部小成本的文藝片可能只有 100 個(gè)觀眾投票。如果使用威爾遜區(qū)間算法,后者的得分將被大幅拉低,這樣處理是否公平,是否能反映電影的真正質(zhì)量呢?在 Top 250 榜單中,IMDB 給到的評(píng)分排名計(jì)算公式如下:

WR = \frac{v}{v + m} R + \frac{m}{v+ m}C

其中,WR 為最終的加權(quán)得分,R 為該電影用戶投票的平均得分,v 為該電影的投票人數(shù),m 為排名前 250 電影的最低投票數(shù),C 為所有電影的平均得分。

從公式中可以看出,分量 mC 可以看作為每部電影增加了評(píng)分為 Cm 張選票。然后再根據(jù)電影自己的投票數(shù)量 v 和投票平均分 R 進(jìn)行修正,得到最終的分?jǐn)?shù)。隨著電影投票數(shù)量的不但增加 \frac{v}{v+m}R 占的比重將越來越大,加權(quán)得分也會(huì)越來越接近該電影用戶投票的平均分。也可以將公式寫為更一般的形式:

\overline{x} = \frac{Cm+\sum_{i=1}^nx_i}{C + n}

其中,C 為需要擴(kuò)充的投票人數(shù)規(guī)模,可以根據(jù)投票人數(shù)總量設(shè)置一個(gè)合理的常數(shù),n 為當(dāng)前項(xiàng)目的投票人數(shù),x 為每張選票的值,m 為總體的平均分。這種算法稱為「貝葉斯平均」。在這個(gè)公式中,
m 可以視為“先驗(yàn)概率”,每新增一次投票,都會(huì)對(duì)最終得分進(jìn)行修正,使其越來越接近真實(shí)的值。

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

相關(guān)閱讀更多精彩內(nèi)容

  • Hacker News Hacker News 是一個(gè)可以發(fā)布帖子的網(wǎng)絡(luò)社區(qū),每個(gè)帖子前面有一個(gè)向上的三角形,如果...
    ___n閱讀 257評(píng)論 0 0
  • 本文為學(xué)習(xí)阮一峰《基于用戶投票的排名算法》的學(xué)習(xí)筆記。 一、Hacker News(只有贊成票) ① P 表示帖子...
    偽開發(fā)閱讀 3,308評(píng)論 1 5
  • 問題定義:最受用戶好評(píng)的作品/產(chǎn)品(同時(shí)需要有正面和負(fù)面兩種反饋) 兩種常見的錯(cuò)誤算法是:得分 = 贊成票 - 反...
    小綠葉mj閱讀 6,927評(píng)論 0 4
  • 影評(píng)類網(wǎng)站(豆瓣,IMDB),資訊網(wǎng)站(hacker news),問題回答網(wǎng)站(知乎,stackoverflow)...
    Howyi閱讀 12,297評(píng)論 0 3
  • 迄今為止,這個(gè)系列都在討論,如何給出"某個(gè)時(shí)段"的排名,比如"過去24小時(shí)最熱門的文章 但是,很多場(chǎng)合需要的是"所...
    每有睡意便欣然忘食閱讀 3,896評(píng)論 0 1

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