A Semi-supervised Random Vector Functional-Link Network based on the Transductive Framework

The paper details a semi-supervised training algorithm for Random Vector Functional-Link networks, inspired to the classical work on the transductive SVM. Unknown labels are added as additional variables inside the optimization problem, which is then approximated with a box-constrained quadratic problem.

Below you will find detailed instructions on how to repeat the experiments taken from the paper. If you use this code or any derivatives thereof in your research, please cite the following paper:

Step 1 – Install Lynx

Download the latest version from the master branch of the toolbox:


After downloading it, install it using the “install” script in the root folder. Refer to Chapter 3 of the user manual for more information on the guided procedure.

Step 2 – Download the datasets

Lynx comes with a small set of preinstalled datasets. To download all the datasets required by the article, run the “download_datasets” script. Please check that the following datasets are installed: twomoons, g50c, g241c.

Step 3 – Define the configuration

Lynx works by defining the details of a simulation in a configuration file. To this end, create a file called “config_dist.m” in the “configs” folder. Below is the code for running a simulation on the g50c dataset:

Step 4 – Run the simulation

To run the simulation, execute the script “run_simulation” and select the file you created previously. Please refer to Section 3.1 of the user manual for details on the syntax of the function “add_dataset”.