warning: Creating default object from empty value in /seas/web/sites_dynamic/hips.seas.harvard.edu/htdocs/modules/taxonomy/taxonomy.pages.inc on line 33.
These pages have attached code that can be downloaded.

Practical Bayesian Optimization of Machine Learning Algorithms

Practical Bayesian Optimization of Machine Learning Algorithms. Snoek, J, Larochelle H, Adams RP.  Advances in Neural Information Processing Systems 25. 2012.   { arXiv:1206.2944 [stat.ML] | PDF | Code | Google Scholar | BibTex }

On Nonparametric Guidance for Learning Autoencoder Representations

On Nonparametric Guidance for Learning Autoencoder Representations. Snoek, J, Adams RP, Larochelle H.  Fifteenth International Conference on Artificial Intelligence and Statistics (AISTATS). 2012.   { arXiv:1102.1492v4 [stat.ML] | PDF | Code | Google Scholar | BibTex }

Convert Morphometric Data from XYZ to Morpheus Format (Java)

This is an executable jarfile that runs a tool for converting between XYZ files and Morpheus files. These are morphometric formats. If you are on Windows, you can probably just doubleclick the file. If you are on Linux, run "java -jar XYZtoMorpheus.jar". Here's a screenshot:

Interface to Gnuplot (Lisp)

I don't really maintain this code any more, but people seem to periodically find it useful. It is meant to be a lisp interface to gnuplot. It is likely that there are better tools out there for this sort of thing by now. Also, it is probably only going to work on a Linux-type system.

There are two test functions in the code, to give you an idea of what's going on.

Files: 

Count Zero Crossings (Matlab)

Given a vector, this MATLAB function returns the indices of the zero
crossings, or sign changes. There's not much to it.


 Z = ZEROCROSS(V)

 Return the indices of changes in sign between components of the
 vector.

 >> A = randn([10 1])

 A =

  -0.49840598306643
   1.04975509964655
  -1.67055867973620
  -2.01437026154355
   0.98661592496732
  -0.06048256273708
   1.19294080740269
   2.68558025885591
   0.85373360483580
   1.00554850567375

 >> zerocross(A)

 ans =

     2
     3
     5
     6
     7

Files: 

Warping Two-Dimensional Meshes (Matlab)

This MATLAB function allows you to transform the vectors generated by a call to meshgrid in one function call, without looping. Before and after pictures are shown, to give you an idea as to what this does.

This is the code documentation:

 [W Z] = WARPMESH(X, Y, C)

 Apply a transformation to the output of meshgrid().  The output
 matrices W & Z are such that the matrix C is applied to each 2d
 vector:


 +-      -+     +-      -+
 | W(i,j) |     | X(i,j) |
 |        | = C |        |
 | Z(i,J) |     | Y(i,j) |
 +-      -+     +-      -+

Files: 

Synthetic Pinwheel Data (Matlab)

This MATLAB function generates little two-dimensional datasets that are spirals of noisy data. They look like pinwheels, hence the name. They are just Gaussian data that has been rotated. You also get back the labels that tell you what arm each one belongs to.

Files: 

Inverse Digamma Function (Matlab)

This MATLAB function computes the inverse of the Digamma (or Psi) function. The digamma function is the derivative of the natural log of the gamma function. More information can be found at Wikipedia or Mathworld.

The inverse of this function is the Y > 0, given X, such that digamma(Y) = X. The algorithm is taken more or less directly from code written by Paul Fackler.

Files: 

Gauss-Hermite Quadrature (Matlab)

This MATLAB function returns the abscissae and weights for Gauss-Hermite quadrature, given the number of abscissae you wish to have. This corresponds to the degree of the Hermite polynomial you are using. The algorithm is directly from Numerical Recipes. The documentation for the function is reproduced below:

Files: