This is the internal function that implements the fuzzy inference rules by descent method (FIR.DM).
It is used to solve regression tasks. Users do not need to call it directly,
but just use frbs.learn
and predict
.
1 2  FIR.DM(data.train, num.labels, max.iter, step.size, type.tnorm = "MIN",
type.snorm = "MAX", type.implication.func = "ZADEH")

data.train 
a matrix (m \times n) of normalized data for training, where m is the number of instances and n is the number of variables. The last column is the output variable. Note the data must be normalized between 0 and 1. 
num.labels 
a matrix (1 \times n) whose elements represent the number of labels (fuzzy terms), where n is the number of variables. 
max.iter 
the maximal number of iterations. 
step.size 
the step size of the descent method, between 0 and 1. 
type.tnorm 
the type of tnorm. For more detail, please have a look at 
type.snorm 
the type of snorm. For more detail, please have a look at 
type.implication.func 
a value representing type of implication function. For more detail, please have a look at 
This method was proposed by H. Nomura, I. Hayashi, and N. Wakami. FIR.DM uses simplified fuzzy reasoning where the consequent part is a real number (a particular case within the Takagi Sugeno Kang model), while the membership function on the antecedent part is expressed by an isosceles triangle. So, in the learning phase, FIR.DM updates three parameters which are center and width of the triangular and a real number on the consequent part using a descent method.
H. Nomura, I. Hayashi and N. Wakami, "A learning method of fuzzy inference rules by descent method", IEEE International Conference on Fuzzy Systems, pp. 203  210 (1992).
DM.update
, frbs.learn
, and predict
.
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.