Skip to Main Content
Neural networks are good at representing functions or data transformations. However just as in the case of the biological brain the mathematical description of the data transformation is hidden. In the case of the human brain the transformation, in terms of rules, may be extracted by interviewing the person, in the case of the artificial neural network other approaches have to be utilized. In the case described here a second neural network that represents the transformation in terms of fuzzy rules is trained using gradient descent. The parameters that are learned are the parameters of the fuzzy sets and also the connection weights in [0, 1] between the outputs of the membership function units and the final output units. There is an output unit for each rule and consequent membership function. The fuzzy output set with the highest membership value is taken to be the output fuzzy set. The extracted rules are of the form if X0 is small or X0 is Medium and x1 is large or X1 is medium then y is large X0 and X1 are inputs and y is the output. The cost measure consists of several terms indicating how close the actual output is to a target output, how close the weights are to 0 and 1, and how close the output of membership values is to a 1 of n vector. The cost measure is a linear combination of these individual terms. By changing the constant multipliers the relative importance of the cost measures can be changed and studied. The method has been tried on randomly generated feedforward neural networks and also on data produced by functions with specific properties. The fuzzy network is trained using data produced by the feedforward neural network or the known function. This method can also be used in extracting rules such as control rules implicitly used by a human if input and output data is gathered from the human.