I am applying a Neuro-fuzzy system for classifying objects. I found only a single paper "Rough-Neuro-Fuzzy System with MICOG Defuzzification," and it is tough to follow how the output, which is the class, is defuzzified and the interpretation of the defuzzified class.

For example: If object{color} is Green And object{size} is small And object{shape} is Square Then Object is GreenBox. Hence, the Situations are the class labels {GreenBox, RedCup, Table}. The application is that these represent situations where the shopper is at a particular counter. That is, the shopper is shopping for boxes or cups, or furniture.

I have questions regarding the defuzzification step of the neuro-fuzzy system used in classification. Neurons in layer 1 provide input values to the network. Neurons in layer 2 represent fuzzy sets defined on the input variables: each neuron receives the input value and computes a membership value through a Gaussian function. Each neuron in layer 3 corresponds to a rule; it is connected to the neurons in layer 2, which implement the fuzzy sets and computes the activation strength as a product of the membership values. Layer 4 is the class variable. Say there are 3 classes C1: [0 1 0]; C2: [0 0 1]; C3: [0 1 1]; and there are 5 input nodes. According to fuzzy set theory, after the variables are fuzzified, there should be a module for defuzzification. So, how is the class label defuzzified? And then, we can confidently say that there is an 85% probability that the shopper is shopping for furniture if the input patterns are labeled under Class 3. I shall be grateful for your insights. Thank you


2 Answers 2


Your question, as I understand it, is this: So, how is the class label defuzzified and then we can say with a confidence that 85% probability that the shopper is shopping for furniture if the input patterns are labelled under Class 3.

I use the following to understand defuzzification:
- http://www.mathworks.com/help/fuzzy/examples/defuzzification-methods.html - http://www.cse.dmu.ac.uk/~rij/newrep/node16.html

Have you considered something like this: - http://sipi.usc.edu/~mendel/publications/FLS_Engr_Tutorial_Errata.pdf

It contrives the FL problem so they allow direct and parallel comparison with feedforward neural networks.

Have you considered radial basis function networks? They can be trained to give outputs of mahalanobis distance given inputs of the parameters. Mahalanobis distance can be converted to probability density.


Since you want a probability distribution to be output in the last layer, you make the last layer be a differentiable normalization function that sums to 1.

One function that is well used and well understood in this regard is the SoftMax function, and it is used widely as the last layer of the neural network, with a negative log-likelihood cost function.

  • $\begingroup$ Thank you for providing the function information. Is it possible for you to explain how to actually apply it and the implication with an example? The theory is quite complicated and difficult to visualize. $\endgroup$
    – Srishti M
    May 28, 2014 at 17:28
  • 1
    $\begingroup$ Apply the following function to your last layer's neurons: f_i(x) = exp(x_i-shift) / sum_j exp(x_j-shift), where shift = max_i x_i. Here f_i(x) is your i-th neuron's output, and x_i, x_j are your neurons, i.e. loop over all neurons x1, x2, ... xi $\endgroup$
    – smhx
    May 28, 2014 at 23:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.