Method for designing classification trees

Abstract: A classification tree which allows direct recoginition of an input pattern such as image or sound without extra processing such as pr-processing of unprocessed pattern data having high order characteristic bariables is prepared. Information processing method and apparatus conduct hierarchical pre-processing for hierarchically pre-processing a leaning pattern, prepares a classification tree based on the learning pattern processed by the hierarchical pre-processing and conducts the recognition by using the classification tree.

Description: The present invention relates to an information processing method and an apparatus relating to a classification method for classifying patterns such as images, sounds and characters into categories. The present invention further relates to an information processing method and an apparatus suitable for recognizing information of images, sounds and characters. In a prior art method of pattern recognition, a recognition method using a neural network has been known. A great feature of the neural network resides in that a powerful learn algorithm represented by an error inverse propagation algorithm is provided. Because of this feature, the neural network has been adopted in a wide field of pattern recognition. Another method for pattern recognition is a method for classifying a pattern into a category by using classification trees stepwise. For example, in the pattern recognition system disclosed in JP-B-6-52537, characteristic axes are numbered and they are categorized in accordance with the numbers. A method for categorizing based on primary coupling of characteristic variables is also known. In general, a better result is provided by using the primary coupling of characteristic variables than using the characteristic axes one by one. However, the above prior art techniques have the following defects. 1. A range of the characteristic variables to which the neural network is applicable is in the order of 10, and when input variables include higher order variables, some category pre-separation or character extraction is needed. In addition, when pre-processing such as category pre-separation or character extraction is conducted, an error may be included during the pre-processing and a final recognition rate is not high even if the neural network is constructed with a high precision. 2. A range of character variables to which the classification trees are applicable is also in the order of 10, and when higher order characteristic variables are to be processed, the construction of the classification trees is virtually impossible. 3. In the actual pattern recognition, the orders of character variables of unprocessed data ranges between 100 and 1000. Thus, it is impossible to use the existing neural network and the classification trees which allow only the order of 10 to the actual pattern recognition as they are. A first aspect of the present invention comprises an information processing method in accordance with claim 1 appended hereto. A second aspect of the invention comprises an information processing apparatus in accordance with claim 11 appended hereto. Fig. 1 shows a method for preparing a dictionary for pattern recognition in one embodiment of the present invention. Fig. 2 shows a block diagram of a configuration of an information processing apparatus of the embodiment. Fig. 3 shows a structure of a neural network used in the present embodiment. Fig. 4 shows a flow chart of a flow in a pattern recognition dictionary preparation process of the embodiment. Fig. 5 shows a learning pattern. Fig. 6 shows a hierarchical learning pattern. Fig. 7 shows a classification tree preparation process of the embodiment. Fig. 8 shows a classification tree of the embodiment, and Fig. 9 shows an application of a prior art neural network. A preferred embodiment of the present invention is explained with reference to the accompanying drawings. [Embodiment 1] Fig. 2 shows a configuration of an information processing apparatus to which the pattern recognition method of the present invention is applied. A pattern recognition apparatus comprises a pattern input unit 201, a display unit 202, a central processing unit (CPU) 203 and a memory 204. The pattern input unit 201 comprises a digitizer for on-line character recognition and coordinate data of a character or graphics inputted on the digitizer by a stylus is delivered to the CPU 203. The pattern input unit is not limited to the combination of the digitizer and the stylus but it may by a scanner (for inputting binary pattern data) or microphone (for inputting a sound pattern) so long as it can input a pattern to be recognized. The display unit 202 displays unprocessed pattern data inputted by the pattern input unit 201 and a result of recognition by the CPU 203. The CPU 203 recognizes the input pattern and executes a process shown in a flow chart to be described later in accordance with a control program stored in the memory 204 and controls all units. The memory 204 stores a recognition program and a dictionary to be used by the CPU 203 and stores variable parameters to be used by the recognition program and data produced during the recognition process. Fig. 1 shows a pattern recognition dictionary preparation method and a pattern recognition method in the present embodiment. Numeral 101 denotes an unprocessed learning pattern, numeral 102 denotes a hierarchical pre-process for delivering the unprocessed learning pattern to a neural network, numeral 103 denotes a hierarchical learning pattern processed by the neural network, numeral 104 denotes classification tree preparation for preparing a classification tree based on the hierarchical learning pattern, numeral 105 denotes developed variable discrimination used during the preparation of the classification tree by the classification tree preparation, and numeral 106 denotes a final classification tree. In the present embodiment, an input is the unprocessed learning pattern and an output is the classification tree. Referring to Figs. 3 to 7, an operation of the present invention is explained. Ten different numerals '0' to '9' drawn on a 16 × 16 mesh are assumed as a category of the input patterns. A '0' input pattern is shown in Fig. 5. It is assumed that learning patterns inputted for preparing the dictionary include '0' to '9' with each category including 100 patterns. That is, 100 templates are prepared for each category. The templates prepared from the learning patterns are designated by LT i,j (learning template i, j, where i is a suffix indicating a category and 0 ≤ i ≤ 9, and j is a suffix indicating a template number and 1 ≤ j ≤ 100). Based on the above assumption, a four-hierarchy neural network as shown in Fig. 3 is constructed. The four hierarchies in Fig. 3 comprises 2 × 2, 4 × 4, 8 × 8 and 16 × 16 neuron groups, respectively. As shown in a flow chart of Fig. 4, the pattern recognition dictionary preparation process of the present embodiment is executed through two steps, a neural network developing phase and a classification tree preparation phase. The respective phases are explained in sequence. (1) Neural network developing phase The learning templates are inputted as the lowest layer 16 x 16 neurons of Fig. 3. It is assumed that the neurons are off at white portions of the input pattern (LT i,j ) and the neurons are on at black portions. (In the following description, black and neuron on, and white and neuron off are interchangeably used.) The structure of the neural network is very simple. Namely, the input pattern is processed toward upper layer with a conventional that if there is at least one on neuron in one 2 × 2 neuron group in a lower layer, a corresponding neuron in the immediately upper layer is on. A learning template shown in Fig. 5 is processed in the neural network developing process to prepare a neural network comprising first to fourth layers as shown in Fig. 6. A characteristic space of the input pattern forms a 256-order super cubic lattice (2 256 ). It is degenerated to 2 64 in the third layer, to 2 16 in the second layer and to 2 4 in the first layer. The structure/rule of the neural network is not limited to the above. (2) Classification tree preparation phase All of the learning templates (LT i,j ) (ten categories each having 100 patterns) are developed into the neural network as shown in Fig. 3 in the neural network developing phase (1). The preparation of the classification tree is conducted from the upper (first) layer to the lower (fourth) layer as opposed to the development of the neural network. A root node starts from a virtual neuron above the highest layer (first layer 2 × 2) of Fig. 3. As the development of the learning templates (LT i,j ), at least one of the neurons in the highest order layer (2 × 2) of Fig. 3 is on. (Not all neurons in the highest order layer (2 × 2) is off except when a totally white learning template is present). Accordingly, the activity of the virtual highest order neuron is on for all learning templates (LT i,j ). Since there are 2 4 = 16 states of the highest order layer (2 x 2) (more exactly, 15 states because there is no all-off state as explained above), 16 branches extend from the root node (see Fig. 7). The number of learning templates (LT i,j ) which are present in each branch is counted. The subsequent process branches depending on the result. (1) No learning template (LT i,j ) is present: The branch is deleted. (2) Only templates in certain category (for example, '1') are present in the learning templates (LT i,j ): If the branch is determined, the category will be uniquely determined and the branch is defined as a leaf and assigned with a category number (for example, '1'). (3) Other than (1) and (2) above, that is, templates of a plurality of categories are mixedly present: The branch is defined as a node to continue the preparation of the classification tree. Fig. 7 shows a result of the above process. The branch states are shown by showing firing states of the neurons of the highest order layer (first layer) of Fig. 3. (Black represents on and white represents off). The branch for which the type of existing category is x corresponds to the case (1) "No learning template (LT i,j ) is present" and it is deleted. (Strictly speaking, since it has been known that there is no totally white pattern, the leftmost branch does not extend from the root.) In the eighth branch from the left end, only the learning templates of the category '1' are present. This corresponds to the case (2) "Only templates in certain category (for example, '1') are present in the learning templates (LT i,j )" and it becomes a leaf. In the twelfth branch from the left end, the learning templates of the categories '2', '4', '5' and '6' are present. This corresponds to the case (3) "Other than (1) and (2) above, that is, templates of a plurality of categories are mixedly present" and it becomes a node. A method for preparing a branch from a node is described. In preparing the branch from the node, it is desired to prepare a most efficient branch. The most efficient means that most information on the category is derived when the branch is developed. It is assumed that the branches developed from the node are limited to those branches developed toward lower layers from the on-state neurons in the node. For example, for the twelfth branch from the left end in Fig. 7, one neuron is selected from three neurons at the left top and the right button in the first layer of Fig. 3 and branches are developed for the states of the neurons below those neurons, that is, the lower four neurons of the second layer of Fig. 3. As a result, a calculation time required for the development of the branches is significantly reduced. Such restriction does not essentially damage the classification function of the classification tree. A method for selecting a most efficient neuron among the on-state neuron in the node when they are developed is now explained. Assuming that the number of learning templates having the category number i among the learning templates (LT i,j ) present in a node is represented by N i and the total number of the learning templates present in the node is represented by N, a probability p i of presence of the respective category in the node is represented by p i = N i /N, where Accordingly, an entropy when the node information is derived is expressed by: One on-state node in the node is selected and a decrease of the entropy when branches are developed therefrom is calculated. As described above, the number of branches when one neuron is developed toward the lower layer is 16. A manner of distribution of the learning templates (LT i,j ) to the sixteen branches is shown by the number N i,b of the learning templates (LT i,j ) present in the developed branches, where i represents the category number and b represents the branch number. An entropy when the respective branch information is derived is given by: where represents a total number of learning templates (LT i,j ) present in the branches. A probabitility to go to the respective branches is given by: N b N Since N is same as the N in the formula (1), an average entropy when the branches are developed is given by: Thus, an average decrease of the entropy is given by: EntropyDecrease = Entropy node - Entropy branch A quotient of the formula (4) divided by the number of branches. EntropyDecrease BranchNumber represents a classification efficiency when the branches are developed. A neuron having a maximum value for the formula (5) is selected and the branches are developed. Instead of developing only one neuron, the branch may be developed for a group of neurons. In this case, the Branch Number in the formula (5) is equal to the number of neurons × 16. (Strictly speaking, the Branch Number is equal to the number of neurons × 16 since it is not possible that all neurons in the lower layer are off.) In the present embodiment, the value represented by the formula (5) is adopted as the value to represent the classification efficiency when the branches are developed but other value than the formula (5) may be used for a function representing the development efficiency of the branches of "Gini criterion" described in the reference "Classification and Regression Trees" (Breiman, Friedman, Olshen and Stone, 1993 Chapman & Hall, ISBN 0-412-04841-8). When a neuron or a set of neurons to be developed is determined, the branches are developed and leaves and nodes are prepared. When all finally become leaves, the preparation of the classification tree is completed. Fig. 8 shows a content of classification tree actually prepared. Fig. 8 shows a detail of Fig. 7 with the deleted branches being omitted. The branches with circles in Fig. 8 indicate that they are leaves. Since all branches other than leaves become nodes, the branches are developed further deeply. In Fig. 8, the result of the further development of the branches is shown for only the third node from the right end. In the third node from the right end, three categories '1', '7' and '9' coexist and the development of branches is needed. It is assumed that in the third node from the right end, the neuron in the first layer to be developed is determined as the right top neuron in the first layer in the development variable discrimination step. Then, 2 4 =16 branches are developed for the state of the right top neuron as they are in Fig. 7 and some branches are deleted, some branches become leaves and some branches become nodes in accordance with the above conditions (1) to (3). The leaves which become the nodes should further develop the branches and finally the ends of all branches are leaves. In Fig. 8, the result of development of the third node from the right end is shown by overwriting the first layer and the second layer for simplification. In actual, the states are represented in the four neurons of the first layer and the four right top neurons of the second layer of the neural network shown in Fig. 3. The actual recognition process may be conducted along the classification tree prepared in the manner described above or by making the leaves prepared by the classification tree into the form of templates. [Embodiment 2] In the neural network development phase (1) of the Embodiment 1, the neural structure/rule is set as follows: If two or more neurons of the lower layer 2 × 2 neurons are on, one neuron on the above layer is on and others are off. In this case, it is not always true that the information of only the on-state neuron degenerates as it is in the Embodiment 1. Accordingly, in the classification tree preparation phase (2), a neuron or a set of neurons to be developed, including off-state neurons, should be selected. It may be implemented in the same manner as that of the Embodiment 1. Thus, the limitation to the neural network structure/rule is essentially zero and it is only needed that certain degree of continuity is assured. For example, for the states of the branches of Fig. 7, the rule in the Embodiment 1 is that the leftmost neurons of the lower four neurons is off and others are on, and the rule of the present embodiment is that the neurons up to the fifth from the left end are off and others are on. The boundary of off and on may be arbitrarily set in the array of states of Fig. 7 because the rule/mapping continuity is assured.

