Just 做 IT

求知若饥 虚心若愚 안년하세요 (•‾̑⌣‾̑•)

《社交网络》里那个写在玻璃上的数学公式

11 months ago 0

根据wiki上对Elo Rating System的解释,
看照片的人一次只会在网页上看到两张照片,只需要告诉程序,哪张照片更漂亮即可,这可以和象棋的输赢类比,我们可以将其看作是一次比美。当获得这些比美的输赢数据之后,对每一张照片,程序会根据输赢来为其计算积分,赢+1,平局+0.5,输+0(球迷同学们一定很熟悉这种积分制)。女孩儿相貌的最终排名,将根据积分得出。

但是,仅仅根据输赢积分来进行排名会出现不公平的现象,因为不同女孩儿参加比美的次数不一样,而且,一个积分比较低的女孩儿在一次比美中若赢了一个积分比较高的女孩儿,那她获得积分应该更高一些。于是,就有了Elo Rating System。

假设现在有两个女孩儿的积分分别是RA和RB,有人打开了网页,开始仔细打量她俩的照片,准备要对她们的照片进行一次评价,即一次比美。在这次比美结束之前,程序可以先根据她们的积分计算出她们所得积分的期望值EA和EB,计算公式就是电影中写在玻璃上的公式:


Ea = 1/1+10^((Rb-Ra)/400)
Eb = 1/1+10^((Ra-Rb)/400)

通常,我们可以认为如果女孩儿的表现高于期望,那么应该获得更高的分数,而反之,则应更低,这就是期望值的作用。

接着,根据这次比美的实际结果,两个女孩儿将各自得到一个分数SA和SB(即上文提到过的赢+1,平局+0.5,输+0),对于女孩儿A,她的积分将根据下面这个公式来计算(要得到女孩儿B的积分计算公式只需把A替换成B即可):


Ra' = Ra + K(Sa-Ea)

其中,K是一个参数,可以根据实际情况进行调整。所以,如果我们假设RA=1000,RB=900,而且这次女孩儿B赢了,即SA=0,SB=1,并设K=32,则,EA=0.64,EB=0.36,女孩儿A的新积分为1000+32×(0-0.64)=979.52,女孩儿B的新积分为900+32×(1-0.36)=920.48。

Write a Comment