what is 'radii' in the 'genfis2' function?

4 views (last 30 days)
Ray on 12 Sep 2015
Edited: Hamoon on 12 Sep 2015
fismat = genfis2(Xin,Xout,radii)
the usage for genfis2 is shown above. One of the input required is radii.
i do not understand the meaning of radii. according to the help file,
"radii is a vector that specifies a cluster center's range of influence in each of the data dimensions, assuming the data falls within a unit hyperbox. For example, if the data dimension is 3 (e.g., Xin has two columns and Xout has one column), radii = [0.5 0.4 0.3] specifies that the ranges of influence in the first, second, and third data dimensions (i.e., the first column of Xin, the second column of Xin, and the column of Xout) are 0.5, 0.4, and 0.3 times the width of the data space, respectively. If radii is a scalar value, then this scalar value is applied to all data dimensions, i.e., each cluster center has a spherical neighborhood of influence with the given radius."
I've read this paragraph over and over again but still dont really understand it. I'm using genfis2 instead of genfis1 because of my large input data. the result i get is less than satisfactory. i'm hoping to tweak the radii value to improve it. right now i'm using radii=0.5, the same value used in the matlab help example

Accepted Answer

Hamoon on 12 Sep 2015
Edited: Hamoon on 12 Sep 2015
To make it simpler, just focus on the effects that different amounts of randii have on your Fuzzy system. If you set radii as 1 for all inputs, then genfis2, makes two Guassian membership functions for each input with large amount for sigma, so the range of their influence on data is large. On the other hand, when you use a smaller value for radii, then genfis2 makes more Guassian membership functions for each input data with smaller sigma, and that's reasonable because when you have Guassian membership functions with small sigma you need more of them to cover the entire data range. And also more membership functions need more Fuzzy rules. As a result with lower amount for radii you will have more membership functions and more rules for your data.
You also need to consider that genfis2 does not give you a good result for any data, as it is usually used as an initial system to train ANFIS. So, you probably need to use ANFIS (if possible) or insert concepts based on your own knowledge of the data into the system to get a better result from that.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!