Claims: An information processing method comprising the steps of: receiving an initial input learning pattern (101) of a characteristic variable; hierarchically degenerating, in a preprocessing step (102), said initial input learning pattern, in a sequence of processing steps, each step comprising mapping a pattern existing on a lower hierarchy layer to a pattern on an upper hierarchy layer, a pattern on an upper layer comprising less information than a pattern on a lower layer, until a top layer representing an elementary pattern is attained; preparing (104) a classification tree, based on the preprocessing step (102), from the top layer as a root node via intermediate layers as branch nodes to final nodes as leaves of the tree and providing the individual nodes with an entropy measure characterising loss of information when an individual node is or a group of nodes are selected for classification of input learning patterns; and selecting nodes of the classification tree providing the highest classification efficiency with regard to loss of information when said nodes are selected as classification nodes. An information processing method according to claim 1, comprising recognising an input pattern by using the prepared classification tree. An information processing method according to Claim 1, comprising preparing a recognition template based on the prepared classification tree, and recognising an input pattern by using the template. An information processing method according to claim 2 or claim 3, comprising generating a recognition result and displaying said recognition result on a display unit. An information processing method according to one of the preceding claims, comprising receiving an input pattern by means of a tablet. An information processing method according to one of claims 1 to 4, comprising receiving an input pattern by means of a scanner. An information processing method according to any one of claims 1 to 4, comprising receiving an input pattern by means of a microphone. An information processing method according to any one of claims 1 to 5, wherein the input pattern is a hand-written character pattern. An information processing method according to any one of claims 1 to 4 or claim 6, wherein the input pattern is an optically read character pattern. An information processing method according to any one of claims 1 to 4 or claim 7, wherein the input pattern is a sound pattern. An information processing apparatus comprising: receiving means (201) for receiving an input pattern; hierarchical preprocessing means (203) for hierarchically degenerating an initial input learning pattern of a characteristic variable, including mapping means for mapping a pattern existing on a lower hierarchy layer to a pattern on an upper hierarchy layer, a pattern on a higher layer comprising less information than a pattern on a lower layer, until a top layer representing an elementary pattern is attained; classification tree preparing means for preparing a classification tree, based on a mapping generated by said mapping means in use, from the top layer as a root node via intermediate layers as branch nodes to final nodes as leaves of the tree and for providing the individual nodes with an entropy measure characterising loss of information when an individual node is or a group of nodes are selected for classification of input learning patterns; and node selecting means for selecting nodes from a classification tree prepared by said classification tree preparing means nodes providing the highest classification efficiency with regard to loss of information when said nodes are selected as classification nodes. An information processing method according to claim 11, further comprising recognition means for recognizing an input pattern by means of a classification tree prepared by said classification tree preparing means. An information processing apparatus according to claim 11, further comprising recognition means for preparing a recognition template based on a classification tree prepared by said classification tree preparing means and for recognizing an input pattern by means of the template. An information processing apparatus according to claim 12 or claim 13, and comprising a display unit (202) for displaying a recognition result. An information processing apparatus according to any one of claims 11 to 14, wherein the receiving means (201) comprises a tablet. An information processing apparatus according to any one of claims 11 to 14, wherein the receiving means (201) comprises a scanner. An information processing apparatus according to any one of claims 11 to 14, wherein the receiving means (201) comprises a microphone. A storage medium storing computer executable instructions operable to configure a computer to operate in accordance with a method of one of claims 1 to 10. A computer program product comprising computer executable instructions operable to configure a computer to operate in accordance with the method of one of claims 1 to 10.

Inventors: YOSHII HIROTO, YOSHII, HIROTO, YOSHII, HIROTO, C/O CANON K.K.
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1995
Main classification: G06K9
IPC codes: G06K9, G10L15, G06T1