Resources

An implementation of a toy blockchain in C++

This toy example uses lines from Shakespeare as input data and is designed to provide a concrete understanding of the basic ideas that make a blockchain what it is: an unchangeable array of data (immutable database).

(08-12-2018)

[github]

How to make 100% Rye bread

This recipe was designed to create delicious bread whilst as the same time trying to minimize the steps required, ingredients involved, time for preparation and time for cleaning up afterwards.

(18-11-2017)

[recipe]

Watch A Machine Learn

This collection of videos is intended to help visualize the parameters of a machine learning algorithm whilst it's learning, in an online fashion, providing insight into its characteristics.(07-12-2016)

[page (SemanticPaint) - code random forst (C++) - video RF - video SVM]

Visualising Visual Words In Videos

This collection of MATLAB tools is intended to help visualise the `visual words' generated for video data during the popular bag of visual words pipeline.

(22-07-2014)

[page - code (MATLAB)]

Pullback metric "Hello World"

How about redefining the Euclidean distance between two points on a line to be the Euclidean distance between the points after mapping them to a circle? Strange things are about to happen..

(20-09-2014)

[page - code (MATLAB)]


Linear SVM Primal Problem visualisation

Soving SVM in primal with stochastic gradient descent has gained popularity for the huge speed gains in solving large scale classification problems. Attached is a simple code-tutorial on how these various methods work on a toy problem.

(06-07-2013)

[page - code (MATLAB)]

When comsidering the SVM in primal form, the aim is to find

the solution w* that minimizes:

minimize 1/2||w||.^2 s.t y(i)(w'x(i) + b) >= 1, i=1...m

Distance Transform introduction and time complexity comparison

The proliferation of pictorial structures in vision got a major boost by P. Felzenszwalb's linear-time algorithm for computing euclidean-distance transforms. This transformation, when applied to detection, spreads high scores to nearby locations, taking into account the distance from the peak.

To see the difference this O(n) algorithm makes in practice compared to a naive implementation run the attached matlab script. As a friend Paul Sturgess said: "this is the difference between fast and scalable!!"

(07-06-2013)

[page - code (MATLAB)]

Quick start to Bag-of-Words + SVM

This tutorial is intended to be a quick & simple introduction to the popular BoW-SVM 1-vs-all pipeline in action recognition. The purpose is to illustrate and convey the main ideas practically and not to show state-of-the-art implementation details.

(21-06-2012)

[page - code (MATLAB)]