計算標簽和預測之間的交叉熵度量。
繼承自: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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。