在处理张量流中的多类多标签分类时如何计算精度?



我正在使用 https://github.com/Microsoft/FERPlus 的FER2013Plus数据集,其中包含fer2013new.csv文件。此文件包含数据集中每个图像的标签。标签上的一个例子可以是:

(4, 0, 0, 2, 1, 0, 0, 3(

其中每个维度都是不同的情感。最后,在他们的论文 https://arxiv.org/pdf/1608.01041.pdf 中,他们将标签分布转换为概率=>新标签将变为

(0.5, 0, 0,0.25, 0.125, 0, 0, 0.375(

换句话说,图像中的人快乐的概率为0.5,悲伤的概率为0.25,依此类推......概率之和为 1。

现在,在训练时,我使用tf.nn.softmax_cross_entropy_with_logits_v2来计算我的预测和标签之间的损失。现在如何计算精度?

任何帮助都非常感谢!!

以下是论文的摘录:

"我们把大多数人的情感作为单一的 情绪标签,我们衡量预测的准确性 大多数人的情绪。

他们使用的是离散分类任务。因此,您只需要在对数上取tf.argmax()即可获得最高概率,然后将其与标签的tf.argmax()进行比较。

例如,如果你的标签是(0.5, 0, 0, 0.25, 0.125, 0, 0, 0.375),那么快乐是多数情绪,所以你要检查你的logits是否也快乐是多数情绪。

最新更新