【发布时间】:2020-08-16 19:57:21
【问题描述】:
我想知道 TensorFlow/Keras 中的准确度指标如何计算给定输入是否与预期预测匹配,或者换句话说,它如何确定网络的预测数量。
示例 1:
输出:[0, 0, 0.6],预期输出:[0, 0, 1]
我假设 0.6 只是四舍五入到 1,对吗?或者它被视为唯一大于 0.5 的数字,因此它是预测数字。
但是,如果是这样,那么请考虑 示例 2:
输出:[0.6, 2, 0.1],预期输出:[1, 0, 0]
我知道,softmax 无法实现这样的输出,这将是这里的默认选择。但它可能与其他激活函数一起使用。
现在这里只是“提取”并作为预测的最大数字吗?所以2,什么是错误的预测。
示例 3:
输出:[0.1, 0, 0.2],预期输出:[0, 0, 1]
由于输出中的每个数字都小于 0.5,我猜精度计算器会将此输出视为 [0, 0, 0],因此也不是正确的预测。对吗?
如果我之前的假设是正确的,那么规则如下?
每个小于0.5的数字在预测方面都是0,从大于0.5或等于0.5的数字中我选择最大的一个。然后最大的代表预测的类别。
如果是这样,那么准确率只能用于只有一个对应正确类别的分类(例如,不能有像 [1, 0, 1] 这样的预期输出)?
【问题讨论】:
标签: python tensorflow machine-learning keras