[comp.ai.digest] Flaming on Neural Nets and Transfer Functions

alexis%yummy@GATEWAY.MITRE.ORG (11/18/88)

I have to admit some surprise that so many people got this "wrong."
Our experience is that neural nets of the PDP/backprop variety are 
at their *BEST* with continueous mappings.  If you just want classification
you might as well go with nearest-neighbor alg.s (or if you want the same
thing in a net try Nestor's Coulombic stuff).  If you can't learn x=>sin(x)
in a couple of minutes, you've done something wrong and should check
your code (I'm assuming you thought to scale sin(x) to [0,1]).  
Actually, requiring a PDP net to output 1's and 0's means your weights 
must be quite large which takes alot of time and puts you way out on
the tails of the sigmoids where learning is slow and painful.
What I do for fun (?) these days is try to make nets output sin(t) {where
t is time} and other waveforms with static or "seed" wave inputs.

For those who like math, G. Cybenko (currently of U. Illinois and starting
12/10/88 of Tufts) has a very good paper "Approximation by Superpositions 
of a Sigmoidal Function" where he gives a existence proof that you can
uniformly approximate any continuous function with support in the unit 
hypercube.  This means a NN with one hidden layer (1 up from a perceptron).
Certainly more layers generally give more compact and robust codings ...
but the theory is *finally* coming together.

    Alexis Wieland    ....    alexis%yummy@gateway.mitre.org