只有选择与问题相匹配的评估方法,才能快速的发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。有针对性地选择合适的评估指标、根据评估指标的反馈进行模型调整,是机器学习在模型评估阶段的关键。
一、评估指标的局限性
在模型评估过程中,分类问题、排序问题、回归问题往往需要使用不同的指标进行评估。在诸多的评估指标中,大部分指标只能片面地反映模型的一部分性能。如果不能合理地运用评估指标,不仅不能发现模型本身的问题,而且会得出错误的结论。常见的评估指标:如准确率、精确率、召回率、均方根误差。
1. 准确率的局限性
准确率 = 分类正确的样本个数/总样本个数。准确率是分类问题中最简单也是最直观的评价指标,但存在明显的缺陷。比如,当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。所以,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素。
为了解决这个问题,可以使用更为有效的平均准确率(每个类别下的样本准确率的算术平均)作为模型评估的指标。
即使评估指标选择对了,仍会存在模型过拟合或欠拟合、测试集和训练集划分不合理、线下评估与线上测试的样本分布存在差异等一系列问题。但评估指标的选择是最容易被发现,也是最可能影响评估结果的因素。
2. 精确率与召回率的权衡
精确率 = 分类正确的正样本个数/分类器判定为正样本的样本个数
召回率 = 分类正确的正样本个数/真正的正样本个数
在排序问题中,通常没有一个确定的阈值把得到的结果直接判定为正样本或负样本,而是采用Top N返回结果的精确值和召回值来衡量排序模型的性能,即可以认为模型返回的Top N的结果就是模型判定的正样本,然后计算前 N 个位置上的精确率和前 N 个位置上的召回率。
精确率和召回率是既矛盾又统一的两个指标,为了提高精确率,分类器需要尽量在更有把握时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多没有把握的正样本。导致召回率降低。
用户找不到想看的视频,说明模型没有把相关的视频呈现给用户。显然是召回率比较低。如果相关结果有100个,即使top5的精确率达到了100%,但是top5的召回率也仅仅是5%。所以在模型评估时,应同时关注精确率和召回率,选取不同Top N的结果进行观察,或者选取更高阶的评估指标来全面的反应模型在准确率和召回率两方面的表现。
为了综合评估一个排序模型的好坏,不仅要看模型的不同Top N下的精确率和召回率,做好绘制出模型的P-R曲线。
P-R曲线的横轴是召回率,纵轴是精确率。对于一个排序模型来说,P-R曲线上的一个点代表着,在某一阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结果对应的召回率和精确率。整条P-R曲线是通过将阈值从高到低移动而生成的。如下图,原点附近代表当阈值最大时模型的精确率和召回率。