内容纲要

欢迎转载,作者:Ling,注明出处:深度学习:原理简明教程10-深度学习:评估函数

 

评估函数(metrics):主要用于训练或者测试时,评估模型的好坏。

1)评估时机。正确做法应该在每个epoch结束后进行评估,比如precision,recall,F1这些值,而有些框架如keras是在每个mini-batch就进行评估,好消息是未来会引入global metrics,在每个epoch评估。

2)keras框架的评估函数不全,目前在改进,scikit learn的全。

 

常见的评估函数有

1)和损失函数相同的函数:这部分函数在深度学习:原理简明教程09-深度学习:损失函数已经介绍过,这里不再详述:

mean_squared_error

mean_absolute_error

mean_absolute_percentage_error

mean_squared_logarithmic_error

squared_hinge

hinge

categorical_hinge

logcosh

binary_crossentropy

categorical_crossentropy

sparse_categorical_crossentropy

kullback_leibler_divergence

poisson

cosine_proximity

 

2)和损失函数不同的函数:

binary_accuracy

categorical_accuracy

sparse_categorical_accuracy

top_k_categorical_accuracy

sparse_top_k_categorical_accuracy

 

3)Global的metrics以后补:(等keras后续版本发布再补上)

实际上用得多的还有:

precision

recall

f-score

AUC

 

binary_accuracy:

公式:

dl_10_001

 

categorical_accuracy:

公式:

dl_10_002

特点:

输入的是one-hot

 

sparse_categorical_accuracy:

公式:

dl_10_003

特点:

sparse主要指y非one-hot,是id

 

top_k_categorical_accuracy:

公式:

dl_10_004

 

sparse_top_k_categorical_accuracy:

公式:

dl_10_005

特点:

sparse主要指y非one-hot,是id

 

 

补充两个材料:可以用其补充keras metrics

1)https://github.com/fchollet/keras/issues/8607

2)http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics