Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mit-eddie!uw-beaver!fluke!ssc-vax!dano From: dano@ssc-vax.UUCP (Dan Olson) Newsgroups: comp.ai.neural-nets Subject: Re: BackPropagation example in TurboPascal+Question Message-ID: <3214@ssc-vax.UUCP> Date: 27 Feb 90 21:29:36 GMT References: <588@massey.ac.nz> Organization: Boeing Aerospace & Electronics, Seattle WA Lines: 27 In-reply-to: GMoretti@massey.ac.nz's message of 26 Feb 90 01:50:02 GMT About your question - why is column zero needed? From just glancing at the pascal program, it looks like column zero is being used as the bias or constant input, which is typically set to 1. Usually the weight between this constant input and a cell is called the "threshold" of the cell. What does the constant input does: Think of each cell as trying to optimize a linear equation over a set of inputs I, where the variables are the weights W feeding into the cell. w1*i1 + w2*i2 + ... + wn*in = 0 As the equation stands, w1 through wn can be set so that it defines any line (or hyperplane) that passes through the axis. But in many cases the best solution for the linear equation should not pass though the axis. Adding a constant term to the equation moves the line from the axis. w1*i1 + w2*i2 + ... + wn*in + C = 0 So that the constant can be adjusted, in the neural net world it is represented by a weight attached to an input which is always one, or column zero in the example pascal program. -- Dan Olson (UUCP ..!uw-beaver!ssc-vax!dano)