《Machine Learning》 学习笔记系列(2)
ROC与AUC
ROC(Receiver Operating Characteristic)全称是“受试者工作特征”,来源于“二战”中用于敌机检测的雷达信号分析技术,现在被引入了机器学习领域。
学习器对测试样本的评估结果一般为一个实值或概率,设定一个阈值,大于阈值为正例,小于阈值为负例,因此这个实值的好坏直接决定了学习器的泛化性能,若将这些实值排序,则排序的好坏决定了学习器的性能高低。ROC曲线正是从这个角度出发来研究学习器的泛化性能。
ROC曲线的纵轴是“真正例率(True Positive Rate简称为TPR)”,横轴是“假正利率”(False Positive Rate 简称为FPR)
![76b704d7f08af2ec0866f340863b9833.png](https://i-blog.csdnimg.cn/blog_migrate/1f88b46d52fd6fef88d3d110931fc25f.png)
AUC(Area Uder ROC Curve):其实就是ROC曲线下的面积
进行模型的性能比较时,若一个学习器A的ROC曲线被另一个学习器B的ROC曲线完全包住,则称B的性能优于A。若A和B的曲线发生了交叉,则谁的曲线下的面积大,谁的性能更优。
![1f1e0a1a5882fd0dfc16d5fa3cf445b1.png](https://i-blog.csdnimg.cn/blog_migrate/35ac50e88c55e0b7f1829fb78c17a099.png)
代价敏感错误率与代价曲线
在现实生活中,将正例预测成假例与将假例预测成正例的代价常常是不一样的,例如:将无疾病–>有疾病只是增多了检查,但有疾病–>无疾病却是增加了生命危险。
为了权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”.
以二分类为例,由此引入了“代价矩阵”(cost matrix)。
![31dab51da3e64c34f2ec6408582be348.png](https://i-blog.csdnimg.cn/blog_migrate/d8a4d789efff9de4f2b4b09681dcd5b0.png)
在非均等错误代价下,我们希望的是最小化“总体代价”,这样“代价敏感”的错误率(2.5.1节介绍)为:
![4c50a5fd6a7e53641f743f23900640e8.png](https://i-blog.csdnimg.cn/blog_migrate/dbef7b580cb765d01c15908c39dc9c54.png)
同样对于ROC曲线,在非均等错误代价下,演变成了“代价曲线”,代价曲线横轴是取值在[0,1]之间的正例概率代价,式中p表示正例的概率,纵轴是取值为[0,1]的归一化代价。
![77c18b398aec8abc2a94b69510dd38c2.png](https://i-blog.csdnimg.cn/blog_migrate/1365635865a6d702202ffe65c0662d0e.png)
代价曲线的绘制很简单:设ROC曲线上一点的坐标为(TPR,FPR) ,则可相应计算出FNR
FNR = 1 - TPR,是假反例率。
然后在代价平面上绘制一条从(0,FPR) 到(1,FNR) 的线段,线段下的面积即表示了该条件下的期望总体代价;如此将ROC 曲线土的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价,如图所示:
![7b3e3fb147553b234b00df01afb3ec40.png](https://i-blog.csdnimg.cn/blog_migrate/346f1a66b535a69ca1252d34c84ac173.png)
我的疑问
这个横纵坐标的意义是不是弄错了还是下面曲线的描述错了,咱也不敢问,咱也不敢说啊。
![5800661078796c5a6863841cfb5546e1.png](https://i-blog.csdnimg.cn/blog_migrate/c226902f57b62d54232be370682005f6.png)
![0af1ffe1f03367260c65eadd3e4a51bb.png](https://i-blog.csdnimg.cn/blog_migrate/8d1961c95f7588ab0ab5cc7470207318.png)
![aee5f425fdb1c16a08a7f2a17f0dc407.png](https://i-blog.csdnimg.cn/blog_migrate/795d99ffccbe4cc01e814e6e286b2b28.png)