Warning: This project is deprecated. TensorFlow Addons has stopped development,
The project will only be providing minimal maintenance releases until May 2024. See the full
announcement here or on
github.
tfa.losses.pinball_loss
Computes the pinball loss between y_true
and y_pred
.
@tf.function
tfa.losses.pinball_loss(
y_true: tfa.types.TensorLike
,
y_pred: tfa.types.TensorLike
,
tau: tfa.types.FloatTensorLike
= 0.5
) -> tf.Tensor
loss = maximum(tau * (y_true - y_pred), (tau - 1) * (y_true - y_pred))
In the context of regression this loss yields an estimator of the tau
conditional quantile.
See: https://en.wikipedia.org/wiki/Quantile_regression
Usage:
loss = tfa.losses.pinball_loss([0., 0., 1., 1.],
[1., 1., 1., 0.], tau=.1)
loss
<tf.Tensor: shape=(), dtype=float32, numpy=0.475>
Args |
y_true
|
Ground truth values. shape = [batch_size, d0, .. dN]
|
y_pred
|
The predicted values. shape = [batch_size, d0, .. dN]
|
tau
|
(Optional) Float in [0, 1] or a tensor taking values in [0, 1] and
shape = [d0,..., dn] . It defines the slope of the pinball loss. In
the context of quantile regression, the value of tau determines the
conditional quantile level. When tau = 0.5, this amounts to l1
regression, an estimator of the conditional median (0.5 quantile).
|
Returns |
pinball_loss
|
1-D float Tensor with shape [batch_size].
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-05-25 UTC.
[null,null,["Last updated 2023-05-25 UTC."],[],[]]