Matlab is one of the best tools for designing machine learning
algorithms and many of the class assignments and class projects will
be easiest to implement and explore with it. Alternatively, it is
possible to use other mathematical software like Mathematica or
MathCad although these will be much more awkward. Furthermore, it is
possible to use C/C++ or Java as the implementation platform but you
will require matrix libraries. One standard source of matrix libraries
and supporting funcitons is Numerical Recipes. Other libraries for
C/C++ include Lapack and Blas which are available for Intel Windows as
well as unix.

Matlab is available to the Columbia community through AcIS.

You just connect (i.e. using ssh) to an AcIS CUNIX machine like:

ssh -lyourusername cunix.cc.columbia.edu

And then run 'matlab' (which lives in /opt/local/bin/matlab).

See the following for more details (Windows or Unix):

AcIS Matlab Software

License Information

The Columbia University Computer Science department also has Matlab
available on various Unix machines (in /usr/local/bin/matlab).

Matlab Tutorials (from simplest to most elaborate):

UNH Matlab Tutorial

US Navy Matlab Tutorial

MTU Introduction to Matlab

Mathworks' Matlab documentation

Example code (plots a 2D Gaussian ellipse contour):

plotGauss.m

Example code (plots several Gaussians using the above function):

plotClust.m

Example code (randomly initializes and plots M Gaussians for a data set):

randInit.m

Example code (plots a point from dataset3 or dataset 4 as an image, type 'help imageData'):

imageData.m