int bp_adapt_unit | (unit, eta, alpha, target, options, netflag) |
UNIT | *unit | A pointer to a UNIT structure. |
double | eta | The coefficient eta (the learning rate) of the backpropagation rule. |
double | alpha | The coefficient alpha (the momentum term) of the backpropagation rule. |
double | target | The target output for a unit (only required for output units). |
long | options | See note below. |
long | netflag | Specify whether a unit from a standard or shared weights feedforward network is to be adapted. |
HISTU | (Don't) store history of unit values at each update. |
HISTT | (Don't) store history of unit thetas at each update. |
HISTW | (Don't) store history of weights at each update. |
BPACCUM | (Don't) accumulate the delta's. |
BPUPDATE | (Don't) update the weights. |
BPOLDPRP | (Don't) backpropagate with old = original weights. |
Note that the individual HIST-flags and BP-flags may be OR'ed together. The backpropagation process is divided into two phases: first, the weight-change is computed (optionally, only if BPACCUM is set), then the actual weight-change is done (optionally, only if BPUPDATE is set). Also, note that by default (when BPOLDPRP is not set) the newly calculated weight-change is performed immediately (assuming BPACCUM and BPUPDATE are set), while the standard backpropagation rule, in which weight-changes are made effective only in the next cycle, requires BPOLDPRP to be set. In effect, not specifying BPOLDPRP causes a random disturbance of the minimization process which might result in a speed up, but may cause problems in difficult learning processes. Furthermore, note the following for (BPACCUM, BPUPDATE) - pairs:
0 | 0 | Combination does not make sense (nothing is done). |
0 | 1 | Yields no backpropagation, only updates. |
1 | 0 | Yields only backpropagation, no updates. |
1 | 1 | Specifies normal mode, i.e. backpropagation and update. |
This function is used by bp_adapt_net.
This document was generated using api2html on Thu Mar 5 09:00:00 MET DST 1998