frbs (version 3.2-0)

GFS.Thrift: GFS.Thrift model building

Description

This is the internal function that implements the Thrift's technique based on a genetic algorithm. It is used to tackle regression tasks. Users do not need to call it directly, but just use frbs.learn and predict.

Usage

GFS.Thrift(data.train, popu.size = 10, num.labels, persen_cross = 0.6,
persen_mutant = 0.3, max.gen = 10, range.data.ori,
type.defuz = "WAM", type.tnorm = "MIN", type.snorm = "MAX",
type.mf = "TRIANGLE", type.implication.func = "ZADEH")

Arguments

data.train

a matrix ($$m \times n$$) of normalized data for the training process, 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.

popu.size

the size of the population which is generated in each generation.

num.labels

a matrix describing the number of linguistic terms.

persen_cross

a real number between 0 and 1 representing the probability of crossover.

persen_mutant

a real number between 0 and 1 representing the probability of mutation.

max.gen

the maximal number of generations for the genetic algorithm.

range.data.ori

a matrix containing the ranges of the original data.

type.defuz

the type of the defuzzification method. For more detail, see defuzzifier. The default value is WAM.

type.tnorm

the type of t-norm. For more detail, please have a look at inference.

type.snorm

the type of s-norm. For more detail, please have a look at inference.

type.mf

the type of shape of membership function. See fuzzifier.

type.implication.func

the type of implication function. See WM.

Details

This method was developed by Thrift using Mamdani's model as fuzzy IF-THEN rules. In this method, we consider a table as a genotype with alleles that are fuzzy set indicators over the output domain. The phenotype is produced by the behavior produced by the fuzzification, max-* composition, and defuzzification operations. A chromosome (genotype) is formed from the decision table by going rowwise and producing a string of numbers from the code set. Standard crossover and mutation operators can act on these string.

References

P. Thrift, "Fuzzy logic synthesis with genetic algorithms", In Proceedings of the Fourth International Conference on Genetic Algorithms (ICGA91), San Diego (United States of America), pp. 509 - 513 (1991).

GFS.Thrift.test, frbs.learn, and predict