This repository is the official implementation of Minimax Forward and Backward Learning of Evolving Tasks with Performance Guarantees.
The proposed IMRCs effectively perform forward and backward learning and account for evolving tasks.
IMRC folder contains the Python and Matlab folders that include the Python and Matlab scripts, respectively, required to run the code.
IMRC_ Python folder contains Python scripts required to execute the method:
- run_IMRC.py is the main file. In such file we can modify the values of hyper-parameters such as , the order, and the feature mapping. In addition, such function tracks uncertainty sets, provides performance guarantees at specific times, and updates classifier parameters.
- efficient_learning.py updates classifier parameters.
- prediction.py assigns label to instances.
- feture_mapping_function.py calculates feature vectors using linear or random Fourier features (RFF) feature mappings.
- forward_backward_learning.py contains functions that obtain mean vector estimates and confidence vectors for single-task, forward, and forward and backward learning.
- requeriments.txt contains versions of Python modules
The requirements are detailed in the requeriments.txt file. Run the following command to install the requeriments:
cd
/IMRC_Python
pip install -r requirements.txt
IMRC_Matlab folder contains Matlab scripts required to execute the method:
- main.m is the main file. In such file we can modify the values of the hyper-parameters and the feature mapping.
- initialize.m initializes model variables.
- single_task.m obtains mean vector estimates, confidence vectors, and classifier parameters with single-task learning.
- forward.m obtains mean vector estimates, confidence vectors, and classifier parameters with forward learning.
- backward.m obtains mean vector estimates, confidence vectors, and classifier parameters with forward and backward learning.
- feature_vector.m calculates feature vectors using linear or random Fourier features (RFF) feature mappings.
- optimization.m updates classifier parameters.
- prediction.m assigns label to instances.
To train and evaluate the model in the paper, run this command for Python:
cd IMRC/IMRC_Python
python run_IMRC.py
and for Matlab:
cd IMRC/IMRC_Matlab
matlab main.m
Verónica Álvarez
IMRCs carry a MIT license.
If you find useful the code in your research, please include explicit mention of our work in your publication with the following corresponding entry in your bibliography:
[1] V. Alvarez, S. Mazuelas, J.A. Lozano. "Minimax forward and backward learning of evolving tasks with performance guarantees." In Advances in Neural Information Processing Systems, 2023.
The corresponding BiBTeX citation is given below: