在评估用于分类的序列模型时,例如判断产品评论的情感或根据文本对新闻文章进行分类,我们需要衡量标准来判断模型为整个序列分配正确标签的效果。与预测下一个元素或生成文本不同,序列分类通常为每个输入序列产生一个单一的类别输出。此处直接适用其他机器学习领域中常见的标准分类衡量标准。它们有助于量化模型的表现,并且通常来源于一个核心工具:混淆矩阵。混淆矩阵:评估的依据对于分类任务,混淆矩阵提供了预测结果的汇总。它以表格形式列出每个类别中正确或错误分类的实例数量。让我们考虑一个常见的二元分类任务(例如,积极情感与消极情感):真阳性 (TP): 被正确分类为正类别的序列数量。(例如,将真实的积极评论预测为“积极”)。真阴性 (TN): 被正确分类为负类别的序列数量。(例如,将真实的消极评论预测为“消极”)。假阳性 (FP): 当它们实际属于负类别时,被错误分类为正类别的序列数量(第一类错误)。(例如,将真实的消极评论预测为“积极”)。假阴性 (FN): 当它们实际属于正类别时,被错误分类为负类别的序列数量(第二类错误)。(例如,将真实的积极评论预测为“消极”)。这四个值构成了计算更具说明性衡量标准的依据。{"layout": {"title": "混淆矩阵示例(二元分类)", "xaxis": {"title": "预测标签"}, "yaxis": {"title": "真实标签", "autorange": "reversed"}, "annotations": [{"x": 0, "y": 0, "text": "真阴性=850", "showarrow": false, "font": {"color": "white"}}, {"x": 1, "y": 0, "text": "假阳性=50", "showarrow": false, "font": {"color": "#495057"}}, {"x": 0, "y": 1, "text": "假阴性=100", "showarrow": false, "font": {"color": "#495057"}}, {"x": 1, "y": 1, "text": "真阳性=1000", "showarrow": false, "font": {"color": "white"}}], "width": 450, "height": 400}, "data": [{"type": "heatmap", "z": [[850, 50], [100, 1000]], "x": ["负类", "正类"], "y": ["负类", "正类"], "colorscale": [[0, "#e9ecef"], [1, "#1c7ed6"]], "showscale": false}]}一个混淆矩阵,显示了二元分类模型中的真阴性 (TN)、假阳性 (FP)、假阴性 (FN) 和真阳性 (TP) 的计数。准确率准确率通常是第一个考虑的衡量标准。它衡量所有预测中正确预测的总体比例。$$ \text{准确率} = \frac{TP + TN}{TP + TN + FP + FN} $$尽管直观,但准确率可能具有误导性,尤其是在处理不平衡数据集时。如果一个类别的数量明显多于其他类别,一个总是预测多数类的模型可以获得高准确率,但对少数类别没有真正的预测能力。例如,如果95%的评论是积极的,一个对每条评论都预测为“积极”的模型将获得95%的准确率,但却完全无法处理消极评论。因此,同时考虑其他衡量标准是很重要的。精确率精确率回答了这个问题:“在所有模型预测为正的序列中,有多少比例实际为正?”它关注正预测的正确性。$$ \text{精确率} = \frac{TP}{TP + FP} $$高精确率表明模型产生的假阳性错误很少。这在假阳性成本高的场景中尤为重要。例如,如果一个序列模型将邮件分类为“垃圾邮件”(正类别),高精确率意味着被识别为垃圾邮件的邮件很可能确实是垃圾邮件,从而最大限度地减少了合法邮件被过滤掉的可能性。召回率 (敏感度)召回率,也称为敏感度或真阳性率,回答了这个问题:“在所有实际为正的序列中,模型正确识别出了多少比例?”它关注模型找到所有正实例的能力。$$ \text{召回率} = \frac{TP}{TP + FN} $$高召回率表明模型产生的假阴性错误很少。当错过一个正实例(假阴性)的成本很高时,这一点很重要。例如,在一个识别潜在欺诈性交易(正类别)的序列模型中,高召回率确保大多数欺诈活动被捕获,即使这意味着将一些合法交易标记出来以供审查(精确率较低)。F1分数通常,精确率和召回率之间存在权衡。提高一个可能会降低另一个。F1分数提供了一个单一的衡量标准,通过计算它们的调和平均值来平衡精确率和召回率。$$ F1 = 2 \times \frac{\text{精确率} \times \text{召回率}}{\text{精确率} + \text{召回率}} = \frac{2 \times TP}{2 \times TP + FP + FN} $$F1分数的范围从0到1,1表示完美的精确率和召回率。当需要在最小化假阳性和最小化假阴性之间取得平衡时,或者在处理仅凭准确率不足以评估的不平衡类别时,它特别有用。调和平均值比算术平均值对极端值有更大的惩罚,这意味着精确率和召回率都需要相对较高,F1分数才会高。处理多类别分类这些衡量标准可以扩展到多于两个类别的场景(例如,将新闻文章分类为“体育”、“科技”、“政治”或“商业”)。混淆矩阵变成一个 $ N \times N $ 矩阵,其中 $N$ 表示类别的数量。为了计算多类别问题的整体精确率、召回率和F1分数,常见的方法包括:宏平均: 独立地为每个类别计算衡量标准,然后取未加权的平均值。这不论类别的频率如何,都平等对待所有类别。微平均: 汇总所有类别的贡献以全局计算平均衡量标准(首先计算所有类别的总TP、FP、FN)。这平等对待每个实例,对较大类别赋予更大的影响。加权平均: 为每个类别计算衡量标准,然后根据每个类别的真实实例数量(支持度)加权取平均值。这考虑了类别不平衡。宏平均、微平均或加权平均的选择取决于具体目标。如果所有类别同等重要,可能更倾向于宏平均。如果较大类别的表现更具意义,微平均或加权平均可能更适合。评估序列分类模型时,请从混淆矩阵开始,计算准确率、精确率、召回率和F1分数。考虑问题本身的性质和潜在的类别不平衡,选择最具说明性的衡量标准,以了解模型在未见过数据上的真实表现。请记住在单独的验证集或测试集上计算这些衡量标准,以获得模型在实践中表现的可靠估计。