Dimensionality reduction

The Matlab Toolbox for Dimensionality Reduction is available from a separate page. It contains Matlab implementations of a lot of techniques for dimensionality reduction, intrinsic dimensionality estimators, and additional techniques for data generation, out-of-sample extension, and prewhitening. The download is available here. Also have a look at my separate webpage on t-SNE for implementations of t-SNE in various languages!

Multiple maps

If you want to visualize non-metric similarities such as semantic similarities, you can use multiple maps t-SNE. Matlab code for multiple maps t-SNE is available here. This code corresponds to the paper:

  1. L.J.P. van der Maaten and G.E. Hinton. Visualizing Non-Metric Similarities in Multiple Maps. Machine Learning 87(1):33-35, 2012. [ PDF ]

Structured prediction

My Matlab code for structured prediction using linear CRFs and hidden-unit CRFs is available here. This code corresponds to the paper:

  1. L.J.P. van der Maaten, M. Welling, and L.K. Saul. Hidden-Unit Conditional Random Fields. In Proceedings of the International Conference on Artificial Intelligence & Statistics (AI-STATS), JMLR W&CP 15:479-488, 2011. [ PDF ]

Active appearance models

A basic implementation of active appearance models is available here. The implementation uses the inverse compositional algorithm for fitting. The implementation was developed as part of the following paper:

  1. L.J.P. van der Maaten and E.A. Hendriks. Capturing Appearance Variation in Active Appearance Models. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, pages 34-41, 2010. [ PDF ]

Fisher kernel learning

My implementation of Fisher kernels and Fisher kernel learning are available here. Fisher kernel learning is described in detail in the following paper:

  1. L.J.P. van der Maaten. Learning Discriminative Fisher Kernels. In Proceedings of the International Conference on Machine Learning (ICML), pages 217-224, 2011. [ PDF ]

Writer identification

WRIDE is a simple Matlab implementation of a system for automatic WRIter IDEntification. It employs multi-scale edge-hinge features and multi-scale grapheme features. For more information on the system, we refer to this publication:

  1. L.J.P. van der Maaten and E.O. Postma. Improving Automatic Writer Identification. In Proceedings of the 17th BNAIC, pages 260-266. Brussels, Belgium, 2005. [ PDF ]

The system is available for download here. Make sure to read the Readme.txt before using the system! If you want to waste some money, you can also buy the system here.

I also created a handwritten characters dataset with over 40,000 characters, which is available here.

Matrix Relational Embedding

I wrote a simple Matlab implementation of Matrix Relational Embedding, that can be obtained from here. MRE is described in this paper by Ilya Sutskever and Geoffrey Hinton.

Fields of Experts

I wrote a Matlab implementation to train Fields of Experts models, and to use them for image inpainting and denoising. The implementation uses a product of Student-t distribution as clique potentials, and performs the trainin using persistent contrastive divergence. The implementation can be obtained from here (have a look at the experiment.m function). The model is described in this paper by Stefan Roth and Michael Black.


You are free to use, modify, or redistribute the software above in any way you want, but only for non-commercial purposes. The use of the software is at your own risk; the author is not responsible for any damage as a result from errors in the software.