资讯

评分函数是什么?给样本或候选结果打分的函数

2026-11-052 分钟阅读百科
TL;DR评分函数(Score Function)是给样本、候选答案或模型打分的函数,在分类中指模型对各类别输出的分数,在信息检索中指衡量文档与查询相关性的函数(如 BM25),在统计学中则特指对数似然函数对参数的梯度,扩散模型中的“分数”也来自这一含义。

评分函数(Score Function)是一个在不同领域有不同含义的术语,它的共同点是:用一个数值来衡量某个对象“有多好”或“有多可能”。下面介绍它在机器学习中最常见的几种用法。

分类模型中的评分函数

在分类问题中,评分函数指的是模型为每个类别计算出的分数。比如一个识别动物的模型,对一张图片可能给出“猫 3.2 分、狗 1.1 分、鸟 负 0.5 分”,分数最高的类别就是模型的预测结果。线性分类器的评分函数就是输入特征的加权求和加上一个偏置。这些原始的分数通常还会经过 softmax 函数转换成概率,再与损失函数结合来训练模型。在神经网络中,这些未经归一化的分数也常被称为 logits。

信息检索中的评分函数

在搜索引擎中,评分函数用来衡量一篇文档与用户查询的相关程度,然后按分数从高到低排列搜索结果。经典的方法包括:TF-IDF,词在文档中出现得越多、在所有文档中越少见,得分越高;BM25,在 TF-IDF 的基础上考虑了词频的饱和效应和文档的长度,至今仍是关键词检索的标准方法。在向量检索中,评分函数通常是查询向量和文档向量之间的余弦相似度或点积。在检索增强生成中,还常用专门的重排序模型作为评分函数,对候选文档进行更精细的打分。

统计学中的得分函数

在统计学中,“score function”有一个精确的定义,中文常译为“得分函数”:它是对数似然函数对模型参数的导数,也就是梯度。它衡量的是数据对参数取值的敏感程度。在最大似然估计中,令得分函数等于零就能求出参数的估计值;得分函数的方差就是费舍尔信息,它反映了数据中包含多少关于参数的信息。在强化学习的策略梯度方法中,“得分函数估计”也是计算梯度的一种重要技巧。

扩散模型中的分数

在生成模型中,“分数”指的是数据概率密度的对数对数据本身的梯度。直观地说,它在空间中的每个点都指向概率密度增加最快的方向,也就是“往哪个方向走更像真实的数据”。基于分数的生成模型学习估计这个分数,然后从随机噪声出发,沿着分数指示的方向一步步移动,最终生成逼真的数据。宋飏等人指出,这类方法与扩散模型本质上是相通的,从而建立了扩散模型的统一理论框架。

其他用法

在模型评估中,评分函数也泛指用来评价模型好坏的指标,比如 scikit-learn 中用于交叉验证的各种评分方式;在推荐系统中,评分函数预测用户对某个物品的喜好程度。