Lab 3 - manifold regularization
The lab is based on the Matlab code developed by Mikhail Belkin.
Local download: zip file
We will compare RLSC (regularized least squares for classification) and LapRLSC
Part I - warm up
run the file demo.m and a GUI will start.
Generate a dataset with many labeled points (say 20)
- Compare the separation estimated with RLSC and with LapRLS.
Reduce the number of labeled points (say 5)
- Compare again the results obtained with RLSC and LapRLS
- Check how the results of LapRLS change as you move gamma_A and gamma_I
- Remember that if gamma_I is small you are basically applying RLSC and if both gamma_A and gamma_I are big you are discarding information coming from the labeled data (you are unsupervised)
Part II - labeled vs unlabeled
Generate a training set and a test set of, say 1000 points.
see function generate_toydata choosing the method 'moons'
Evaluate the error on the test set while varying the number of labeled data in the range [2:5:100]
see function wipeout_labels giving the generated Y as input and a Yw as output
Choose parameters with cross-validation at each runsee, for instance, the script experiment_moons.m available
Part III - transductive vs semi-supervised
Fix 1000 unlabeled and 10 labeled data.
After tuning the parameter just predict the unlabeled data used in the algorithm (tranductive).
Now use the same solution to predict the labels of 1000 fresh data.
How do the results compare?