(《机器学习》完整版系列)第2章 模型评估与选择 ——2.3 恭喜:高考你被录取了!

回顾高考招生,分两步完成的,第一步,考试及阅卷(给样本打分);第二步,录取。本文以此趣例为背景,讨论:
1、学习器的P-R曲线:学习器P-R曲线越向右凸越好。
2、学习器的ROC曲线及曲线以下的面积AUC,学习器的AUC,越大越好;学习器ROC越向上/左凸越好。
3、ROC曲线画法。

高考的“打分器+录取器”

回顾高考招生,分两步完成的,第一步,考试及阅卷:通过试卷给每个学生打一个分数,这个可视为回归预测(给样本打分);第二步,录取。 现在我们做录取预测:在分数排序的基础上,根据需要的名额对“分数”进行划线“录取”,预测录取的样本即预测为正例,预测未录取的即预测为负例(亦称反例),与二分类器不同的是,这里仅通过分数线做录取预测,不妨称为录取器。 然而,实际的录取(样本的标记)又不仅仅看分数,例如,因志愿或体检原因使得高分未取(产生假正例),或因特长破格等原因使得低分录取了(产生假负例)。

二分类可以借鉴该方法,分为两步来实现:先用一个学习器进行回归预测,然后,再在分数排序的基础上进行划线分类,即二分类器=(回归)学习器+录取器。 对于一个学习器 h h h(实例化了的回归模型)确定的分数(排序),可以根据不同的录取数(或划线)得到不同的录取预测(通过录取器),这是个“一对多”的关系,借助这个关系,可以通过观察分数排序在各种录取额度上的表现来评价该学习器,这就是后续小节讨论的内容。 就像出好高考试卷对于录取质量至关重要,选择好的回归学习器对相应的二分类器也至关重要。

P-R曲线

设回归学习器(不妨称为打分器)对 m m m个测试样本进行了打分预测,按分数从高到低排序样本,设为
( x 1 , + ) , ( x 2 , + ) , ( x 3 , − ) , ⋯ ( x m − 1 , + ) , ( x m , − ) (1) (\boldsymbol{x}_1,+),(\boldsymbol{x}_2,+),(\boldsymbol{x}_3,-),\cdots( \boldsymbol{x}_{m-1},+),(\boldsymbol{x}_m,-) \tag{1} (x1,+),(x2,+),(x3,),(xm1,+),(xm,)(1)
其中,“ + + +”表示实际录取了,“ − - ”表示实际未录取。

现有一按分数“择优录取”的录取器,将上述排序分数输入录取器,并给定录取“名额”(不是指实际录取的名额,而是用于检验录取器的假定名额)作为超参数,由录取器进行录取预测。

假定给录取器的“名额”只有一个,则录取预测为
在这里插入图片描述

该预测结果再结合录取的实际(样本的标记)情况,则可以得到该测试集上的混淆矩阵,从而算出查全率 R R R和查准率 P P P,这是在一个录取名额下的计算,我们对度量指标添加下标表示“名额”,则这对度量数据可记为 ( R 1 , P 1 ) (R_1,P_1) (R1,P1)

假定给录取器的“名额”为2,则录取预测为
在这里插入图片描述

则仿上述可计算 ( R 2 , P 2 ) (R_2,P_2) (R2,P2)

逐步增加录取器的“名额”,则有 ( R 3 , P 3 ) , ( R 4 , P 4 ) , ⋯   , ( R m , P m ) (R_3,P_3),(R_4,P_4),\cdots,(R_m,P_m) (R3,P3),(R4,P4),,(Rm,Pm)

( R 1 , P 1 ) , ( R 2 , P 2 ) , ⋯   , ( R m , P m ) (R_1,P_1),(R_2,P_2),\cdots,(R_m,P_m) (R1,P1),(R2,P2),,(Rm,Pm)作为坐标系 O − R P O-RP ORP(查全率 R R R为横轴,查准率 P P P为纵轴)中的点,连接这些点则得到该学习器的P-R曲线,它就是该学习器的一种度量。 【西瓜书图2.3】指出了学习器性能的比较方法:学习器越向右凸越好。

ROC曲线

