西瓜书读书笔记之模型评估与选择(二)

2.3 性能度量

  • 定义:衡量模型泛化能力的评价标准。
  • 对比不同模型时,使用不同的性能度量往往会导致不同的评判结果。这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。
  • 给定样例集D = {(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m})},其中yi是示例xi的真实标记,待评估的学习器为f。
  • 回归任务中,最常用的性能度量是“均方误差”:E(f;D) = \frac{1}{m}\sum_{i = 1}^{m}(f(x_{i}) - y_{i})^{2}
  • 更一般的,对于数据分布D和概率密度函数p(·),E(f;D) = \int_{x\sim D}(f(x) - y)^{2}p(x)dx

分类任务中的性能度量:

2.3.1 错误率与精度

  • 错误率:E(f;D)=\frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_{i})\neq y_{i})
  • 精度:acc(f;D)=\frac{1}{m}\sum_{i=1}^{m}\mathbb{I}(f(x_{i})= y_{i})=1 - E(f;D)
  • 更一般的,对于数据分布D和概率密度函数p(·),E(f;D) = \int_{x\sim D}\mathbb{I}(f(x)\neq y)p(x)dx,acc(f;D) = \int_{x\sim D}\mathbb{I}(f(x) = y)p(x)dx

2.3.2 查准率、查全率与F1

  • 信息检索中,我们经常会关心“检索出的信息中有多少比例是用户感兴趣的”“用户感兴趣的信息中有多少被检索出来了”。查准率(准确率)与查全率(召回率)更适用于此类需求的性能度量。
  • 分类结果混淆矩阵:
  •                                                 预测结果
               真实情况                正例               反例
                   正例         TP(真正例)        FN(假反例)
                   反例         FP(假正例)        TN(真反例)
  • 查准率P = \frac{TP}{TP+FP},查全率R = \frac{TP}{TP+FN}

  • 一般地,查准率高,查全率低;反之亦然。

  • 以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线(P-R曲线)

  • 若一个学习器的P-R曲线被另一个学习器完全“包住”,则可断言后者性能优于前者。

  • 若两个学习器的曲线仅有部分交叉,可考虑:

  1. 平衡点(BEP):查准率=查全率时的取值

  2. F1度量:F1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{m+TP-TN},m是样本总数。\frac{1}{F1}=\frac{1}{2}\cdot (\frac{1}{P}+\frac{1}{R})

  3. Fβ度量:F_{\beta }=\frac{(1+\beta^{2})\times P\times R}{(\beta^{2}\times P)+R},β > 0度量了查全率对查准率的相对重要性。β = 1时退化为F1,β > 1时查全率更重要,β < 1时查准率更重要。\frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}}\cdot (\frac{1}{P}+\frac{\beta^{2}}{R})

  4. 对于多个二分类混淆矩阵,一种做法是,分别基于各个矩阵计算查准率和查全率,再取平均,得到宏查准率和宏查全率,代入F1得到宏F1;另一种做法是,先对混淆矩阵各个元素取平均,再将这些平均值带入,得到微查准率、微查全率和微F1.

