Fuzzy logic trees are a machine learning method that applies the principles of fuzzy logic to standard logical decision trees. Fuzzy logic trees are trained by simulated annealing. This website will be updated with results and succesful applications.
The fuzzy operation used is the biased ordered weighted average. Each node is binary, and moves continuously from AND-like to OR-like operation. The less important input is interpolated towards the dominant one.
A C program to generate the trees is available, with an auxiliary Java program for viewing the trees graphically.
Introduction to Fuzzy Logic Trees
There are many different machine learning techniques, most of which can be applied to the same datasets, but which naturally fit different sets of data. For instance a Bayesian network is the natural choice for highly autocorrelated data where it is obvious to the human expert which way the influence goes, as in a diabetes model, where age influences pregnacy and the chance of having diabetes, but pregnancy doesn't directly influence diabetes and doesn't influence age. On the other hand if data is in a time series or genetic sequence, then a Markov model would be more suitable.
The bioinformatician must have a “goody bag” of algorithms to hand, which he can apply to the particular problems of his dataset.
The fuzzy logic tree is introduced as a new member of the bag. Superficially it is similar to the logic regression tree, but uses fuzzy rather than crisp Boolean logic. In reality, however, it has more in common with feed-forwards neural networks. Like the neural network, inputs are fed through a series of computationally simple units to produce a real-valued output on the range 0-1. Unlike the neural network, the result always represents a set membership, and never a real-valued function.
Fuzzy values are an attempt to represent linguistic terms, such as “John is fairly tall” in a way that can be handled by the computer (Zadeh, 1965). It is thus hoped that the trees produced will be relatively interpretable to the human expert. In multifactorial traits, like asthma or diabetes or milk yield in cows, there are usually a lot of proposed risk factors with a weak statistical or biological link to the trait, and which interact in the real world in complex ways. The fuzzy logic tree is designed to sort through them to find a combination of factors which strongly predict the trait.
· Java Environment