I'm a relative newbie to fuzzie logic systems but I have some knowledge in mathematics. I have the following problem:

I want to fuzzify certain values. Some are in the range [-$\inf$,$\inf$] and some are in the range [$0$,$\inf$]. For the first range I have chosen the sigmoid function:

$f(x) = \frac{1}{1+e^{-x}}$

The question is, which fuzzification process I should use for the second range. Since the function $f(x) = \ln(x)$ transforms [$0$,$\inf$] to [-$\inf$,$\inf$] a natural choice could be:

$f(x) = \frac{1}{1+e^{-\ln(x)}} = \frac{x}{x+1}$

A different function could also be:

$f(x) = 1 - 2^{-x}$

Which one would be more suitable? Particularly when considering that I may want to compare values from both ranges.

  • $\begingroup$ If somebody uses mathematical equations to describe a problem he is doing prototyping. A function like “y=1/(1+e^-x)” is a mathematical model to simplify a domain. The problem is that such an equation is oversimplifying the original problem. The better approach is to create at least a GUI mockup in Python to make clear what the constraints are. $\endgroup$ – Manuel Rodriguez Dec 22 '18 at 20:06

Fuzzification involves the normalization of the set of input values and the fuzzy mapping of values to gradually partitioned spaces. The mapping is many to many rather than many to one. In other words an input value may be partly in more than one partition and perhaps all of them to varying degrees. Thus the choice of fuzzy membership function, is related to distribution and the overlap of membership domains.

It is not enough to know that the values in one channel of input are theoretically

  • Constrained in both directions,
  • Constrained in one direction and unconstrained in the other, or
  • Constrained in both.

All the dominant features of the domain distribution matter. Obviously the function chosen must must handle the input range, but that's not the most important factor in selection.

For the $[-\infty, \infty]$ case, a simple example is signal strengths in RMS or the integral over a power spectrum. Values in that case often distribute more evenly using $\log{x}$ normalization, which is why decibels are often used to describe signal strength relative to some norm or the ratio of signal to noise. It is also approximately the normalization used by the human ear. With identity normalization $x$, signal distribution may seem highly distributed at lower levels, whereas the same data normalized by $\log{x}$ often distributes more reasonably for fuzzification.

  • Distributed in a way that looks similar to a plateau
  • Distributed in a way that exhibits multiple strong means

In the $[0, \infty]$ case, whether the data is bids in an auction, absolute temperatures, or home values may be the driver of function selection. They would all reflect the asymmetry of constraints, but auction bids may be close to exponential Gaussian, absolute temperatures may be close to log Gaussian but truncated since negative absolute temperatures are thermodynamically impossible, and home values may always be above zero but concentrated near the middle, with a second or third smaller mean if there is shore property, apartment complexes, older sections of town, or an upper middle class section of the community.

Once normalization is understood, the functions for the weights of each fuzzy membership inclusion become obvious. Natural means in the distribution correspond to natural fuzzy membership states. Ranges of featureless distributions and segments of distribution that decay to nothing on the ends can correspond to additional natural fuzzy memberships. Fuzzy membership functions for the assignment of fuzzy weights are most efficiently processed if they overlap such that membership values sum to 1.0 all possible input values in the input range.

In practice, for the sake of computational efficiency, the fuzzification functions that assign inclusion weights can be substituted into the normalization function so that normalization and partitioning occur in one reduced function, however there is value in leaving the two layers of functional application separate: Ease in independently correcting skew and tuning fuzzy partitioning.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.