模型评估
模型评估主要是针对已经训练好的模型,评判模型的泛化能力。对不同的超参设置,得到不同的训练好的模型参数。通过评估模型在未知的数据上性能,得到最佳的模型参数。
AUC&ROC
AUC是指ROC曲线下方的区域(the area under ROC curve),衡量一个模型能够区分类别的概率。
x轴:错误预测/负样本数 (给的负样本,但是预测成了正类)
y轴:正确预测/正样本数(给的正样本,预测成了正类)
选择一个θ值,对于预测的概率判断 yhat >= θ?,这样就知道预测正确与否。取不同的θ值就会得到ROC曲线。
Latency
模型计算时间。eg.广告应该与其他广告同时呈现给用户
PSNR峰值信噪比
PSNR(Peak signal to noise ratio)为峰值信噪比。通常在经过影像压缩之后,输出的影像都会在某种程度与原始影像不同。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来衡量某个处理程序能否令人满意。它是原图像与被处理图像之间的均方误差相对于(2^n-1)^2的对数值(信号最大值的平方,n是每个采样值的比特数),它的单位是dB。
均方误差
X为当前图像,Y为参考图像,按照以上公式即可得到均方误差。
PSNR
n为每像素的比特数,一般是8,因为阶数一般是256个(0 ~ 255),可以看出主要影响PSNR数值的是MSE这个均方误差。PSNR越大表示失真越小,MSE越小,两张图片越靠近。
SSIM结构相似性
SSIM(Structural similarity index)基于样本X和Y之间三个比较衡量:亮度 (luminance)、对比度 (contrast) 、结构 (structure)
c1,c2,c3为常数避免除零,k1=0.01, k2 = 0.03为常用取值。ssim公式如下
当
ssim一般使用一个N*N的窗口,分别求出对应的分数之后做平均值作为全局评分
协方差
有X,Y两个变量,每个时刻的 “X值与其均值之差”乘以 ”Y值与其均值之差“得到一个乘积,然后对每个时刻的成绩求和并求期望。主要目的是判断两个变量在变化过程中是同向变化还是反向变化。同向的话协方差是正的,反向的话协方差是负数,协方差数值越大同向程度越大,反之亦然。公式如下:
FID距离得分
FID(Fréchet Inception Distance score),FID计算了真实图像和假图片在特征层面的距离。公式如下:
μ:经验均值 Σ:经验协方差 Tr:矩阵的迹 r:真实数据集 g:生成数据集
对目标数据集的N张图片用InceptionV3生成 N*2048向量,取平均值获得μr
对生成数据集的M张图片用InceptionV3生成M*2048向量,取平均值获得μg
通过μr和μg获得Σr和Σg计算FID
IoU交并比
IoU(Intersection over Union)交并比,顾名思义,交集和并集的比例,即:
对于分割领域。二值化图像的样子,设定黑色部分为0,白色部分为1。
1 | # 交集 |
对于多类语义分割领域
1 | def getIoUScore(input: torch.Tensor, target: torch.Tensor, class_num: int): |