Menu:

Random Quote: A little girl goes into a pet shop and asks for a rabbit. The shop keeper looks down at her, smiles and says "Would you like a lovely fluffy little white wabbit, or a cutesy wootesly little brown wabbit?" "Well", says the little girl, "I doubt my python would notice." -- python.org

Operating System

I run Ubuntu linux on all of my computers. Linux rocks hard, just like the Black Keys and Led Zepplin. It provides without doubt the greatest environment for scientific computing in the ENTIRE UNIVERSE.

I do not use Microsoft products because Microsoft is for CAPITALISTS RUNNING DOS. I do not believe this charity smokescreen MUMBO JUMBO from Bill Gates. We geeks must rise up and fight for our freedom to use obscure software that cannot cooperate with our WIRELESS NETWORK CARD.

Programming

I program mainly in C and Python. Sure, C and Fortran may be fast, but if you like scientific programming, then discovering Python is like coming home after many years spent lost in the wilderness.

Why don't I use MATLAB like most other economists? Well, as the marketing people at MathWorks used to say, MATLAB is Fortran for the 1990s. C'mon dude, it's 2012.

If you are into scientific computing then you will also need the SciPy scientific library. Great job guys, love your work.

Another wonderful open source programming language is R. R is an S workalike. S in turn was developed back in the early days at Bell, along with C, the UNIX operating system, information theory, the transistor, the laser, and a few other minor contributions to world science and technology.

I do all my text editing using vim. I used to use Emacs but I was young and needed the money. I have made a FUNDAMENTAL ADVANCE in the field of vim text editing: map "jj" to the escape key. One day it will make me famous.

Machine Learning

I'm interested in machine learning. The machine learning problem is one of associating an output with a given set of inputs. One component of the problem is selection of a hypothesis space, which is a suitable collection of candidate mappings from the input to the output space. The second component is a learning algorithm, which takes training data as an input and returns a mapping from the hypothesis space that represents a proposed functional relationship between inputs and outputs. The task of the system designer is to implement this search through the hypothesis space with the objective of finding a mapping which optimizes the ability of the machine to generalize, i.e., to give the "right" output for an arbitrary set of inputs.

Statistical learning theory provides a principled approach to optimization of the generalization ability. The Ayatolla of statistical learning theory is V.N. Vapnik. The Ayatolla of all inductive science is the great Karl Popper.

Here's a nice quote from Vapnik:

I believe that something drastic has happened in computer science and machine learning. Until recently, philosophy was based on the very simple idea that the world is simple. In machine learning, for the first time, we have examples where the world is not simple. For example, when we solve the "forest" problem (which is a low-dimensional problem) and use data of size 15,000 we get 85%-87% accuracy. However, when we use 500,000 training examples we achieve 98% of correct answers. This means that a good decision rule is not a simple one, it cannot be described by a very few parameters. This is actually a crucial point in approach to empirical inference.

This point was very well described by Einstein who said "when the solution is simple, God is answering". That is, if a law is simple we can find it. He also said "when the number of factors coming into play is too large, scientific methods in most cases fail". In machine learning we dealing with a large number of factors. So the question is what is the real world? Is it simple or complex? Machine learning shows that there are examples of complex worlds. We should approach complex worlds from a completely different position than simple worlds. For example, in a complex world one should give up explain-ability (the main goal in classical science) to gain a better predict-ability.

Links

Here are some links on machine learning and related topics. A more general collection of links on programming and economics can be found here.