Neuro-fuzzy reasoner (NFR) is a software component capable of learning the set of predefined fuzzy rules. The fuzzy approach enables approximate reasoning and it is suitable for modeling human decision process.
An example rule:
IF (TEST_RESULT IS HIGH )
THEN STUDENT_CLASS IS EXCELLENT
This rule says that if a student has high result on a test, he is classified as an excellent student. The expression
(TEST_RESULT IS HIGH) is the premise, and the expression (STUDENT_CLASS IS EXCELLENT) is the consequence of this fuzzy rule. TEST_RESULT and STUDENT_CLASS are linguistic variables, and their corresponding values are HIGH and EXCELLENT. The premise of a fuzzy rule is always a fuzzy value, but the consequence may be a fuzzy or a crisp value. In this example, HIGH is a fuzzy set, and EXCELLENT is a crisp value - class representing the classification of the student.
Another example:
IF ( (TEST_RESULT IS HIGH) AND (STUDENT_SPEED IS FAST) )
THEN STUDENT_CLASS IS EXCELLENT
Application example:
Let us take an example of student modeling using a neuro-fuzzy system. The system enables classification of students based on qualitative observations of their characteristics. Since the fuzzy model is very close to verbal model, NFR makes it easy to create fuzzy rule system according to the expert's knowledge .
A NFR model for student classification based on test results and the time needed to complete the test is described below.
1. Input and output values Input values:
- Test score [0..100]
- The time needed to complete the test [0..120]
Output values:
- Classes of students: {Bad, Good, Very good, Excellent}
2. Fuzzy sets
The input space is partitioned by the following fuzzy sets:
- Test score: Bad, Low, Mid, High
- The time needed to complete the test, interpreted as speed: Slow, Moderate, Fast
Creating and training the neural network
When the fuzzy model is defined, the construction of the corresponding NFR model is straightforward. The NFR model that corresponds to the previously defined fuzzy model is shown in fig. 4.
The network is constructed using the following principles:
1. The number of cells in the input layer L1 is equal to the number of inputs;
2. The number of cells in the fuzzyfication layer L2 is equal to the number of fuzzy sets;
3. The number of cells in the premise layer is equal to the number of rules;
4. The number of cells in the output layer is equal to the the number of classification classes;
5. The connection pattern is the same for all NFR models and it is shown in fig. 4.
Experimental evaluation done on the model above based on real world data resulted in close to 90% accuracy.
NFR offers a customized, multidimensional classification, and a well structured, semantically rich classification model. But it is important to note that NFR does not offer real-time evaluation. In the example above, NFR can be used to evaluate the total test result by observing several parameters defined by the teacher.
An example rule:
IF (TEST_RESULT IS HIGH )
THEN STUDENT_CLASS IS EXCELLENT
This rule says that if a student has high result on a test, he is classified as an excellent student. The expression
(TEST_RESULT IS HIGH) is the premise, and the expression (STUDENT_CLASS IS EXCELLENT) is the consequence of this fuzzy rule. TEST_RESULT and STUDENT_CLASS are linguistic variables, and their corresponding values are HIGH and EXCELLENT. The premise of a fuzzy rule is always a fuzzy value, but the consequence may be a fuzzy or a crisp value. In this example, HIGH is a fuzzy set, and EXCELLENT is a crisp value - class representing the classification of the student.
Another example:
IF ( (TEST_RESULT IS HIGH) AND (STUDENT_SPEED IS FAST) )
THEN STUDENT_CLASS IS EXCELLENT
Application example:
Let us take an example of student modeling using a neuro-fuzzy system. The system enables classification of students based on qualitative observations of their characteristics. Since the fuzzy model is very close to verbal model, NFR makes it easy to create fuzzy rule system according to the expert's knowledge .
A NFR model for student classification based on test results and the time needed to complete the test is described below.
1. Input and output values Input values:
- Test score [0..100]
- The time needed to complete the test [0..120]
Output values:
- Classes of students: {Bad, Good, Very good, Excellent}
2. Fuzzy sets
The input space is partitioned by the following fuzzy sets:
- Test score: Bad, Low, Mid, High
- The time needed to complete the test, interpreted as speed: Slow, Moderate, Fast
Creating and training the neural network
When the fuzzy model is defined, the construction of the corresponding NFR model is straightforward. The NFR model that corresponds to the previously defined fuzzy model is shown in fig. 4.
The network is constructed using the following principles:
1. The number of cells in the input layer L1 is equal to the number of inputs;
2. The number of cells in the fuzzyfication layer L2 is equal to the number of fuzzy sets;
3. The number of cells in the premise layer is equal to the number of rules;
4. The number of cells in the output layer is equal to the the number of classification classes;
5. The connection pattern is the same for all NFR models and it is shown in fig. 4.
Experimental evaluation done on the model above based on real world data resulted in close to 90% accuracy.
NFR offers a customized, multidimensional classification, and a well structured, semantically rich classification model. But it is important to note that NFR does not offer real-time evaluation. In the example above, NFR can be used to evaluate the total test result by observing several parameters defined by the teacher.