Hi Alp, - even with correctly programmed back-propagation, it is usually hard to make the net converge. - usually you initialize neuron weights with somewhat random values, when working with back-propagation. - do some debug prints of the net error while training to see how it is going - xor function cannot be trained with a single layer neural net !!! Cheers, Martin PS: I did not check the back-propagation algorithm itself.
On Mon, Jun 15, 2009 at 9:58 AM, Alp Mestan <a...@mestan.fr> wrote: > Dear List, > > I'm working with a friend of mine on a Neural Net library in Haskell. > > There are 3 files : neuron.hs, layer.hs and net.hs. > neuron.hs defines the Neuron data type and many utility functions, all of > which have been tested and work well. > layer.hs defines layer-level functions (computing the output of a whole > layer of neurons, etc). Tested and working. > net.hs defines net-level functions (computing the output of a whole neural > net) and the famous -- but annoying -- back-propagation algorithm. > > You can find them there : http://mestan.fr/haskell/nn/html/ > > The problem is that here when I ask for final_net or test_output (anything > after the train call, in net.hs), it seems to loop and loop around, as if it > never gets the error under 0.1. > > So I was just wondering if there was one or more Neural Nets and Haskell > wizard in there to check the back-propagation implementation, given in > net.hs, that seems to be wrong. > > Thanks a lot ! > > -- > Alp Mestan > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe