Figure 6: Example of error propagation through a PAND
tree. Actual values are found when an overall evaluation measure is
computed for an object. Desired values are propagated down the tree,
and error is computed as Desired - Actual.
It should be noted that while the desired evaluation measure is fed to
the root of the tree and propagated down to the leaves, the error is
directly computable since the actual and the projected desired values
are always known at each node. The actual values at
each node are those computed when the physical
measurements of the object shape are fed into the leaf
nodes and combined to produce an overall evaluation measure at the
root. The projected desired values in the proof tree are obtained
by propagating the desired evaluation measure from the root node down
to the leaves. For example, given a two input PAND node with actual
inputs
and
, the actual output A will be
(from the T-norm in section 2.3). If the desired output of the node is
D, then we can compute the desired inputs to the node as
and
by solving the following set of equations:
and
The first equation computes the error for the PAND node
,
while the second equation assures equal portions of the error are assigned to
each input. Figure 6 shows an example of the
desired values computed via Equations 1 and
2 for every node in a proof tree. In this figure, we have
a known desired overall measure of
at the top PAND node, and
an actual measure of
which was computed as the PAND of the
actual node inputs,
and
. Using
Equations 1 and 2, we can easily compute the
two unknown desired inputs
and
to the top PAND node
(which are also the desired outputs of the bottom two PAND nodes) as
and
, respectively. If there are three inputs to a
PAND node, then we solve a set of three linear equations to derive
the desired inputs. When there are more than three inputs to a PAND
node, we divide the set of inputs recursively into groups of two or
three and solve a set of two or three linear equations, respectively.
Since the POR nodes are used to combine a single parent category measure with a single aggregate measure for a subcategory's functional properties, there will never be more than 2 inputs to this type of node. Therefore, the full amount of error can be propagated through a POR node by simply solving the independent equations:
and
Eventually, some portion of the overall error is propagated to the ranges defined by the trapezoid membership functions. When the error reaches the individual ranges for a training example, the input to the primitive membership function (i.e., the x axis value) and the desired primitive evaluation measure (the y axis value) define a point that should lie somewhere on the trapezoid. We also note which leg of the trapezoid the point belongs to, based on which side of the normal portion of the range [n1,n2] that the x value lies. The set of desired points for each leg can be used to make adjustments to the trapezoid in an attempt to reduce the error. OMLET collects these desired points for each leg of each membership function by propagating the error for all training examples down the proof trees. The trapezoid/range parameters (z1,n1,n2,z2) are adjusted at the end of each training epoch. Training continues for a fixed number of epochs or until some satisfactory level of performance, defined by minimal classification error rate averaged over the training set, is achieved.