导航菜单
首页 >  西瓜书期末考试  > 西瓜书习题2.5的证明

西瓜书习题2.5的证明

关于西瓜书中AUC=1−lr a n kAUC=1-l_{rank}AUC=1−lrank​的推导分析

​​       在期末考试暂时告一段落之后,可以将前段时间学习《机器学习》时整理的一部分内容更新了. 在学习第二章的ROCROCROC 曲线部分时,遇到了题目中的表达式的证明的问题. 周志华老师用到了初学者深恶痛绝的几个字来完成讲解——“易得/易知”. 自己思考过程中会发现这个结论并没有那么显然.

ROCROCROC 和AUCAUCAUC 的基础内容 ROCROCROC

​​       考虑一个二分类问题,我们需要找到一个学习出来的分类器模型对验证集数据进行分类为正例或反例,简单来说,我们根据某一种分类算法将所有的数据进行排序,将更可能为正例的样本排在前面,越不可能为正例的样本排在后面,然后我们可以寻得一个截断点,将截断点前的样本划分为正例,其后的样本分为反例. 这个截断点的设定很容易,通过调整阈值大小就可以自由地将其前后挪动,因此一个分类器的效果实际上是由排序效果决定的,也即是考虑分类器将多大比例的正例正确地排到了反例的前面,考虑如下的两个排序: T , T , T , F , FF , T , F , T , T T,T,T,F,F\qquad F,T,F,T,TT,T,T,F,FF,T,F,T,T ​​       显然前面一个分类效果就强于后面的,但是总不能简简单单凭借感觉判断好坏,因此仍然要引入一些更为正式的指标. 首先将分类结果进行一个再分类:

实际为正例实际为反例分类为正例TP TP TPFP FP FP分类为反例FN FN FNTN TN TN

​ROCROCROC 曲线使用的两个指标就是真阳性率TPRTPRTPR 和假阳性率FPRFPRFPR: T P R = TPTP+FN,F P R = FPFP+TNTPR=\frac{TP}{TP+FN},\qquad FPR=\frac{FP}{FP+TN}TPR=TP+FNTP​,FPR=FP+TNFP​ 二者更直观的表述为正例查全率和反例查错率.ROCROCROC 曲线以TPRTPRTPR 为纵轴,FPRFPRFPR 为横轴. 理论上绘制ROCROCROC 曲线应当计算每种阈值下的TPRTPRTPR 和FPRFPRFPR 再绘制图线,但这样操作过于复杂,下面考虑一种更为简单的绘制方式:

​​       现有一个学习得到的分类函数f(x)f(x)f(x) 以及一组样本{(x i ,y i )}i = 1m \{(x_i,y_i)\}_{i=1}^{m}{(xi​,yi​)}i=1m​,其中有正例m + m^+m+ 个,反例m − m^-m− 个. 首先我们需要根据f(x i )f(x_i)f(xi​) 的取值将样本点排序(我们希望得到的排序是和按y i y_iyi​ 排序的顺序一致),然后按照下述操作绘制图线:

将分类阈值调到最大,使得所有的样例均被划分为反例,此时 T P R = F P R = 0TPR=FPR=0 TPR=FPR=0,在图中标记点 ( 0 , 0 ) .(0,0). (0,0).

调整(减小)分类阈值,一次“放入”一个“正例”,记上次标记的点为 ( x , y )(x,y) (x,y),若这一次放入的“正例”的真实情况也为正例,则这次标记 ( x , y +1m+ )(x,y+\frac{1}{m^+}) (x,y+m+1​);若为真实情况为反例,则标记 ( x +1m− , y )(x+\frac{1}{m^-},y) (x+m−1​,y).

重复步骤2直至将所有的样例全部分为正例,此时 T P R = F P R = 1TPR=FPR=1 TPR=FPR=1,标记 ( 1 , 1 )(1,1) (1,1).

连接相邻的标记点.

特别地,如果我们遇到了同分区间,就可以直接标记同分区间起点和终点对应的点,然后将这两点相连

这样我们就可以较为方便的绘制出ROCROCROC 曲线图了.

AUCAUCAUC

​​       接下来我们要评估不同的分类器的分类效果,实际上就是分析分类函数f(x)f(x)f(x) 对样本的排序的正确行,考虑下面的ROCROCROC 曲线图:

在这里插入图片描述

​​       我们可以看到很多条曲线,最靠近左上角的粉色曲线的分类效果显然强于最靠近右下角的紫色曲线,但是如何分析那些具有交错点的曲线的好坏呢?可以考虑引入另一种量度AUCAUCAUC(Area UnderROCROCROC Curve),即ROCROCROC 曲线下方的面积大小.

​​       假设某条ROCROCROC 曲线获得的所有标记点为(x 1 ,y 1 ),(x 2 ,y 2 ),...,(x m ,y m )(x_1,y_1),(x_2,y_2),...,(x_m,y_m)(x1​,y1​),(x2​,y2​),...,(xm​,ym​),则AUCAUCAUC 计算公式如下: A U C =1 2 ∑i=1m−1(xi+1−x i) (yi+1+y i) AUC=\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)(y_{i+1}+y_i)AUC=21​i=1∑m−1​(xi+1​−xi​)(yi+1​+yi​) ​​       ​然后周志华老师给出了一个排序损失表达式lr a n kl_{rank}lrank​:lrank=1m+m− ∑x+∈D+ ∑x−∈D−( ∐ ( f (x +) < f (x −) ) +1 2∐ ( f (x +) = f (x −) ) ) l_{rank}=\frac{1}{m^+m^-}\sum_{x^+\in D^+}\sum_{x^-\in D^-}(\coprod(f(x^+)

相关推荐: