Loss

ReHLine supports a variety of convex PLQ loss functions for both classification and regression tasks.

Usage Pattern

Define a loss function using a dictionary:

# name (str): name of the custom loss function
# loss_kwargs: more keys and values for loss parameters
loss = {'name': <loss_name>, **loss_kwargs}

Classification

SVM (Hinge Loss)

Standard Support Vector Machine loss [1].

  • Names: 'hinge', 'svm', 'SVM'

  • Parameters: None

loss = {'name': 'SVM'}

Related Example

Smooth SVM

A smoothed version of the Hinge loss (using ReHU) that is differentiable everywhere.

  • Names: 'sSVM', 'smooth SVM', 'smooth hinge'

  • Parameters: None

loss = {'name': 'sSVM'}

Related Example

Squared SVM

Squared Hinge loss.

  • Names: 'squared SVM', 'squared svm', 'squared hinge'

  • Parameters: None

loss = {'name': 'squared SVM'}

Related Example

Regression

Quantile Regression

Minimizes the check loss (pinball loss) for estimating conditional quantiles [2].

  • Names: 'check', 'quantile', 'QR'

  • Parameters:
    • qt (float): The target quantile (e.g., 0.5 for median).

loss = {'name': 'QR', 'qt': 0.25}

Related Example

Quantile Regression with Epsilon Tolerance

Minimizes the check loss with an epsilon-insensitive zone for robust conditional quantile estimation.

  • Names: 'check_eps', 'quantile_eps', 'QR_eps'

  • Parameters:
    • qt (float): The target quantile (e.g., 0.5 for median).

    • epsilon (float): The tolerance parameter defining the insensitive zone.

loss = {'name': 'check_eps', 'qt': 0.25, 'epsilon': 0.1}

Related Example

Huber Regression

Robust regression loss that is quadratic for small errors and linear for large errors [3].

  • Names: 'huber', 'Huber'

  • Parameters:
    • tau (float, default=1.0): The threshold parameter controlling the transition from quadratic to linear.

loss = {'name': 'huber', 'tau': 1.0}

Support Vector Regression (SVR)

Epsilon-insensitive loss [4].

  • Names: 'SVR', 'svr'

  • Parameters:
    • epsilon (float): The epsilon-tube width.

loss = {'name': 'svr', 'epsilon': 0.1}

Related Example

Mean Absolute Error (MAE)

L1 loss, robust to outliers.

  • Names: 'MAE', 'mae', 'mean absolute error'

  • Parameters: None

loss = {'name': 'mae'}

Mean Squared Error (MSE)

Standard L2 loss (Least Squares).

  • Names: 'MSE', 'mse', 'mean squared error'

  • Parameters: None

loss = {'name': 'mse'}

References