APLR Version 10.17.0 Release Notes
This release introduces a new flexible loss function, a parameter to accelerate model training, and a significant improvement to the validation and tuning process for more stable and robust modeling.
✨ New Features
1. New exponential_power Loss Function
A new loss_function="exponential_power" has been added. This is a versatile loss function where the shape is controlled by the dispersion_parameter (p), making it a generalization of other common loss functions:
- When
p=2, it is equivalent to themseloss function.
This allows for greater flexibility in modeling distributions with different tail behaviors. For best results with this new loss function, it is recommended to also set faster_convergence=True.
2. New faster_convergence Parameter
A new boolean constructor parameter, faster_convergence (default False), has been introduced to speed up model training, especially for loss functions that might otherwise converge slowly.
- When set to
True, it applies a scaling to the negative gradient during boosting. - This is currently only applied for the
identityandloglink functions. - Note: This option is not effective for all loss functions (e.g.,
mae,quantile) and is not needed formsewith anidentitylink, as this combination is already optimized for speed.
🚀 Improvements and Behavioral Changes
validation_tuning_metric Logic Update
The logic for validation_tuning_metric has been updated to improve both training stability and evaluation flexibility.
- For Training and Convergence: During the boosting process and for selecting the optimal number of steps (
m), the model now always uses the "default" metric (which corresponds to theloss_function). This ensures the most stable convergence with respect to the loss being minimized. - For Final Evaluation and Tuning: After each cross-validation fold is fitted, the
validation_tuning_metricprovided by the user is calculated. This final metric is whatget_cv_error()returns and whatAPLRTuneruses to select the best set of hyperparameters.
This change ensures stable model training while still allowing you to evaluate and tune your model based on a business-relevant metric that may differ from the training loss function.
Important Note: When tuning hyperparameters like dispersion_parameter or loss_function, you should not use validation_tuning_metric="default", as the resulting CV errors will not be comparable across different parameter values.