记录从准研一假期自学PYTHON的全过程day18

107 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情

也是暑假自学python的第18天

今天对深度学习进行学习:

术语

一、binarized predictions二值化预测

对于二值化操作,一般有两种方法:

(1)确定型/决定性二值化(Deterministic Binarization),也就是设定一个阈值,当输入比阈值大,设为1,否则设为-1。这个二值化函数很容易实现,实际工作中表现也不错;就是一个符号函数。

(2)随机型二值化(Stochastic Binarization),这个是基于概率来进行二值化处理的,只有当概率等于1时,设为1,其他情况设为0。概率是由hard sigmoid函数计算得到。尽管随机型二值化比确定型二值化更符合实际情况,但是由于在量化时生成随机位,不利于硬件化。随机性二值化实现比较难,所以一般我们不用它。

二、AUC ± 95%CI

confidence interval(CI)======95%的置信区间

1.AUC的概念(具体求法见3.)

模型评估指标,AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积。

显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。

2.AUC涉及到的几个变量

(1)混淆矩阵(ROC的计算需要借助到)

假设,我们有一个任务:给定一些患者的样本,构建一个模型来预测肿瘤是不是恶性的。在这里,肿瘤要么良性,要么恶性,所以这是一个典型的二分类问题。

假设我们用y=1表示肿瘤是良性,y=0表示肿瘤是恶性。则我们可以制作如下图的表格:

image.png

TP表示预测为良性,而实际也是良性的样例数;
FN表示预测为恶性,而实际是良性的样例数;
FP表示预测为良性,而实际是恶性的样例数;
TN表示预测为恶性,而实际也是恶性的样例数;

所以,上面这四个数就形成了一个矩阵,称为混淆矩阵

(2)FPR/TPR

image.png
FPR表示,在所有的恶性肿瘤中,被预测成良性的比例。称为伪阳性率。伪阳性率告诉我们,随机拿一个恶性的肿瘤样本,有多大概率会将其预测成良性肿瘤。显然我们会希望FPR越小越好。

image.png
TPR表示,在所有良性肿瘤中,被预测为良性的比例。称为真阳性率。真阳性率告诉我们,随机拿一个良性的肿瘤样本时,有多大的概率会将其预测为良性肿瘤。显然我们会希望TPR越大越好。
如果以FPR为横坐标,TPR为纵坐标,就可以得到下面的坐标系:

image.png
纵坐标:TPR (预测为正,实际为正 占 所有实际为正 比例)
横坐标:FPR (预测为正,实际为负 占 所有实际为负 比例)
可能看到这里,你会觉得有点奇怪,用FPR和TPR分别作横纵坐标有什么用呢?我们先来考察几个特殊的点。

  • 点(0,1),即FPR=0,TPR=1。FPR=0说明FP=0,也就是说,没有假正例。TPR=1说明,FN=0,也就是说没有假反例。这不就是最完美的情况吗?所有的预测都正确了。良性的肿瘤都预测为良性,恶性肿瘤都预测为恶性,分类百分之百正确。这也体现了FPR 与TPR的意义。就像前面说的我们本来就希望FPR越小越好,TPR越大越好。
  • 点(1,0),即FPR=1,TPR=0。这个点与上面那个点形成对比,刚好相反。所以这是最糟糕的情况。所有的预测都预测错了。
  • 点(0,0),即FPR=0,TPR=0。也就是FP=0,TP=0。所以这个点的意义是所有的样本都预测为恶性肿瘤。