Old stuff
Written by Tom SF Haines   
Wednesday, 17 August 2011
A couple years ago, in a city a fair distance away I made an entry for pyweek 8. It was based on the subject of kettling (Trapping protesters in an area, and often not allowing them to leave.) - it was entered and nobody liked it, so I basically forgot about it. Anyway, it recently came up twice:

1) An article in edge made a comment that someone should make a game on this subject. Well, I already did;-)

2) A friend wanted to make a game about the recent riots in London, so I mentioned this to him.

As the above friend then wanted to have a go, and couldn't get my original entry to work I uploaded it to the internet so it can be played in a web browser.

Last Updated ( Wednesday, 17 August 2011 )
Read more...
 
Density Estimation Blowout!
Written by Tom SF Haines   
Saturday, 23 July 2011
Over the last two weeks I have added to my Google code repository (Accessible from the menu.) not one, not two, but three modules dedicated to density estimation. And not just any old density estimation, but Gaussian mixture models! Ok, that last bit is really a disadvantage, and I would only ever choose one of the modules, except when computational limitations force me do otherwise, but it still means that this code base has a pretty decent selection. Anyway, the three modules are:

kde_inc: The incremental kernel density estimate method of Sillito & Fisher, which uses Gaussian kernels. You do have to provide a kernel size, which is a problem as its main feature is being incremental, and the kernel size should change as the amount of data does, but then this is the most basic method. To help with estimating the kernel size a leave one out method is provided. Honestly not sure what use this is - as an algorithm it only makes sense when speed really matters, but as this implementation is in pure python its rather slow, and hence somewhat useless. Good for prototyping I guess, or as a reference for implementing something using a lower level language.

gmm: A basic Gaussian mixture model using the EM method, with k-means for initialisation. Nothing special, but a good all rounder I guess. Will use the Bayesian information criterion (BIC) to do cluster count selection. Depends on scipy.weave stuff, so you will need that working to use this.

dpgmm: A Dirichlet process Gaussian mixture model, implemented using the mean field variational technique. Theoretically speaking this is just plain awesome, and is the best general purpose density estimation technique I know. Its flaw is its very demanding, in terms of both computation and memory, but if you have them go for it. Used in the right way you can basically ignore all parameters, though I have it by default setup to be somewhat conservative with the number of clusters, and to produce a very accurate answer. The code is pure python, and has lots of vectorisation going on - it is not much slower than a low level implementation would be, and the gap will only get smaller the larger the problem.


There is probably going to be a gap in updates now. I defiantly have to upload the code for my BMVC paper at the end of August, and there is also the (rather horrific) code for an ICCV paper - that should be early November. Other than that I don't have anything that comes to mind for uploading, other than another topic model and code related to my current research. But I'm sure I will think of something - I code somewhat obsessively (I blame this on having unreliable friends, who don't take me to the pub often enough, but I digress.), and if I choose to expand beyond general purpose machine learning algorithms I am sure I could go nuts.
Last Updated ( Saturday, 23 July 2011 )
 
Gaussian Conjugate Priors and Random Forests
Written by Tom SF Haines   
Sunday, 26 June 2011
Just posting with two quick notes, about some arbitrary additions to my code repository, as accessible using the menu. Yup, I am somehow continuing to find the time to clean stuff up!

Firstly, I have added the code for the Gaussian Conjugate Prior cheat sheet that I previously published to this website, under the directory gcp. This code actually proved to be useful, and I am effectively uploading it in anticipation of uploading the code that uses it - this version of the code has been extended from the original upload.

Secondly, I have stuck a random forests implementation up, under the name stochastic woodlands and in the directory swood. Its nothing special, but it works, and I thought I might as well make it publicly available.

The analytics for my website has recently shown a massive jump in the number of people visiting my code repository - its nice to know that people are finding this stuff useful:-) I still have lots of code lying around that can be polished and uploaded - given that I have now covered classification and topic models pretty well I think I am going to next focus on density estimation - I have three separate libraries worth uploading for that, at least in the short term, and I am going to work through them from simplest to most complicated (In terms of technique - the most complicated technique actually has the simplest code!). The code for a couple of papers is also going to need uploading sooner rather than later.
Last Updated ( Sunday, 26 June 2011 )
 
Variational LDA implimentation
Written by Tom SF Haines   
Monday, 30 May 2011
Given that I have uploaded a Latent Dirichlet Allocation implementation to my code store that uses Gibbs sampling it seemed remiss to omit an implementation that used the mean field variational method (Note that this is not the same variational method used by the original LDA paper. Its not exactly the same graphical model either - in both cases I would consider these to be (minor) improvements.). I just fixed this - it can be obtained from the usual place, in the Google code repository linked from the menu, under the directory lda_var. I also moved the gibbs sampling version to the directory lda_gibbs

Also, two updates in one month - there must be something wrong with me!

Last Updated ( Monday, 30 May 2011 )
 
Region Latent Dirichlet Allocation
Written by Tom SF Haines   
Sunday, 08 May 2011
Sometime last year I published a paper in which I indicated that the code would be available on my website. Being that the paper was in some minor workshop I might of delayed.. slightly. Well, better late than never, and I guess this is a good time to put the paper, and other related stuff, online as well.

The paper itself is Video Topic Modelling with Behavioural Segmentation by T. S. F. Haines and T. Xiang, and appears in the ACM Workshop on Multimodal Pervasive Video Analysis, 2010. You may download it as a pdf by clicking on the papers title.

The code itself can be found over at my Google code project, which is linked from the source code link on this website. You can also download the presentation I gave here, which includes various video files demonstrating it in action on the mile end data set. Additionally, there is a 2 minute long demonstration video I created, which can be obtained here.

Last Updated ( Sunday, 08 May 2011 )
 
Latent Dirichlet allocation
Written by Tom SF Haines   
Thursday, 31 March 2011
A little while ago, early 2010 if I recall correctly, I had cause to implement LDA, using the Gibbs sampling method. I have finally found the time to clean the code up and stick it in my code repository, so you can now find a LDA implementation available at http://code.google.com/p/haines/. Its nothing fancy, but well commented with a few test examples and works as well as any other implementation (Well, a variational approach would be better, computationally speaking, but LDA is simple enough that it is probably not worth the effort.).

Last Updated ( Thursday, 31 March 2011 )
 
<< Start < Prev 1 2 3 4 5 6 7 8 Next > End >>

Results 19 - 24 of 48
A weird tenticle thing, emerging from the website.