I had a lot of fun working with the marketing team for the institute to explain the master’s program from the view of an international student. It is not apparent from a short clip, but there were many hours of raw footage required to produce each minute of video. I happened to be experimenting that day with mapping images to a Hilbert curve space to see if it improved classification of digits using a neural network.
The motivation for using a Hilbert curve is that when images are flattened into a one-dimensional vector, a technique used in training convolutional neural networks, some of the spatial relations between pixels are lost. Hilbert curves preserve the spatial relations by mapping each pixel onto a 1-dimensional curve:
In the end, mapping the image space onto a Hilbert curve didn’t improve image classification, but I enjoyed learning about the algorithm for mapping to Hilbert spaces.
I contribute to development of the linear algebra library Normaliz developed by the Institute of Mathematics at the University of Osnabrueck, where I made a visualization of Hilbert bases using D3JS and Python for the wikipedia article.
Play with me
What is the Hilbert basis?
Starting with the lattice (all the black dots in this 2-dimensional example) and a convex (bounded) polyhedral (many-sided) cone (imagine the gray shaded part extended infinitely) with generators (the yellow circles) and
there is a finite set of generating integral vectors that can produce all the lattice points in the cone.
Simply put, the Hilbert basis of a convex cone is the unique minimal generating set (the small red circles) which can be extended or combined to produce the entire monoid (all the lattice points in the cone).