课本给出对于排序损失的定义后,并没有详细论述为何就等同于ROC曲线上的面积,希望下面的内容对你理解这部分有所帮助!
用m+个正例与m-反例,由于将分类阈值依次设为每个样本的预测值,即每次都猜测为正例,因此结果不是真正例就是假正例。
若为真正例,则上移1/m+单位;
若为假正例,则右移1/m-单位。
这样恰恰说明了为什么横轴就表示FPR,纵轴就表示TPR。
经过(m+ add m-)次的猜测,就得到从(0,0)到(1,1)的折线ROC。
对每个点作关于x,y轴的直线,将该区域分成 m+ mulpitly m- 块小矩形。
研究ROC曲线之上面积就等同于计算有多少个小矩形。
假设有以下按预测值排序的测试用例,由于排序的原因,会有以下4种情况。
(0.9,0.8,0.7,0.5,0.5,0.4,0.3,0.3,0.2,0,1)
(0.9,0.8,0.7,0.5,0.5,0.4,0.3,0.3,0.2,0,1)
(0.9,0.8,0.7,0.5,0.5,0.4,0.3,0.3,0.2,0,1)
(0.9,0.8,0.7,0.5,0.5,0.4,0.3,0.3,0.2,0,1)
根据绘制的过程获得4条类似但不同的ROC线。
可以看到排序会导致图中灰色区域的误差,
这也说明为什么需要考虑f(x+)=f(x-)的情况,每一对正反例的面积期望为1/2的矩形面积。
ROC曲线上方的面积等于m-块底为1/m-,高为1/m+ *(剩余正例数),考虑排序带来的影响。
通过比较每一对正反例的预测值,得到每一个反例后正例的数量。
因此AUC=1-lrank得证。