## 2 Proposed Method
### Training Process of the Proposed Architecture
Consequently, two possible cases can be distinguished according to the label \(\Gamma(r,i)\) of \(x_{rk}\): (1) \(x_{rk}\) is well classified, if its true label \(\mathcal{L}(x_{rk})\) is equal to \(\Gamma(r,i)\), or (2) \(x_{rk}\) is misclassified, if \(\mathcal{L}(x_{rk})\
eq\Gamma(r,i)\). Figure 2: Multi-competitive-layer neural network. \(x_{k}\) is an object vector, \(p\) is the dimension of the data space, i.e., the number of features per object vector, \(c\) is the number of clusters that form the training data set \(X\), \(U_{q}\) is the vector of membership degrees of \(x_{k}\) to all classes of layer \(q\), \(L_{q}\) is the local decision (Equation (12)), and \(L\) is the global or the final decision (Equation (13)). In the first case, the \(r\)th layer is used to recognize \(x_{rk}\), and we say that \(x_{rk}\) accepts its representation by the winning neuron of the \(r\)th layer. In the second case, the classification result is ignored because \(x_{rk}\) cannot be represented by the winning neuron. In this case, \(x_{rk}\) is considered as a strong element that leads to the addition of a new neuron to MCLNN that may better represent it. For this, the \(p\) synaptic weights of the newly added neuron are initialized using the \(p\) components of \(x_{rk}\). In the instance where the membership degree of \(x_{rk}\) to the class represented by the winning prototype in the current layer does not reach its acceptance threshold \(\zeta_{r}\), we consider that \(x_{rk}\) cannot be classified at the level of this layer and we assign it to a new training data set that will be used for training the next additional layer, \(r+1\). This mechanism can be summarized by the following mathematical expression:  
\[L_{r}(x_{rk})=\left\{ \begin{array}{ll}-1&if~{}max_{i}(u_{rl}(x_{rk}))<\zeta _{r}\\ \Gamma(r,argmax_{i}(u_{rl}(x_{rk})))&otherwise\end{array} \right. \tag{12a}\]  
where \(L_{r}(x_{rk})\) is the label of the object \(x_{rk}\) generated by the \(r^{th}\) layer. If \(L_{r}(x_{rk})=-1\), \(x_{rk}\) and all similar objects cannot be processed by this layer; \(argmax_{i}(u_{rl}(x_{rk}))\) is the maximum membership degree of \(x_{rk}\) to all clusters; \(\Gamma(r,i)\) is the label of cluster \(C_{ri}\) represented by neuron \(i\) of layer \(r\); and \(\zeta_{r}\) is the minimum threshold of membership degree for \(x_{rk}\) to accept to be represented exclusively by a neuron of the current layer. Any result of classification generated by other layers is then ignored. The number of layers used to form the MCLNN depends on the learning outcomes of the first layers. Indeed, if the first layers allow the correct classification of all training examples, there will be no need for additional layers and the training process of MCLNN is terminated. In the presence of misclassified objects, however, the validation step will group all these objects with those, if any, that present small membership degrees to all classes, in order to form the training data set for the next additional layer. This process is iterated until all objects are well classified or a maximum number of layers is reached. Our simulation results show that, for all the studied data examples, all objects could be well classified before reaching the fixed maximum of 20 layers (Table 1). A more formal description of this hybrid learning algorithm is given by the following pseudo-code:  
Given a set of \(n\) training examples \(X=\{x_{1},\ldots,x_{n}\}\subset R^{p}\);  
Step 1: Construct a neural network of one competitive layer with \(c\) neurons (So far, \(r=1\), \(c_{r}=c\) and \(X_{r}=X\));  
Step 2: Initialize \(\zeta_{0}\) by a value in \([0,1]\);  
Step 3: Initialize the step \(\delta\) with a value in \([0,\zeta_{0}]\);  
Step 4: Apply FLVQ to train the layer \(r\) using the data set \(X_{r}\); This step ends with the