损失函数除了作为模型训练时候的优化目标,也能够作为模型好坏的一种评价指标。
但评估指标不一定可以作为损失函数,例如AUC,Accuracy,Precision。因为评估指标不要求连续可导,而损失函数通常要求连续可导。
编译模型时(compile阶段),可以通过列表形式指定多个评估指标。
如果有需要,也可以自定义评估指标。
在tensorflow中,评估指标都被封装在了tf.keras.metrics下
1、常见的内置评估指标
- MeanSquaredError(平方差误差,用于回归,可以简写为MSE,函数形式为mse)
- MeanAbsoluteError (绝对值误差,用于回归,可以简写为MAE,函数形式为mae)
- MeanAbsolutePercentageError (平均百分比误差,用于回归,可以简写为MAPE,函数形式为mape)
- RootMeanSquaredError (均方根误差,用于回归)
- Accuracy (准确率,用于分类,可以用字符串”Accuracy”表示,Accuracy=(TP+TN)/(TP+TN+FP+FN),要求y_true和y_pred都为类别序号编码)
- Precision (精确率,用于二分类,Precision = TP/(TP+FP))
- Recall (召回率,用于二分类,Recall = TP/(TP+FN))
- TruePositives (真正例,用于二分类)
- TrueNegatives (真负例,用于二分类)
- FalsePositives (假正例,用于二分类)
- FalseNegatives (假负例,用于二分类)
- AUC(ROC曲线(TPR vs FPR)下的面积,用于二分类,直观解释为随机抽取一个正样本和一个负样本,正样本的预测值大于负样本的概率)
- CategoricalAccuracy(分类准确率,与Accuracy含义相同,要求y_true(label)为onehot编码形式)
- SparseCategoricalAccuracy (稀疏分类准确率,与Accuracy含义相同,要求y_true(label)为序号编码形式)
- MeanIoU (Intersection-Over-Union,常用于图像分割)
- TopKCategoricalAccuracy (多分类TopK准确率,要求y_true(label)为onehot编码形式)
- SparseTopKCategoricalAccuracy (稀疏多分类TopK准确率,要求y_true(label)为序号编码形式)
- Mean (平均值)
- Sum (求和)
