berry@stsci.EDU (Jim Berry) (04/29/88)
I recently picked up the sources for bpsim.c and got it running on my Amiga (works fine as long as pointers are initialized to NULL). I noticed, however that there is a single 'bias' or 'threshold' unit not described in the BYTE article. Can anyone tell me its purpose? Thanks a lot. -- ------------------------------------------------------------------------------ Jim Berry | UUCP:{arizona,decvax,hao}!noao!stsci!berry Space Telescope Science Institute | ARPA: berry@stsci.edu Baltimore, Md. 21218 | SPAM: SCIVAX::BERRY, KEPLER::BERRY
alcobbs@phoenix.Princeton.EDU (Archie Cobbs) (04/30/88)
In article <339@obi-wan>, berry@stsci.EDU (Jim Berry) writes: > I recently picked up the sources for bpsim.c and got it running on my > Amiga (works fine as long as pointers are initialized to NULL). I > noticed, however that there is a single 'bias' or 'threshold' unit not > described in the BYTE article. Can anyone tell me its purpose? > > Jim Berry | UUCP:{arizona,decvax,hao}!noao!stsci!berry This unit is a special one that is always a constant 'on' signal. It allows hidden units in the net to have a steady signal upon which to base the weight vector. In other words, if you think of the weight vector as a line in a plane, not having some sort of bias provided to the units is equivalent to having your weight 'line' always passing through zero, i.e., the y-intercept is fixed at zero. If you look in the PDP bible (Vol. 1), on page 329 it describes the activation function used in their backpropagation simulations (which is generally the one used); in it their is a 'bias' term. In a footnote they remark: "Note that the values of the bias, THETA(j), can be learned just like any other weights. We simply imagine that THETA(j) is the weight from a unit that is always turned on. -Archie -- -- Archie Cobbs alcobbs@phoenix.PRINCETON.EDU "Carpe diem" - Seize the fish. {allegra}!princeton!phoenix!alcobbs