2.3 性能度量
- 定义:衡量模型泛化能力的评价标准。
- 对比不同模型时,使用不同的性能度量往往会导致不同的评判结果。这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。
- 给定样例集
,其中yi是示例xi的真实标记,待评估的学习器为f。
- 回归任务中,最常用的性能度量是“均方误差”:
。
- 更一般的,对于数据分布D和概率密度函数p(·),
。
分类任务中的性能度量:
2.3.1 错误率与精度
- 错误率:
。
- 精度:
。
- 更一般的,对于数据分布D和概率密度函数p(·),
2.3.2 查准率、查全率与F1
- 信息检索中,我们经常会关心“检索出的信息中有多少比例是用户感兴趣的”“用户感兴趣的信息中有多少被检索出来了”。查准率(准确率)与查全率(召回率)更适用于此类需求的性能度量。
- 分类结果混淆矩阵:
-
预测结果 真实情况 正例 反例 正例 TP(真正例) FN(假反例) 反例 FP(假正例) TN(真反例) -
查准率
,查全率
。
-
一般地,查准率高,查全率低;反之亦然。
-
以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线(P-R曲线)
-
若一个学习器的P-R曲线被另一个学习器完全“包住”,则可断言后者性能优于前者。
-
若两个学习器的曲线仅有部分交叉,可考虑:
-
平衡点(BEP):查准率=查全率时的取值
-
F1度量:
,m是样本总数。
-
Fβ度量:
,β > 0度量了查全率对查准率的相对重要性。β = 1时退化为F1,β > 1时查全率更重要,β < 1时查准率更重要。
-
对于多个二分类混淆矩阵,一种做法是,分别基于各个矩阵计算查准率和查全率,再取平均,得到宏查准率和宏查全率,代入F1得到宏F1;另一种做法是,先对混淆矩阵各个元素取平均,再将这些平均值带入,得到微查准率、微查全率和微F1.
2.3.3 ROC和AUC
- 学习器为测试样本产生一个实值或概率预测,然后将其与分类阈值进行比较,大于为正类,小于为反类。
- 根据实值或概率预测结果,可以对测试样本进行排序,最可能是正例的排在最前面。分类过程就相当于以某个截断点将样本分为两部分。可以根据任务需求采用不同截断点。例如更重视查准率,可选择排序中靠前的位置进行截断;若更重视查全率,可选择中靠后的位置进行截断。
- 可以看出,排序本身的质量好坏,体现了综合学习器在不同任务(截断点)下“期望泛化性能”的好坏(均值)。
- 为此,引入受试者工作特征(ROC)曲线,根据学习器的预测结果对样例进行排序,按此顺序(从最可能到最不可能)逐个把样本作为正例进行预测,每次计算出真正例率(ROC)作为纵轴,假正例率(FPR)作为横轴。其中,
- 近似曲线的绘制:给定m+个正例和m-个反例,根据学习器预测结果对样例进行排序,然后打分类器阈值设为最大,即所有样例均为反例,此时TPR=FPR=0,(0,0)处标记一个点。然后,将阈值按从大到小的顺序依次设定为每个样例的预测值,即依次将每个样例划分为正例。设前一个点的坐标为(x,y),当前若为真正例,对应标记点坐标为(x,y + 1/m+);若为假正例,坐标为(x + 1/m-,y)。连接各点即可。
- 学习器的比较:若前一个学习器的ROC曲线被另一个完全包住,则后者性能优于前者。若发生交叉,一般难以断定,一定要进行比较,可采用ROC曲线下的面积
- 给定m+个正例和m-个反例,D+和D-分别表示正、反例集合,则排序损失定义为:
即考虑每一对正例反例,若正例预测值小于反例,记一个罚分,相等记0.5个(各占一半)。(详见https://www.zhihu.com/question/265364451)除m+·m-的作用是归一化。
- 排序损失对应的是ROC曲线之上的面积,因此
2.3.4 代价敏感错误率与代价曲线
- 为权衡不同类型错误所造成的不同损失,可以为错误赋予“非均等代价”。
- 代价矩阵:costij表示将第i类样本预测为第j类样本的代价。一般的,costii = 0。若将第0类别判别为第1类造成的损失更大,则cost01>cost10。损失程度相差越大,cost01与cost10值差别越大,一般情况下,重要的是代价的比值而非绝对值,5:1与50:10效果相当。
- 在非均等代价下,我们所希望的不再是简单地最小化错误次数,而是希望最小化“总体代价”。之前的性能度量大多隐式地假设了均等代价,例如错误率是直接计算错误次数,相应的“代价敏感”错误率为
- 非均等代价下,ROC曲线不能直接反映学习器的期望总体代价,引入代价曲线,横轴是取值范围[0, 1]的正例概率代价
,其中P是样例为正例的概率;纵轴是[0, 1]的归一化代价
,FPR即?所定义的假正例率,FNR = 1 - TPR是假反例率。
- 代价曲线绘制:将ROC曲线上的每一点映射到代价曲线绘制图上的一条线段。设ROC上点的坐标为(FPR, TPR),则可相应计算出FNR,然后绘制一条从(0,FPR)到(1,FNR)的线段,线段下的面积表示了该条件下的期望总体代价。取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价的最小值(西瓜书未指明)(详见https://www.zhihu.com/question/63492375)
- 规范化是将不同变化范围的值映射到相同的固定范围中,常见的是[0, 1],这种情况下也叫归一化。西瓜书在课后题中提到两种方法。Min-max规范化和z-score规范化。
- Min-max规范化:
,类似于点斜式方程,点是规范化后的最小值,斜率是规范化后的范围比上原先的范围。
- z-score规范化:
,这是概率论中常见的转换为标准正态分布的标准化过程
- 区别与联系详见https://www.zhihu.com/question/20455227
- 规范化有助于加速参数的优化过程。
- 吴恩达在机器学习课程给出的可接受参数范围大约为[-1/3, 1/3]和[-3,3]这一量级,过小或过大都可采用规范化。