|
Algorithm 1 EFNN-SOF training and update algorithm. |
Initial Batch Learning Phase (Input: data matrix X with K samples):
-
1:
Extract L clouds in the first layer using the SOF approach (L is automatically estimated therein).
-
2:
Estimate center values and widths for the L clouds derived from SOF.
-
3:
Calculate the combination (feature) weights for neuron construction using Equation (20).
-
4:
Construct L logic neurons on the second layer of the network by welding the L fuzzy neurons of the first layer, using logical neurons concept and weights .
-
5:
-
6:
fordo
-
7:
Calculate the regression vector by activation levels of all neurons in .
-
8:
Store it as one row entry into the activation level matrix Z.
-
9:
end for
-
10:
Extract reduced activation level matrix according to the selected neurons.
-
11:
Estimate the weights of the output layer for all classes by Equation (23) using and indicator vectors .
Update Phase (Input: single data sample ):
-
1:
Update clouds and evolving new ones on demand in the first layer using evolving SOF approach (→ clouds).
-
2:
Update the feature weights by updating the within- and between-class scatter matrix and recalculating Equation (20).
-
3:
Perform Steps 2 and 4 with clouds.
-
4:
Calculate the degree of change of all neurons (rules) by Equation (29).
-
5:
Calculate the regression vector by activation levels of all neurons in .
-
6:
Update the weights of the output layer by Equation (26).
|