2.3.3 ROC和AUC

  • 学习器为测试样本产生一个实值或概率预测,然后将其与分类阈值进行比较,大于为正类,小于为反类。
  • 根据实值或概率预测结果,可以对测试样本进行排序,最可能是正例的排在最前面。分类过程就相当于以某个截断点将样本分为两部分。可以根据任务需求采用不同截断点。例如更重视查准率,可选择排序中靠前的位置进行截断;若更重视查全率,可选择中靠后的位置进行截断。
  • 可以看出,排序本身的质量好坏,体现了综合学习器在不同任务(截断点)下“期望泛化性能”的好坏(均值)。
  • 为此,引入受试者工作特征(ROC)曲线,根据学习器的预测结果对样例进行排序,按此顺序(从最可能到最不可能)逐个把样本作为正例进行预测,每次计算出真正例率(ROC)作为纵轴,假正例率(FPR)作为横轴。其中,TPR=\frac{TP}{TP+FN},FPR=\frac{FP}{FP+TN}
  • 近似曲线的绘制:给定m+个正例和m-个反例,根据学习器预测结果对样例进行排序,然后打分类器阈值设为最大,即所有样例均为反例,此时TPR=FPR=0,(0,0)处标记一个点。然后,将阈值按从大到小的顺序依次设定为每个样例的预测值,即依次将每个样例划分为正例。设前一个点的坐标为(x,y),当前若为真正例,对应标记点坐标为(x,y + 1/m+);若为假正例,坐标为(x + 1/m-,y)。连接各点即可。
  • 学习器的比较:若前一个学习器的ROC曲线被另一个完全包住,则后者性能优于前者。若发生交叉,一般难以断定,一定要进行比较,可采用ROC曲线下的面积AUC=\sum_{I=1}^{m-1}(x_{i+1}-x_{i})\frac{y_{i}+y_{i+1}}{2}
  • 给定m+个正例和m-个反例,D+和D-分别表示正、反例集合,则排序损失定义为:l_{rank}=\frac{1}{m^{+}m^{-}} \sum_{x^{+}\epsilon D^{+}}\sum_{x^{-}\epsilon D^{-}}(\mathbb{I}(f(x^{+})<f(x^{-}))+\frac{1}{2}\mathbb{I}(f(x^{+})=f(x^{-})))即考虑每一对正例反例,若正例预测值小于反例,记一个罚分,相等记0.5个(各占一半)。(详见https://www.zhihu.com/question/265364451)除m+·m-的作用是归一化。
  • 排序损失对应的是ROC曲线之上的面积,因此AUC=1-l_{rank}

2.3.4 代价敏感错误率与代价曲线

  • 为权衡不同类型错误所造成的不同损失,可以为错误赋予“非均等代价”。
  • 代价矩阵:costij表示将第i类样本预测为第j类样本的代价。一般的,costii = 0。若将第0类别判别为第1类造成的损失更大,则cost01>cost10。损失程度相差越大,cost01与cost10值差别越大,一般情况下,重要的是代价的比值而非绝对值,5:1与50:10效果相当。
  • 在非均等代价下,我们所希望的不再是简单地最小化错误次数,而是希望最小化“总体代价”。之前的性能度量大多隐式地假设了均等代价,例如错误率是直接计算错误次数,相应的“代价敏感”错误率为E(f;D;cost)=\frac{1}{m}(\sum_{x_{i}\epsilon D^{+}}\mathbb{I}(f(x_{i})\neq y_{i})\times cost_{01}+\sum_{x_{i}\epsilon D_{-}}\mathbb{I}(f(x_{i})\neq y_{i})\times cost_{10})
  • 非均等代价下,ROC曲线不能直接反映学习器的期望总体代价,引入代价曲线,横轴是取值范围[0, 1]的正例概率代价P(+)cost=\frac{p\times cost_{01}}{p\times cost_{01}+(1-p)\times cost_{10}},其中P是样例为正例的概率;纵轴是[0, 1]的归一化代价cost_{norm}=\frac{FNR\times p\times cost_{01}+FPR\times (1-p)\times cost_{10}}{p\times cost_{01}+(1-p)\times cost_{10}},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规范化。
  1. Min-max规范化:x'=x'_{min}+\frac{x-x_{min}}{x_{max}-x_{min}}\times (x'_{max}-x'_{min}),类似于点斜式方程,点是规范化后的最小值,斜率是规范化后的范围比上原先的范围。
  2. z-score规范化:x'=\frac{x-\overline{x}}{\sigma_{x}},这是概率论中常见的转换为标准正态分布的标准化过程
  3. 区别与联系详见https://www.zhihu.com/question/20455227
  4. 规范化有助于加速参数的优化过程。
  5. 吴恩达在机器学习课程给出的可接受参数范围大约为[-1/3, 1/3]和[-3,3]这一量级,过小或过大都可采用规范化。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值