In order to understand why we have taken a one-disjunct-per-lesson approach rather than an all-at-once approach, let's make some observations concerning how accurately blame assignment for an error can be determined for a typical training example.
Recall that error propagation through a proof tree involves projecting desired node input values from a known node output value. Consider a PAND node with a known desired output of 0.9, and two unknown inputs. We know that both of the inputs must be at least 0.9. This means both inputs to the PAND node fall within the relatively small range [0.9,1.0]. However, when the desired output of a two input POR node is 0.9, we can only be sure that both inputs fall in the range [0,0.9]. If the known output to the PAND or POR node is very low, say 0.1, then there is an opposite effect. That is, the unknown inputs for a POR node would lie in the relatively small range [0.0,0.1], and the unknown inputs for the PAND node would fall somewhere in the much larger range [0.1,1.0]. These observations suggest that the blame assignment for error can be propagated through a PAND node with reasonable accuracy on examples that are relatively good, say 0.7 or above. However, for high evaluation measures, an error value cannot be reliably propagated through a POR node.
Since a subcategory evaluation measure is computed as the POR of a parent category evaluation measure and the combination of additional functional requirements, all POR nodes in a proof tree have two inputs. All POR nodes (in our proof trees) have at least 1 connecting node which consists of a parent (or more general) category whose membership calculation involves only PAND connectives. The structure of the proof trees permits the membership functions which contribute to the evaluation measure of a parent category to be accurately learned prior to learning those defined in the additional functional requirements of the subcategories. That is, we can determine one of the inputs to any POR node before we attempt to propagate an error through that node. With one input and the desired output of a POR node known, calculation of the unknown input is trivial. Thus, our learning approach eliminates the reliability problems associated with propagating blame assignment for error through POR nodes. This will be verified in Section 6 with experimental results for the subcategories straightback chair and armchair.
The mechanics of our learning algorithm suggests that OMLET'S performance depends on how accurately blame assignment can be propagated through the PAND nodes of a proof tree. Earlier, we observed that blame assignment is less reliably propagated through PAND nodes for ``bad" training examples. Not surprisingly, this suggests that the quality of the training data will have an effect on system performance. This does not mean that ``bad" examples of an object (sub)category cannot, or should not, be included in the training set. Since we use a least squares line fit to adjust the fuzzy membership functions, the use of some ``bad" training examples (for which the blame may have been inaccurately distributed among the fuzzy membership functions) should not dramatically affect the overall reliability of the learned system parameters. Rather, it is just desirable to train the system with examples that, for the most part, are good examples of their labeled object category. However, this is not unreasonable as we might expect a machine (or a human for that matter) to better learn what constitutes a chair by observing good examples of chairs.