Skip to main content
Kolmogorov-Arnold Networks (KANs) are an alternative to Multi-Layer Perceptrons (MLPs). This model uses KANs similarly as our MLP model. References Figure 1. KAN compared to MLP. Figure 1. KAN compared to MLP.

1. KAN

KAN

Bases: BaseModel KAN Simple Kolmogorov-Arnold Network (KAN). This network uses the Kolmogorov-Arnold approximation theorem, where splines are learned to approximate more complex functions. Unlike the MLP, the non-linear function are learned at the edges, and the nodes simply sum the different learned functions. Parameters:

KAN.fit

Fit. The fit method, optimizes the neural network’s weights using the initialization parameters (learning_rate, windows_batch_size, …) and the loss function as defined during the initialization. Within fit we use a PyTorch Lightning Trainer that inherits the initialization’s self.trainer_kwargs, to customize its inputs, see PL’s trainer arguments. The method is designed to be compatible with SKLearn-like classes and in particular to be compatible with the StatsForecast library. By default the model is not saving training checkpoints to protect disk memory, to get them change enable_checkpointing=True in __init__. Parameters: Returns:

KAN.predict

Predict. Neural network prediction with PL’s Trainer execution of predict_step. Parameters: Returns:

Usage Example

2. Auxiliary functions

KANLinear

Bases: Module KANLinear