On Fri, Nov 04, 2011 at 03:49:35PM +0100, Andreas Müller wrote:
> On 11/04/2011 03:42 PM, Alexandre Passos wrote:

> I think sklearn does not aim at beating cuda implementations.

As Alex said, it is pretty darned competitive on the CPU as well.

> For using theano: that's a huge and imho unnecessary dependency.

Agreed.

> For a simple mlp, I think theano will not beat a hand implemented version.

I think you'd be in for a rather rude surprise, at least on your first
attempt. :)

> Afaik, torch7 is faster than theano for cnns and mlps and there
> is no compilation of algorithms there.

Haven't looked at Torch7, though I know we beat Torch5 pretty painfully.

> But I thought more about an easy to use classifier.

That, I think, is the fundamental flaw in the plan. Neural networks are
anything but "easy to use", and getting good results out of them takes quite
a bit of work.

I say this (perhaps at my own peril) as a student in one of the larger labs
that still study this stuff, but there are really three regimes where neural
networks make sense over the stuff already in scikit-learn:

- The dataset is *gigantic*, online learning is essential, and simpler
  algorithms don't cut it.

- The dataset is huge and the task complex enough that it requires multiple
  layers of representation and/or sophisticated pre-training algorithms
  (unsupervised feature learning).

- The dataset is slightly smaller, linear learning doesn't suffice,
  but model compactness and speed/efficiency of evaluation is of great
  importance, so kernel methods won't work.

In my experience, about 95% of the time, people trying to apply MLPs and
failing are not in any of these situations and would be better served with
methods that are easily "canned" for non-expert use.

I'm not outright against scikits-learn including a basic implementation, I
even have old Theano-free implementations of modular stackable layers that
could be fixed up and Cythonized if anyone wants it. But the documentation
should probably qualify MLPs as useful only if you're willing to do a lot of
work with preprocessing, hyperparameter optimization, and other methods
are without exception failing you. Otherwise I foresee a lot of frustrated
users and a lot of frustrated mailing list participants trying to answer the
same questions over and over again.

My $0.02,

David

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to