Skip to contents

This loss can be used for regression with \(y \in \mathrm{R}\).

Format

S4 object.

Arguments

offset

(numeric(1) | matrix())
Numerical value or matrix to set a custom offset. If used, this value is returned instead of the loss optimal initialization.

delta

(numeric(1))
Numerical value greater than 0 to specify the interval around 0 for the quadratic error measuring (default delta = 1).

Details

Loss Function: $$ L(y, f(x)) = 0.5(y - f(x))^2 \ \ \mathrm{if} \ \ |y - f(x)| < d $$ $$ L(y, f(x)) = d|y - f(x)| - 0.5d^2 \ \ \mathrm{otherwise} $$ Gradient: $$ \frac{\delta}{\delta f(x)}\ L(y, f(x)) = f(x) - y \ \ \mathrm{if} \ \ |y - f(x)| < d $$ $$ \frac{\delta}{\delta f(x)}\ L(y, f(x)) = -d\mathrm{sign}(y - f(x)) \ \ \mathrm{otherwise} $$

Usage


LossHuber$new()
LossHuber$new(delta)
LossHuber$new(offset, delta)

Inherited methods from Loss

  • $loss(): matrix(), matrix() -> matrix()

  • $gradient(): matrix(), matrix() -> matrix()

  • $constInit(): matrix() -> matrix()

  • $calculatePseudoResiduals(): matrix(), matrix() -> matrix()

  • $getLossType(): () -> character(1)

Examples


# Create new loss object:
huber_loss = LossHuber$new()
huber_loss
#> LossHuber: L(y,x) = if (y - f(x) < d) { 0.5(y - f(x))^2 } else { d|y - f(x)| - 0.5d^2 }
#> 
#>   with delta d = 1