计算标签和预测之间的交叉熵度量。
继承自:MeanMetricWrapper
、Mean
、Metric
、Layer
、Module
用法
tf.keras.metrics.CategoricalCrossentropy(
name='categorical_crossentropy', dtype=None, from_logits=False,
label_smoothing=0
)
参数
-
name
(可选)指标实例的字符串名称。 -
dtype
(可选)度量结果的数据类型。 -
from_logits
(可选)输出是否预期为 logits 张量。默认情况下,我们认为输出编码概率分布。 -
label_smoothing
(可选)在 [0, 1] 中浮点数。当 > 0 时,标签值会被平滑,这意味着标签值的置信度会放松。例如label_smoothing=0.2
表示我们将为标签0
使用值0.1
,为标签1
使用0.9
"
这是当有多个标签类别(2 个或更多)时要使用的交叉熵度量类别。在这里,我们假设标签以one_hot
表示形式给出。例如,当标签值为 [2, 0, 1] 时,y_true
= [[0, 0, 1], [1, 0, 0], [0, 1, 0]]。
单机使用:
# EPSILON = 1e-7, y = y_true, y` = y_pred
# y` = clip_ops.clip_by_value(output, EPSILON, 1. - EPSILON)
# y` = [[0.05, 0.95, EPSILON], [0.1, 0.8, 0.1]]
# xent = -sum(y * log(y'), axis = -1)
# = -((log 0.95), (log 0.1))
# = [0.051, 2.302]
# Reduced xent = (0.051 + 2.302) / 2
m = tf.keras.metrics.CategoricalCrossentropy()
m.update_state([[0, 1, 0], [0, 0, 1]],
[[0.05, 0.95, 0], [0.1, 0.8, 0.1]])
m.result().numpy()
1.1769392
m.reset_state()
m.update_state([[0, 1, 0], [0, 0, 1]],
[[0.05, 0.95, 0], [0.1, 0.8, 0.1]],
sample_weight=tf.constant([0.3, 0.7]))
m.result().numpy()
1.6271976
compile()
API 的用法:
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.CategoricalCrossentropy()])
相关用法
- Python tf.keras.metrics.CategoricalCrossentropy.merge_state用法及代码示例
- Python tf.keras.metrics.CategoricalHinge.merge_state用法及代码示例
- Python tf.keras.metrics.CategoricalAccuracy.merge_state用法及代码示例
- Python tf.keras.metrics.CategoricalAccuracy用法及代码示例
- Python tf.keras.metrics.CategoricalHinge用法及代码示例
- Python tf.keras.metrics.CosineSimilarity.merge_state用法及代码示例
- Python tf.keras.metrics.CosineSimilarity用法及代码示例
- Python tf.keras.metrics.Mean.merge_state用法及代码示例
- Python tf.keras.metrics.Hinge用法及代码示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代码示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代码示例
- Python tf.keras.metrics.SparseCategoricalCrossentropy.merge_state用法及代码示例
- Python tf.keras.metrics.sparse_categorical_accuracy用法及代码示例
- Python tf.keras.metrics.FalseNegatives用法及代码示例
- Python tf.keras.metrics.TrueNegatives用法及代码示例
- Python tf.keras.metrics.RecallAtPrecision.merge_state用法及代码示例
- Python tf.keras.metrics.SpecificityAtSensitivity用法及代码示例
- Python tf.keras.metrics.Mean用法及代码示例
- Python tf.keras.metrics.poisson用法及代码示例
- Python tf.keras.metrics.LogCoshError用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.metrics.CategoricalCrossentropy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。