Initialize network weights do For each training sample ex Desired Output = neural-net-output (network, ex) actual = calculated output(ex) compute error (difference between desired and actual output) at the output units compute compute update network weights until all samples are classified correctly or another stopping criterion is satisfied return the network |