Squobble Blog

Tuesday, May 21, 2013

Matlab code and demo for kernel density estimation


I've made it a habit to release the source code publicly every time somebody asks me for help with a publicly available algorithm. Having my source code in public actually also showed to improve its readability, and it helps me find it back (because, let's face it, everybody knows it is easier to find a file on Google than on your own computer).

So today I am releasing some Matlab code to perform Parzen's kernel density estimation of one-dimensional data. It's included in the KMBOX toolbox now, and you can download a standalone version with a demo from here: https://sourceforge.net/projects/kmbox/files/packs/


The image shows the output of the included demo.

Labels: , ,

Friday, May 17, 2013

Logos in vector format

I started a small github repo to organize all the logos I've been using in my work lately, mainly in conference posters. As it takes a few minutes to extract a vector logo from a pdf, I though other people might benefit too from the result.

You can find them here: https://github.com/steven2358/vectorlogos

As an example, here goes the ICASSP 2013 logo in vector format. Click the image for the SVG file, use Inkscape or any other software to edit/convert.

Labels: , ,

Wednesday, March 06, 2013

Graphic-design competitions for electrical engineers

Nature-Inspired Problem Solving
Last year I made this drawing. It was my submission to the t-shirt design competition of the IEEE Computational Intelligence Society. The goal was to make a drawing inspired by the scientific field of "computational intelligence". It also had to feature the slogan "Nature-Inspired Problem Solving".

The idea and drawing took me a few hours in Inkscape, but these turned out to be hours well invested, as I won the competition. So, the IEEE CIS will be handing out shirts with this design at their conferences. Awesome. And besides, I got an iPad for it, so I'm pretty happy to confirm that I'm still living Maurice Moss' dream.



The funny thing is, it's the second time I participate in an IEEE drawing competition and I won both times. Last time I drew the logo for the IEEE region 8. That's a pretty good success rate. But how is it possible?


Maybe it has to do with the fact that the IEEE respresents electrical engineers all around the world, and not graphic designers. And I am lucky enough to know a thing or two about drawing lines. So if that's the reason, the equivalent would be an electrical-engineering contest for graphic designers. I'd love to see that. At the very least it would produce interesting results.

Labels: , , ,

Saturday, March 31, 2012

Kernel Canonical Correlation Analysis code for Matlab

I've made a package with kernel canonical correlation analysis (KCCA) code for Matlab, as part of the experiments I did for a paper. While there are some other packages out there, most notably David Hardoon's KCCA code [1] and Francis Bach's kernel ICA code [2], I wanted a KCCA implementation that included a demo file in addition to the KCCA functions, and I wanted it to be very fast.

The code performs standard regularized KCCA and it includes a demonstration on some synthetically generated data. It can be modified easily to work on external data sets and to use custom kernel functions. The KCCA implementation decomposes the kernel matrices using incomplete Cholesky decomposition, which does not require to calculate the entire kernel matrix (see [2] for more details). The code contains different forms of the generalized eigenvalue problem, all of which yield very similar results. A demo that performs full KCCA without decomposing the kernel matrices is also included.

Download the KCCA code here:
http://sourceforge.net/projects/kmbox/files/packs/

The package is part of my Kernel Methods toolbox, which is still very much in beta. Suggestions are welcome.

References:
[1] D. R. Hardoon, S. Szedmak and J. Shawe-Taylor, "Canonical Correlation Analysis: An Overview with Application to Learning Methods", Neural Computation, Volume 16 (12), Pages 2639--2664, 2004.
[2] F. R. Bach and Michael I. Jordan. "Kernel Independent Component Analysis", Journal of Machine Learning Research, volume 3, pages 1-48, 2002.

Labels: , ,

Tuesday, November 15, 2011

Comparing the weather forecast for two cities

Going out for the weekend but can't make up your mind between two great places? Wolfram Alpha to the rescue! I found out you can compare weather forecasts with it too. Just use their weather forecast with the "versus" operator, like in this recent query of mine

and up pop the results:


For less well-known cities you might give Wolfram Alpha a hand by adding some parentheses etc.:

Happy walphing!

Tuesday, October 04, 2011

An exquisit blank HTML page

Fancy hacking together a quick single-page web site? No? Well I do. Just in case you change your mind, here's a high-quality blank HTML page you can use as a starting point. It's transitional XHTML and has utf-8 encoding, so that should allow for doing quite a few crazy things.

Labels: , ,

Thursday, September 29, 2011

Spanish DNI and NIE letter calculator

As I couldn't find this really well done anywhere online, I made a small tool to calculate the letter of the Spanish DNI. For expats living in Spain, you can use it to calculate the letter of a NIE too.

Here it is: Calculadora de letra de DNI y de NIE.

Labels: , , ,