雷达里走出的ROC

ROC

Radar Operations Center(雷达操作中心)
receiver operating characteristic curve(接收者操作特征曲线)
或者叫受试者工作特征曲线


ROC与雷达的联系

仔细看ROC英文第一个单词“receiver”,就会理解最初它的翻译是“接收者操作特征曲线”。首先是由第二次世界大战中的电子工程师和雷达工程师发明并最先使用的。
那时雷达兵(信号接收者)的任务就是每天盯着雷达显示器,观察屏幕上是否出现代表敌方飞行物的光点。显示屏上出现光点有两种可能性,一种可能是雷达探测到了敌机的行踪,另一种可能是有鸟类或其他非军事飞行物从雷达探测区域经过。在第一种情况下,如果雷达兵及时发出警报,通知高炮部队或者空军拦截,就是“命中”,而如果这时雷达兵没有把显示屏上的光点判断为信号,就是“漏报”;在后一种情况下如果雷达兵却把它当作敌机(信号)看待,就是“虚报”,如果这时雷达兵正确地把它判断为其他飞行物(噪音),那就是“正确排除”。
我们都能理解,人不犯错误几乎是不可能的,更何况是通过简单的亮点判断敌机,为了评估雷达兵判断的正确与否,我们可以列出如下四格表:

雷达兵的判断实体目标
敌机飞鸟
是敌机肯定虚警
是飞鸟漏报正确排除

针对此四格表,我们可能计算击中率、虚报率、漏报率、正确排除率。
如何找到一个最佳的临界点使得“击中率”和“正确排除率”同时达到最佳效果?我们都希望理论上达到100%的“击中率”和“正确排除率”,那么谁最接近这个点(ROC曲线左上角顶点),谁的工作业绩也就最好。


ROC曲线首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。
之后很快就被引入了心理学来进行信号的知觉检测。
数十年来,ROC分析被用于医学、无线电、生物学、犯罪心理学领域中,而且最近在机器学习(machine learning)和数据挖掘(data mining)领域也得到了很好的发展。


ROC在医学诊断上的应用

某种检测结果真实情况
患病健康
是阳性真阳性假阳性
是阴性假阴性真阴性

这个四格表衍生的各种指标:真阳性率(敏感度)、假阳性率、假阴性率、真阴性率(特异度)等等都是评估替代检验方法鉴别患病和无病的能力。通常情况下我们以敏感度为纵坐标,1-特异度为横坐标绘制曲线,制作ROC曲线。


二元分类模型

分类模型(又称分类器,或诊断)是将一个实例映射到一个特定类的过程。
ROC分析的是二元分类模型,也就是输出结果只有两种类别的模型,例如:(有病/没病)(垃圾邮件/非垃圾邮件)(实体/非实体)。
当讯号侦测(或变数测量)的结果是一个连续值时,类与类的边界必须用一个阈值(threshold)来界定。
在雷达内部也存在许多二元分模型,比如在终端P显显示点迹,测出的回波强度值是连续的实数(比如数字化为0~255区间),以160为阈值,阈值以上便诊断为需显示的点迹,阈值未满者诊断为干净区。
二元分类模型的个案预测有四种结局:

  • 真阳性(TP):诊断为有,实际上也有实体目标。(雷达正常)
  • 伪阳性(FP):诊断为有,实际却没有实体目标。(雷达虚警) 真阴性(TN):诊断为没有,实际上也没有实体目标。(雷达正常)
  • 伪阴性(FN):诊断为没有,实际却有实体目标。(雷达发现概率低)

ROC意义

  • 用于:
    1. 选择最佳的信号侦测模型
    2. 在同一模型中设定最佳阈值
  • 特性:在做决策时,ROC分析不受“成本/效益”的影响,给出客观中立的建议。

ROC相关术语和概率

  • 阳性(P, positive)
  • 阴性(N, Negative)
  • 真阳性(TP, true positive),正确的肯定,又称命中(hit)
  • 真阴性(TN, true negative),正确的否定,又称正确拒绝(correct rejection)
  • 伪阳性(FP, false positive),错误的肯定,又称假警报(false alarm)、第一型错误
  • 伪阴性(FN, false negative),错误的否定,又称未命中(miss)、第二型错误
  • 真阳性率(TPR, true positive rate),又称命中率(hit rate),TPR=TP/P=TP/(TP+FN)
  • 伪阳性率(FPR, false positive tate),又称错误命中率,假警报率(false alarm rate),FPR=FP/N=FP/(FP+TN)
  • 准确度(ACC, accuracy),ACC=(TP+TN)/(P+N),即(真阳性+真阴性)/总样本数
  • 真阴性率(TNR),又称特异度(SPC, specificity),SPC=TN/N=TN/(FP+TN)=1-FPR
  • 阳性预测值(PPV),PPV=TP/(TP+FP)
  • 阴性预测值(NPV),NPV=TN/(TN+FN)

ROC空间

ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。
TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率。
FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率。
给定一个二元分类模型和它的阈值,就能从所有样本的(阳性/阴性)真实值和预测值计算出一个 (X=FPR, Y=TPR) 座标点。
从 (0, 0) 到 (1,1) 的对角线将ROC空间划分为左上/右下两个区域,在这条线的以上的点代表了一个好的分类结果(胜过随机分类),而在这条线以下的点代表了差的分类结果(劣于随机分类)。


ROC曲线

ROC空间里的单点,是给定分类模型且给定阈值后得出的。但同一个二元分类模型的阈值可能设定为高或低,每种阈值的设定会得出不同的FPR和TPR。将同一模型每个阈值 的 (FPR, TPR) 座标都画在ROC空间里,就成为特定模型的ROC曲线。
ROC

习胡点江山

犹记小时候,老师语重心长地教导我说少看动画片,多看看新闻联播,于是,中华大地又多了一个骂新闻联播的人。。
近日,看到“假和谐”不如快意恩仇一文(载于莜麦琪的博客),又激起我愤青习气,不免想指点江山叨叨几句。

其实挺巧,这两天我也有过再回首胡总和谐社会提法的闪念。其实这个和谐不能理解为隐忍什么的,是讲求公平法治下的道德提升,不过现在习总的种种打虎说明了:空喊法治并赶不走老虎。我们应该清醒的看到腐败已然成风,道德加速滑坡的现实情境,望顶而不顾左右只是望梅止渴,追求和谐还要踏实地走脚下扬清激浊的坎坷路。

批量替换日志中图片URL

我原来在七牛云申请了个dn-xcyme.qbox.me的二级域作图片URL。昨天最终被七牛诱导我成他们qnssl.com域。于是我就无事生非地需要修改我博客之前所有图片的URL。
这么多篇,当然不能一个个修改啦,于是请出mySQL的REPLACE语句,一招制胜。
mysql-replace

批量替换日志中字符串@sql
UPDATE 'posts' SET 'post_content'= REPLACE('post_content', "http:\/\/dn-xcyme\.qbox\.me\/", "http:\/\/oc09e473h\.qnssl\.com\/")