给一部电影打7.4分,你可能要纠结半天;但如果问“《奥本海默》和《芭比》你更喜欢哪部”,答案瞬间就能蹦出来。人类天生擅长比较,却很不擅长校准绝对分数。机器学习里的大部分算法偏偏喜欢“绝对标签”——一个样本属于哪一类、一篇文章该得多少分、一个产品是几星好评。但现实中,很多系统里拿到的不是这些冷冰冰的数字,而是一堆一对一的胜负记录。布莱德利-特里模型就是专门解决这种“我只知道A比B强,但说不出A到底有多强”的尴尬局面的。它不要求你给任何东西打绝对分,只需要两两比较的结果,就能推断出一张靠谱的概率排名表。

这个模型的思路特别简单:给每个参加比较的“选手”分配一个看不见的正数,代表它的内在实力,记作 πᵢ。当选手 i 跟选手 j 碰面时,i 胜出的概率就等于 πᵢ / (πᵢ + πⱼ)。这其实很像在用实力占比来下注:两个选手实力相等,胜率就五五开;如果 i 的实力远高于 j,比如 πᵢ 是 πⱼ 的10倍,那 i 赢的概率就变成 10/11≈0.91,几乎是板上钉钉。反过来,j 也只有大约 9% 的翻盘可能。整个排名不必事先知道谁厉害,而是从一堆胜负数据里把这组隐藏的 π 值反推出来,让最终的胜负概率尽可能贴合实际观察到的结果。

打开网易新闻 查看精彩图片

这个公式看着眼熟不是巧合。把实力参数换成指数形式会更方便——让 πᵢ = exp(βᵢ),也就是用一个实数 βᵢ 表示选手的“强度分”。套进胜率公式里一化简,就成了 1 / (1 + exp[-(βᵢ − βⱼ)])。这正是逻辑回归里天天见到的逻辑函数。在这里,i 胜出的概率完全取决于两个强度分的差值 βᵢ − βⱼ,跟绝对值无关。也就是说,选手是 100 分对 90 分,还是 10 分对 0 分,只要分差都是 10 分,胜率就一模一样。这和我们直觉中的“棋力差两段,胜率差不多”是一个道理。再进一步,取个对数几率,会发现 log(P(i胜) / P(j胜)) = βᵢ − βⱼ,胜负的log-odds与强度分差成简单的线性关系,干净得让人想叹气。

打开网易新闻 查看精彩图片

表面上这是给比赛排座次用的,但把它和逻辑回归的血缘关系摆在一起,就能看出更广阔的用武之地。逻辑回归用线性组合来预测二分类结果,布莱德利-特里模型则把那个线性组合替换成了两个潜藏强度的差值。所以,只要你能把评判对象两两分组、收集到足够的偏好数据——比如聊天助手哪个回答更靠谱、搜索结果哪条更相关、甚至游戏平衡性测试里哪个单位太过强势——这个模型就能把主观的“更好”转化成客观的概率刻度。它的妙处在于,完全绕开了让人类给出精确分数的难题,既降低了数据收集的门槛,又很自然地用差值思维避开了绝对评分里的个人偏差。

打开网易新闻 查看精彩图片

当然,没有什么模型是万能的。布莱德利-特里模型隐含了一个假设:不管跟谁比,选手 i 的实力都是恒定的,不存在风格相克或者特定对手加成。如果真的遇上“剪刀石头布”那样的循环克制关系,它就会变得手足无措。但正因为它的结构如此轻巧,当我们需要快速从一堆杂乱的一对一抉择中理出一条清晰的排序时,它总是值得第一个拿出来试。不用复杂的特征工程,不用海量的绝对标签,仅仅靠一次次简单的“你选哪个”的答案,就能把隐藏在集体偏好里的秩序慢慢萃取出来。