基于混淆矩阵,我们定义真正例率及对应的假正例率,这样就又有了一对性能度量指标,如下:
{ 假正例率: F P R = F P m − 真正例率: T P R = T P m + (2) \begin{cases} \text{假正例率:}\mathrm{FPR}=\frac{\mathrm{FP}}{m^-} \\ \text{真正例率:}\mathrm{TPR}=\frac{\mathrm{TP}}{m^+} \end{cases} \tag{2} {假正例率:FPR=mFP真正例率:TPR=m+TP(2)
其中, m + m^+ m+ m − m^- m分别表示样例中标记为正和负的样例数,在给定了测试集时,这两个数为常数,故上述两度量只与分子有关。 依前述规则,样本次序式(1)已定,可以逐一计算不同的录取名额之下这对指标式(2)的值,形成 ( m + 1 ) (m+1) (m+1)对值(对应名额从0到 m m m)。

在以假正例率 F P R \mathrm{FPR} FPR为横轴,以真正例率 T P R \mathrm{TPR} TPR为纵轴的坐标系中,上述每对值即为该坐标系中的一个点,连接这串点形成的曲线称为ROC曲线,该曲线以下的面积称为AUC,即【西瓜书图2.4】,利用ROC或AUC可以比较学习器性能。

另外,易得到这两对常用指标间的关系:
{ T P R = R F P R = m + m − ⋅ 1 − P P R (3) \begin{cases} \mathrm{TPR}={R }\\ \mathrm{FPR}=\frac{m^+}{m^-}\cdot\frac{1-{P}}{{P}}{R} \end{cases} \tag{3} {TPR=RFPR=mm+P1PR(3)
还可得到错误率与它们之间的关系:

错误率 E r = F P + F N m = F P + m + − T P m E_{\mathrm{r}}=\frac{\mathrm{FP}+\mathrm{FN}}{m}=\frac{\mathrm{FP}+m^+-\mathrm{TP}}{m} Er=mFP+FN=mFP+m+TP

p = m + m ,   T P R = T P m + ,   F P R = F P m − ,   m + = m − m − p=\frac{m^+}{m},\ \mathrm{TPR}=\frac{\mathrm{TP}}{m^+},\ \mathrm{FPR}=\frac{\mathrm{FP}}{m^-},\ m^+=m-m^- p=mm+, TPR=m+TP, FPR=mFP, m+=mm

E r = ( 1 − p ) F P R + p ( 1 − T P R ) (4) E_{\mathrm{r}}=(1-p)\mathrm{FPR}+p(1-\mathrm{TPR}) \tag{4} Er=(1p)FPR+p(1TPR)(4)
其中, ( F P R ,   T P R ) (\mathrm{FPR},\ \mathrm{TPR}) (FPR, TPR)为ROC曲线上的点。

ROC曲线画法

当录取名额为0时,即录取器认为样本没有正例,这时,混淆矩阵【西瓜书图2.1】的第一列全为0,即 T P = 0 , F P = 0 \mathrm{TP}=0,\quad \mathrm{FP}=0 TP=0FP=0,由式(2),对应的点为(0,0);同样,当录取名额为 m m m时,即学习器认为样本全是正例 P P P,这时,正例全都预测正确(即 T P = m + \mathrm{TP}=m^+ TP=m+),负例全都预测错误(即假正例 F P = m − \mathrm{FP}=m^- FP=m),由式(2),对应的点为(1,1)。 这两个点即为ROC的两个端点。

设录取名额为 k ( 0 ⩽ k < m ) k(0\leqslant k<m) k(0k<m)时的点为 ( F P k m − , T P k m + ) (\frac{\mathrm{FP}_k}{m^-},\frac{\mathrm{TP}_k}{m^+}) (mFPk,m+TPk),我们以此为基础求录取名额为 k + 1 k+1 k+1时的点,由于样本已排序,再多录取的一名样本即为 x k + 1 \boldsymbol{x}_{k+1} xk+1,即 k k k名额时的预测与 k + 1 k+1 k+1名额时的预测仅是该样本由负例改为正例,其余样本的预测保持不变。

  • x k + 1 \boldsymbol{x}_{k+1} xk+1实际标记为正例时,则增加了一名真正例,而假正例不变,故得到 x k + 1 \boldsymbol{x}_{k+1} xk+1时的点为 ( F P k m − , T P k + 1 m + ) (\frac{\mathrm{FP}_k}{m^-},\frac{\mathrm{TP}_k+1}{m^+}) (mFPk,m+TPk+1),即在ROC上,从 k k k点走向 k + 1 k+1 k+1点是沿着纵轴前进 1 m + \frac{1}{m^+} m+1
  • x k + 1 \boldsymbol{x}_{k+1} xk+1实际标记为负例时,则增加了一名假正例,而真正例不变,故得到 x k + 1 \boldsymbol{x}_{k+1} xk+1时的点为 ( F P k + 1 m − , T P k m + ) (\frac{\mathrm{FP}_k+1}{m^-},\frac{\mathrm{TP}_k}{m^+}) (mFPk+1,m+TPk),即在ROC上,从 k k k点走向 k + 1 k+1 k+1点是沿着横轴前进 1 m − \frac{1}{m^-} m1

从上面的画法可知,一个学习器的ROC曲线为动点沿着网格线(每格的高度为 1 m + \frac{1}{m^+} m+1,宽度为 1 m − \frac{1}{m^-} m1)从点(0,0)走向(1,1)的一条折线,即【西瓜书图2.4的右图】。 动点的行走方向受样本排序式(1)的约束,行走规则为:依样本排序式(1)从左至右,碰到实际标记为正例的样本则上前进 1 m + \frac{1}{m^+} m+1,碰到实际标记为负例的样本则向右前进 1 m − \frac{1}{m^-} m1,简记为:“正上走、负右走”。

AUC面积

ROC曲线的型状决定AUC面积,下面我们讨论AUC与学习器性能的关系。

依前述ROC画图规则,假定动点已到达 k k k ( F P k m − , T P k m + ) (\frac{\mathrm{FP}_k}{m^-},\frac{\mathrm{TP}_k}{m^+}) (mFPk,m+TPk),这时ROC折线(局部)将 k k k点以下分为两部分 S u S_{\mathrm{u}} Su(上部或左部)和 S d S_{\mathrm{d}} Sd(下部或右部),如图1 所示。
图1 k点时的面积

图1 k点时的面积

这时,分数排名前 k k k个样本中,有 F P k \mathrm{FP}_k FPk个样本实际标记为负例, T P k \mathrm{TP}_k TPk个标记为正例。 动点继续行走,前述已讨论了下一个点( k + 1 k+1 k+1点)有两种情况:

(1)当 x k + 1 \boldsymbol{x}_{k+1} xk+1实际标记为正例时

动点是沿着纵轴前进 1 m + \frac{1}{m^+} m+1,这时, S u S_{\mathrm{u}} Su增加“深灰阴影”部分,即增加的格子数为 F P k \mathrm{FP}_k FPk,刚好是 x k + 1 \boldsymbol{x}_{k+1} xk+1前负例标记数,这些负例样本排在了正例样本 x k + 1 \boldsymbol{x}_{k+1} xk+1之前,说明预测不准,排得越多( F P k \mathrm{FP}_k FPk越大)则越不准,即该格子数可视为:出现正例 x k + 1 \boldsymbol{x}_{k+1} xk+1时,由排在前的 F P k \mathrm{FP}_k FPk个负样本产生的对预测的“反对量”(图2的“深灰阴影”部分),即 F P k \mathrm{FP}_k FPk个矩形,用面积表示则为
F P k ⋅ ( 1 m + ⋅ 1 m − ) \mathrm{FP}_k\cdot(\frac{1}{m^+}\cdot \frac{1}{m^-}) FPk(m+1m1)
图2 从k走到k+1时的面积增量(上)

图2 从k走到k+1时的面积增量(上)

(2)当 x k + 1 \boldsymbol{x}_{k+1} xk+1实际标记为负例时

动点是沿着横轴前进 1 m − \frac{1}{m^-} m1,同样分析,出现负例 x k + 1 \boldsymbol{x}_{k+1} xk+1时,由排在前的 T P k \mathrm{TP}_k TPk个正样本产生的对预测的“支持量”(图3的“深灰阴影”部分),即 T P k \mathrm{TP}_k TPk个矩形,用面积表示则为
T P k ⋅ ( 1 m + ⋅ 1 m − ) \mathrm{TP}_k\cdot(\frac{1}{m^+}\cdot \frac{1}{m^-}) TPk(m+1m1)
图3 从k走到k+1时的面积增量(下)

图3 从k走到k+1时的面积增量(下)

综上,动点沿ROC从(0,0)走向(1,1)过程中,每一步要么增加对“预测”的“反对量”,要么增加对“预测”的“支持量”,ROC的上部( S u S_{\mathrm{u}} Su)为“事实”(样本实际标记)对学习器预测(即排序式(1))的“反对量”(累计),而ROC的下部( S d S_{\mathrm{d}} Sd)则为“支持量”(累计)。 将“支持量”定义为该学习器的AUC,越大越好;将“反对量”定义为该学习器的损失,越小越好。 显然,学习器ROC越向上/左凸越好。

由前述可知,ROC的上部( S u S_{\mathrm{u}} Su)写成公式即为
S u = ∑ x k + 1 ∈ D + 1 m + ⋅ 1 m − ⋅ F P k (5) S_{\mathrm{u}}=\sum_{\boldsymbol{x}_{k+1} \in D^+} \frac{1}{m^+}\cdot \frac{1}{m^-}\cdot \mathrm{FP}_k \tag{5} Su=xk+1D+m+1m1FPk(5)

由排序式(1)知,
F P k = ∑ x ∈ D − I ( h ( x ) > h ( x k + 1 ) ) (6) \mathrm{FP}_k=\sum_{\boldsymbol{x} \in D^-}\mathbb{I} (h(\boldsymbol{x})>h(\boldsymbol{x}_{k+1})) \tag{6} FPk=xDI(h(x)>h(xk+1))(6)

式(6)代入式(5)并根据“和号”下面样本标记的限定,可将符号 x k + 1 \boldsymbol{x}_{k+1} xk+1改写为 x + \boldsymbol{x}^+ x+ x \boldsymbol{x} x改写为 x − \boldsymbol{x}^- x,则
S u = 1 m + ⋅ 1 m − ∑ x + ∈ D + ∑ x − ∈ D − I ( h ( x − ) > h ( x + ) ) (7) S_{\mathrm{u}}=\frac{1}{m^+}\cdot \frac{1}{m^-}\sum_{\boldsymbol{x}^+ \in D^+}\sum_{\boldsymbol{x}^- \in D^-}\mathbb{I} (h(\boldsymbol{x}^-)>h(\boldsymbol{x}^+)) \tag{7} Su=m+1m1x+D+xDI(h(x)>h(x+))(7)

S d = 1 m + ⋅ 1 m − ∑ x + ∈ D + ∑ x − ∈ D − I ( h ( x − ) < h ( x + ) ) = (小方形面积) ⋅ (满足 h ( x − ) < h ( x + ) 的小方形个数) = (满足 h ( x − ) < h ( x + ) 的面积占比) (因总面积为1) = P ( h ( x − ) < h ( x + ) ) (由概率意义得) 即:AUC = P ( h ( x − ) < h ( x + ) ) \begin{align} S_{\mathrm{d}} & =\frac{1}{m^+}\cdot \frac{1}{m^-}\sum_{\boldsymbol{x}^+ \in D^+}\sum_{\boldsymbol{x}^- \in D^-}\mathbb{I} (h(\boldsymbol{x}^-)<h(\boldsymbol{x}^+)) \tag{8} \\ & =\text{(小方形面积)}\cdot\text{(满足$h(\boldsymbol{x}^-)<h(\boldsymbol{x}^+)$的小方形个数)}\notag \\ & =\text{(满足$h(\boldsymbol{x}^-)<h(\boldsymbol{x}^+)$的面积占比)}\qquad\text{(因总面积为1)}\notag \\ & =P(h(\boldsymbol{x}^-)<h(\boldsymbol{x}^+)) \qquad\text{(由概率意义得)}\notag \\ \text{即:AUC} & =P(h(\boldsymbol{x}^-)<h(\boldsymbol{x}^+)) \tag{9} \end{align} Sd即:AUC=m+1m1x+D+xDI(h(x)<h(x+))=(小方形面积)(满足h(x)<h(x+)的小方形个数)=(满足h(x)<h(x+)的面积占比)(因总面积为1=P(h(x)<h(x+))(由概率意义得)=P(h(x)<h(x+))(8)(9)
式(6)、式(8)是假定学习器 h h h对测试集中的样本打出不同分数的情况。 分数有相同的情况留待下一小节专门详细讨论。

【西瓜书图2.4】右图就是按上述方法画出的,将其平滑化后得到左图,AUC面积在左图中为若干竖方条的面积之和,而右图的AUC面积可将这些竖方条变为梯形来求近似值,这样就得到【西瓜书式(2.20)】。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:2.2 如何选个好模型?
下一篇:2.4 事情有点麻烦:你的分数与别人并列了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值