CodeJerod Weinman < CompSci < Grinnell
Notice: If you use any of this software for research that is published, please send an email to me at ; I would be grateful if your paper would kindly acknowledge its use.

MaxEnt for Matlab

@maxent Matlab implementation of a discriminative Maximum Entropy (MaxEnt) classifier (aka multinomial logistic regression), as in [Berger96]. Includes several options for training regularization (Gaussian and Laplacian priors). Requires the L-BFGS optimizer below.

Spatial Displacement MaxEnt for Matlab

@sdmaxent Matlab implementation of a "spatial displacement" discriminative Maximum Entropy (MaxEnt) classifier (aka multinomial logistic regression), as in [Berger96]. Designed to be trained and applied via convolution over an entire image. Thus, features are not vectors per se, but a stack of feature images and the features passed to the "classifier" are values in all feature images in a window around each pixel.Includes several options for training regularization (Gaussian and Laplacian priors). Requires the L-BFGS optimizer below.

L-BFGS for Matlab

lbfgs.m Matlab implementation of L-BFGS, a limited memory second-order (quasi-Newton) optimizer ideal for parameter training in conditional Markov models. Also includes a backtracking line minimizer.

Coming Soon

(Hopefully coming soon ... prodding interest always helps).
  • Matlab code for training chain, grid, and arbitrary topology conditional random fields (CRFs) with pairwise clique potentials.
  • Matlab code for belief propagation of various flavors, including sparse.

Other Contributions

Contributions that live elsewhere include:
  • Parts of the Java MaLLeT toolkit (clustering, and other sundry modifications).
  • Extensions of the C++ Middlebury stereo code for doing loopy belief propagation and mean field inference (both with speedy sparse variants) in grid-shaped random field models. (Should be available soon.)