GSoC 2014: Standard Extreme Learning Machines

Finished implementing the standard extreme learning machines (ELMs). I am getting the following results with 550 hidden neurons against the digits datasets,

Training accuracy using the logistic activation function: 0.999444
Training accuracy using the tanh activation function: 1.000000

Fortunately, this algorithm is much easier to implement and debug than multi-layer perceptron :).
I will push a test file soon.

@ogrisel , @larsmans
> I guess the point works if your X itself fits in memory, but the auxiliary data structures used by the ELM fit function (e.g. H) wouldn't fit. This might be the case if X is sparse

Yes, also in the case when `n_hidden` is much higher than `n_features`, since you will end up with an auxiliary matrix of `(n_samples, n_hidden)` which could cause memory problems.

Empirically speaking, I used to experience `MemoryError` exception when using a very high`n_hidden`.
Whether there is a speed difference between using larger batches or smaller, I am not sure. Empirically, although
I often see a bit of speed improvement when using large batches, a related benchmark didn't really show a correlation between speed and batch_size. This would require more testing before confirming that a tradeoff exists. 

Thanks.