November 2012

You are currently browsing the monthly archive for November 2012.

(And why machine learning experts should care)

This is the first in a series of posts about the HLearn library for haskell that I’ve been working on for the past few months. The idea of the library is to show that abstract algebra—specifically monoids, groups, and homomorphisms—are useful not just in esoteric functional programming, but also in real world machine learning problems.  In particular, by framing a learning algorithm according to these algebraic properties, we get three things for free: (1) an online version of the algorithm; (2) a parallel version of the algorithm; and (3) a procedure for cross-validation that runs asymptotically faster than the standard version.

We’ll start with the example of a Gaussian distribution. Gaussians are ubiquitous in learning algorithms because they accurately describe most data.  But more importantly, they are easy to work with.  They are fully determined by their mean and variance, and these parameters are easy to calculate.

In this post we’ll start with examples of why the monoid and group properties of Gaussians are useful in practice, then we’ll look at the math underlying these examples, and finally we’ll see that this technique is extremely fast in practice and results in near perfect parallelization.

Read the rest of this entry »

Jesus washing his disciples' feet

Anyone who wants to be first must be the very last, and the servant of all.

– Mark 9:35

Being the servant of all is a hard task that we often forget to do.  We need to remind ourselves constantly that we are here to serve everyone.  One easy way to do this is to call everyone else “Sir” or “Ma’am.”  This language serves as a reminder to ourselves, and at the same time uplifts the person we’re talking to. Read the rest of this entry »

Read the rest of this entry »