在給定 log_input
的情況下計算對數泊鬆損失。
用法
tf.nn.log_poisson_loss(
targets, log_input, compute_full_loss=False, name=None
)
參數
-
targets
與log_input
類型和形狀相同的Tensor
。 -
log_input
Tensor
類型為float32
或float64
。 -
compute_full_loss
是否計算全部損失。如果為 false,則刪除常數項以進行更有效的優化。 -
name
操作的名稱(可選)。
返回
-
與
log_input
形狀相同的Tensor
,具有組件邏輯損失。
拋出
-
ValueError
如果log_input
和targets
的形狀不同。
在假設目標具有泊鬆分布的情況下,給出預測和目標之間的log-likelihood 損失。警告:默認情況下,這不是確切的損失,而是損失減去常數項 [log(z!)]。這對優化沒有影響,但在相對損失比較中效果不佳。要計算對數階乘項的近似值,請指定 compute_full_loss=True 以啟用斯特林近似。
為簡潔起見,讓 c = log(x) = log_input
, z = targets
。對數泊鬆損失為
-log(exp(-x) * (x^z) / z!)
= -log(exp(-x) * (x^z)) + log(z!)
~ -log(exp(-x)) - log(x^z) [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
[ Note the second term is the Stirling's Approximation for log(z!).
It is invariant to x and does not affect optimization, though
important for correct relative loss comparisons. It is only
computed when compute_full_loss == True. ]
= x - z * log(x) [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
= exp(c) - z * c [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
相關用法
- Python tf.nn.log_softmax用法及代碼示例
- Python tf.nn.local_response_normalization用法及代碼示例
- Python tf.nn.l2_loss用法及代碼示例
- Python tf.nn.embedding_lookup_sparse用法及代碼示例
- Python tf.nn.RNNCellResidualWrapper.set_weights用法及代碼示例
- Python tf.nn.dropout用法及代碼示例
- Python tf.nn.gelu用法及代碼示例
- Python tf.nn.RNNCellDeviceWrapper.set_weights用法及代碼示例
- Python tf.nn.embedding_lookup用法及代碼示例
- Python tf.nn.RNNCellDeviceWrapper.get_weights用法及代碼示例
- Python tf.nn.scale_regularization_loss用法及代碼示例
- Python tf.nn.RNNCellResidualWrapper.add_loss用法及代碼示例
- Python tf.nn.max_pool用法及代碼示例
- Python tf.nn.RNNCellDropoutWrapper.set_weights用法及代碼示例
- Python tf.nn.weighted_cross_entropy_with_logits用法及代碼示例
- Python tf.nn.ctc_greedy_decoder用法及代碼示例
- Python tf.nn.dilation2d用法及代碼示例
- Python tf.nn.RNNCellResidualWrapper.get_weights用法及代碼示例
- Python tf.nn.compute_average_loss用法及代碼示例
- Python tf.nn.RNNCellDeviceWrapper用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.nn.log_poisson_loss。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。