Abstract:
A method of automatically generating a multi-variable fuzzy inference system using a Fourier series expansion. Sample sets are decomposed into a cluster of sample sets associated with given input variables. Fuzzy rules and membership functions are computed individually for each variable by solving a single input multiple outputs fuzzy system extracted from the set cluster. The resulting fuzzy rules and membership functions are composed and integrated back into the fuzzy system appropriate for the original sample set with a minimal computational cost. In addition, an overall system error can be related to errors at each stage of decomposition and composition, enabling error bounds or accuracy thresholds for each stage to be specified and ensuring the final precision of the resulting fuzzy system on the original sample set.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is related to the field of fuzzy logic and, more particularly, to a system and method for automatically generating a multi-variable fuzzy inference system from given sample sets. 
     2. Description of the Related Art 
     It is well known that the fuzzy system is extremely effective in approximating any continuous function on a compact set. The fuzzy system most often provides a powerful alternative to the conventional control system, particularly for complex or ill-defined systems where the system is not easily controllable by a conventional controller. This is so because the fuzzy system is capable of capturing the approximate, qualitative aspects of human knowledge and reasoning needed in the control system. Accordingly, fuzzy systems have recently found an increasingly wider range of applications in industrial applications, household appliances as well as in financial analysis. The applications can include various manufacturing processes, robotics, consumer products such as heat exchangers, warm water pressure control, aircraft flight control, robot control and manipulation, car speed control, power systems and nuclear reactor control, control of a cement kiln, focusing of a camcorder, climate control for buildings, train scheduling, pattern recognition and system modeling, stock trading on a stock exchange and information retrieval, to mention only a few. 
     It is normally the domain human experts who manually code and refine the fuzzy systems. The performance of a fuzzy system depends critically on the depth of the experts&#39; understanding of the domain knowledge. Accordingly, the cost of developing a fuzzy system has greatly increased, creating a bottleneck in the application of many complex fuzzy systems in new areas. This has motivated an intensive study of the automatic generation of fuzzy systems, and the subject has often been studied as a data-driven, self-adaptive problem. 
     In implementing self-adaptive problems by fuzzy systems, one of the biggest problems encountered is what is referred to as a dimensional explosion predicament which is associated with an exponential explosion in the required computational time as the number of variables increases. This is so because the relationship among the multi-variables of the fuzzy rules and membership functions is often quite complicated and more often than not is nonlinear. Because of this, almost all of the existing commercial works available can only deal with a relatively small number of input variables, typically a maximum of five. 
     In “A New Approach for the Automatic Generation of Membership Functions and Rules of Multi-Variable Fuzzy System”, (Proceedings of IEEE 1995 International Conference on Neural Networks, Perth, Australia, pp. 1342-1346), Chen et al. presents a new algorithm, PolyNeuFuz, based on polynomial approximation. PolyNeuFuz was later improved to ParNeuFuz, as discussed by Chen et al. in “A New Scheme for an Automatic Generation for Multi-Variable Fuzzy Systems”, to be published in Fuzzy Sets and Systems, 120 (2001), no. 2, pp. 143-149. ParNeuFuz can, in principle, be run in parallel processing if the independence of the input variables is exploited. 
     Both PolyNeuFuz and ParNeuFuz solve the problem of generating multi-variable fuzzy systems by decomposing the problem to a solution of single input, multiple output fuzzy systems. The ParNeuFuz algorithm exploits a polynomial expansion in approximating the given sample sets, and the time complexity of the algorithms does not depend too heavily on the number of variables used. In principle, both of these algorithms can be applied to generate a fuzzy system with a large number of variables. PolyNeuFuz and ParNeuFuz successfully decompose a self-adaptive problem of multi-variable systems into several steps, and into parallel steps for ParNeuFuz in particular, thus considerably reducing the computational complexity. However, unlike the Fourier series-based approach which is able to provide an accurate error estimate in each of these steps, in decomposition as well as in composition, error estimation or prediction is not easy using the PolyNeuFuz and ParNeuFuz methods. 
     Accordingly, a need exists for a scheme capable of generating a multi-variable fuzzy inference system that does not encounter the dimensional explosion predicament known in the prior art, while enabling error estimation and prediction. 
     SUMMARY OF THE INVENTION 
     In view of the foregoing, one object of the present invention is the development of a new Fourier series-based automatic generation scheme of a multi-variable fuzzy inference system that avoids a dimensional explosion predicament. 
     Another object of the invention is to provide a method that is capable of generating and computing the fuzzy rules and membership functions for each variable independently of the other variables. 
     A further object of the invention is to provide a Fourier series-based decomposition supporting error analysis that can specify the error bounds or accuracy thresholds at each stage of decomposition and composition to ensure the final precision of the resulting fuzzy system on the original sample set. 
     In accordance with this and other objects, the present invention presents a novel method of automatically generating a multi-variable fuzzy inference system for any number of practical applications. The method exploits the Fourier series expansion in decomposing the sample sets into simplified tasks of generating a fuzzy system with a single input variable independent of the other variables. The method begins by decomposing a sample set, e.g., Λ, into an accumulation of a number of set clusters associated with the given input variables, and computing the fuzzy rules and membership functions for each variable, independently of the other variables, by solving a single input multiple outputs fuzzy system extracted from the set cluster. The resulting decomposed fuzzy rules and membership functions are integrated back into the fuzzy system appropriate for the original sample set Λ, requiring only a moderate computational cost. 
     The method described in this invention can be used to obtain a stable fuzzy system by retaining any specified accuracy of the resulting multi-variable function on the original sample set. In other words, by taking advantage of the fact that the decomposition is based on a Fourier series, a careful error analysis indicates the relationship between an overall system error and errors at each stage of decomposition and composition so that error bounds or accuracy thresholds of each of these steps may be specified to ensure the final precision of the resulting fuzzy system on the original sample set. 
     These and other features of the invention, as well as many of the intended advantages thereof, will become more readily apparent when reference is made to the following description taken in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagram of a neural network structure used for generating fuzzy systems of single input and multiple outputs, in accordance with the present invention; and 
     FIG. 2 is a flow diagram of the method for the automatic generation of multivariable fuzzy system from a sample set, in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In describing a preferred embodiment of the invention illustrated in the drawings, specific terminology will be resorted to for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar purpose. 
     To begin, the main theoretical supports for the present invention will be summarized, followed by a discussion of two supplementing methods. Throughout this document, the number of samples is referred to as N, and the number of input variables is referred to as m, with both N and m being finite. 
     The main theoretical supports for the present invention include the following two theorems. 
     Theorem 1 
     For any sample set Λ={({overscore (X)} j ,Y j )|j=1,2, . . . ,N}, where {overscore (X)} j =(X 1,j ,X 2,j , . . . ,X m,j ) and L i ≦X i ≦H i  for all i, there exists a set {a {overscore (s)} ≠0|{overscore (s)}=(s 1 ,s 2 , . . . ,s 2m )∈S,s 2 ,s 4 , . . . s 2m ∈{0,1}, with s 1 , s 3 , . . . ,s 2m−1  being non-negative integers}, and a sample set cluster A={A {overscore (s)} ={({overscore (X)} j ,F {overscore (s)}j |j=1,2, . . . ,N}|{overscore (s)}=(s 1 ,s 2 ,s 2 , . . . ,s 2m )∈S}, such that              Y   j     =       ∑       s   _     ∈   S            F       s   _        j           ,              where                          F       s   _        j       =       a     s   _              ∏     i   =   1     m            cos        (           2      π                   s       2      i     -   1             U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )       .                                
     Theorem 2 
     Suppose that the single input multiple outputs sample set {tilde over (B)} i ={(X i,j ,{f {overscore (s)},i,j |{overscore (s)}∈S})|j=1,2, . . . ,N} (|f {overscore (s)},i,j |≦1) can be described by the following fuzzy system MFS i , with a maximum error for each output and the sum of errors for each output being given by max j∈{1,2, . . . ,N} |O fuzzy (X i,j )−f {overscore (s)},i,j |≦ε 1 ,            ∑     j   =   1     n                   O   fuzzy          (     X     i   ,   j       )       -     f       s   _     ,   i   ,   j                ≤       ɛ   2                       (       ɛ   1     &lt;       1   /   m                   and                   ɛ   1       &lt;     ɛ   2     &lt;     N   ·     ɛ   1         )     .                              
     Fuzzy system MFS i  is defined by membership functions, fuzzy rules and defuzzification method. According to the membership functions for each t i ,t i =1,2, . . . ,τ i , the membership function for variable x i  at fuzzy interval S i,t , is μ i,t     i   . The fuzzy rules provide that for each t i , t i =1,2, . . . ,τ i , and if X i  is S i,t     i    then the {overscore (s)}-th output=O {overscore (s)},i,t     i   . According to the defuzzification method,            s   _     -     th                 Output                   O   fuzzy         =       ∑       t   i     =   1       τ   j                μ     i   ,     t   i              (     X   i     )       ·     O       s   _     ,   i   ,     t   i                                    
     Then the fuzzy sample set        D   =     {           (         X   _     j     ,       ∑       s   _     ∈   S            (         a     s   _       ·     f       s   _     ,   1   ,   j       ·     f         s   _     ,   2   ,   j                         …                   f       s   _     ,   m   ,   j         )         )        j     =   1     ,   2   ,   …              ,   N     }                            
     (|a {overscore (s)} |≦Q) can be described by the following fuzzy system MFS, with its maximum error and total error being given, respectively, by                max     j              ∈     {     1   ,   2   ,              …              ,              N     }                       O   fuzzy          (       X   _     j     )       -       ∑       s   _     ∈              S            (         a     s   _       ·     f       s   _     ,     1.      j                f       s   _     ,   2   ,   j                     …                   f       s   _     ,   m   ,   j                     …                   f       s   _     ,   m   ,   j         )                ≤     Q           S             (       m                   ɛ   1       +     O        (       1   2            (     m                   ɛ   1       )     2       )         )         ,     
        and                            ∑     j   =   1     N                   O   fuzzy          (       X   _     j     )       -       ∑       s   _     ∈   S            (         a     s   _       ·     f       s   _     ,   1   ,   j              f       s   _     ,   2   ,   j                     …                   f       s   _     ,   m   ,   j         )                ≤       (     1   +       1   2        m                   ɛ   1       +     O        (       1   6            (     m                   ɛ   1       )     2       )         )        mQ           S               ɛ   2     .                              
     The fuzzy system MFS is also defined by membership functions, fuzzy rules and defuzzification method. According to the membership functions, for each pair of (i,t i ),i i 1,2, . . . ,m;t i =1,2, . . . ,τ i , the membership function for variable x i  at fuzzy interval S i,t     i    is μ i,t     i   . The fuzzy rules provide that for each m-tuple (t 1 ,t 2 , . . . ,t m ), t 1 =1,2, . . . ;τ i ;t 2 =1,2, . . . ,τ 2 ; . . . ;t m =1,2, . . . ,τ m , if X 1  is S 1,t     i    and X 2  is S 2,t     2    and . . . and X m  is S m,t     m    then        Output   =       O       t   1     ,     t   2     ,              …              ,     t   m         =       ∑       s   _     ∈              S              (       a     s   _       ·       ∏     i   =   1     m          O       s   _     ,   i   ,     t   i             )     .                                
     According to the defuzzification method,          O   fuzzy     =       ∑           t   i     =   1     ,   2   ,              …              ,     τ   i           i   =   1     ,   2   ,              …              ,   m              (       ∏     l   =   1     m              μ     l   ,     t   i              (     X   l     )       ·     O       t   1     ,     t   2     ,              …              ,     t   m             )                              
     Theorem 1 ensures the decomposition of the sample set into a number of sample set clusters, which form the basis for the decomposition process of the method of the present invention. That is, Theorem 1 ensures the existence of set cluster        A   =     {         A     s   _       =     {         (         X   _     j     ,       F       s   _        j                   j   =   1     ,   2   ,              …              ,   N     }                   s   _       =       (       s   1     ,     s   2     ,              …              ,     s     2      m         )     ∈   S       }       ,       such                 that                   Y   j       =       ∑       s   _     ∈              S              F       s   _        j       .                                    
     Theorem 2 ensures the construction and composition of decomposed single input fuzzy systems to recover the fuzzy system on the original sample set Λ. That is, Theorem 2 shows that, once the membership functions and fuzzy rules of each variable X i  are computed on sample set            B   ~     i     =     {           (       X     i   ,   j       ,     {       cos        (           2      π                   s       2      i     -   1             U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )                   s   _     =       (       s   1     ,     s   2     ,              …              ,     s     2      m         )     ∈   S       }       )               j     =   1     ,   2   ,   …              ,   N     }                            
     the fuzzy system appropriate for A may be constructed by following the steps of Theorem 2. 
     The present invention also makes use of two supplementing methods, which are the decomposition method and the method for obtaining the fuzzy systems on sample sets {tilde over (B)} i  (i=1,2, . . . ,m). They will be described below. 
     Decomposition Method 
     Knowledge on the sample set as well as on the smoothness of an object surface plays an important role in the analysis used by the present invention. Suppose that the object system does not include higher components than 2πτ i /(U i −L i ) for each variable X i . Then it is possible to select an S={(s 1 ,s 2 , . . . ,s 2m )} where s 1 ≦τ 1 ,s 3 ≦τ 2 , . . . ,s 2m−1 ≦τ m . An optimal approximation to the sample set can be obtained by minimizing the following function:              E   =       1   2            ∑     j   =   1     N            (       Y   j     -       ∑       s   _     =       (       s   1     ,     s   2     ,              …              ,                s     2      m         )                ∈              S              (       a     s   _              ∏     i   =   1     m          cos        (           2      π                   s       2      i     -   1             U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )           )         )     2                 (   1   )                                
     This is equivalent to finding the roots of the equations ∂E/∂a {overscore (s)} =0. Some care must be taken in the process so that all terms of equal wave numbers are collected into one term, not retaining any two identical terms differing only in coefficients. For example, the two terms            a     (     0   ,   0   ,   1   ,   0     )              cos        (   0   )       ·     cos        (         2      π                   s   1           U   1     -     L   1         ·     (       X   2     -         U   1     -     L   1       2       )       )                       and                          a     (     0   ,   1   ,   1   ,   0     )              cos        (     π   2     )       ·     cos        (         2      π                   s   1           U   1     -     L   1         ·     (       X   2     -         U   1     -     L   1       2       )       )                                
     should be combined into          a     (     0   ,   0   ,   1   ,   0     )     ′            cos        (   0   )       ·     cos        (         2      π                   s   1           U   1     -     L   1         ·     (       X   2     -         U   1     -     L   1       2       )       )                                
     before the coefficients of the terms of Fourier series are determined. After the identical terms have been combined, suppose at this time, S=({overscore (s)} 1 ,{overscore (s)} 2 , . . . ,{overscore (s)} τ ), with {overscore (s)} k =(s k     1   ,s k     2   ,s k     2m   ), k=1,2, . . . ,τ, the a {overscore (s)}     k    can be obtained by any Standard Gaussian Elimination or by the following computation:                  a       s   _     k       =                T     p   ,   q     k            τ   ×   τ                J     p   ,   q              τ   ×   τ                       where            
            J     p   ,   q       =       ∑     j   =   1     N            ∏     i   =   1     m            (       cos        (           2      π                   s     p       2      i     -   1               U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     p     2      i         ·     π   2         )            cos        (           2      π                   s     q       2      i     -   1               U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s   q2i     ·     π   2         )         )                   and                
            T     p   ,   q     k     =     {             ∑     j   =   1     N            Y   j            ∏     i   =   1     m          cos        (           2      π                   s     k       2      i     -   1               U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     k     2      i         ·     π   2         )                     if                 q     =   k                 ∑     j   =   1     N            ∑     i   =   1     m          (     cos        (           2      π                   s     p       2      i     -   1               U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     p     2      i         ·     π   2         )                     if                 q     ≠   k                   cos                   (           2      π                   s     q       2      i     -   1               U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s   q2i     ·     π   2         )       )                                                (   2   )                                
     In case the sample data fall exactly on the multidimensional grids, a standard Fast Fourier Transform method can be employed to speed up this process. 
     Generating Single Input Multiple Outputs Fuzzy Systems 
     With reference to the neural network of FIG. 1, when each of the link weights b it,k  between the second layer neuron and the third layer neuron can be interpreted as a rule: “if X i  is S i,t  then the output of f k  is b it,k ”, then the relationship between the input and outputs of the neural network, f k =b i1,k μ i1 (X i )+b i2,k μ i2 (X i )+ . . . +b iτ     i   , k μ iτ     i   (X i ) can be described by the fuzzy system S, in which the membership functions provide that for each t, where t=1,2, . . . ,τ i , the membership function of fuzzy interval S i,t  is μ i,t ; and the fuzzy rules provide that for each pair of (t, k) where t=1,2, . . . ,τ i ; k=1,2, . . . ,τ, if X i  is S i,t  then the output of f k =b it,k . According to the defuzzification method, output of          f   k     =       ∑     t   =   1       τ   i                μ     i   ,   t            (     X   i     )              b     it   ,   k       .                                
     Thus, the task of obtaining the membership functions and fuzzy rules of each variable X i  reduces to training the neural network of FIG. 1 using the set {tilde over (B)} i  as its sample set. The membership functions of each variable can either be of “straight” type or continuous type. The Steepest Descent (SD) method such as that taught by Cauchy, “Methode Generale pour la Resolution des Systems d&#39;Equations Simultaneos”, Comp. Rend. Acad. Sci. Paris, pp. 536-538, 1847, can be used to train these individual networks. 
     FIG. 2 summarizes the method of the present invention for the automatic generation of a multivariable fuzzy system from a sample set. To demonstrate the inventive algorithm, which will be referred to herein as algorithm FouNeuFuz, we will begin by supposing that we need to develop the fuzzy system on sample set A with the maximum error and the total error of ε 1  and ε 2  respectively, such that max              max     j   ∈     {     1   ,   2   ,   …   ,   N     }                       O   fuzzy          (       X   _     j     )       -     Y   j              ≤     ɛ   1       ,       and                     ∑     j   =   1     n                   O   fuzzy          (       X   _     j     )       -     Y   j                ≤       ɛ   2     .                              
     As shown in FIG. 2, the method begins by decomposing the sample set Λ, step  100 , into the sample set cluster A={A {overscore (s)} |{overscore (s)}εS} by minimizing Equation (1) using Gaussian Elimination method or by Equation (2). At step  110 , the maximum error and the total errors are calculated:            ɛ   f1     =       max     j   ∈     {     1   ,   2   ,   …   ,   N     }                     Y   j     -       ∑       s   _     =       (       s   1     ,     s   2     ,   …   ,     s     2      m         )     ∈   S              (       a     s   _              ∏     i   =   1     m          cos        (           2      π                   s       2      i     -   1             U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )           )                  ,     
            ɛ   f2     =       ∑     j   =   1     N                   Y   j     -       ∑       s   _     =       (       s   1     ,     s   2     ,   …   ,     s     2      m         )     ∈   S              (       a     s   _              ∏     i   =   1     m          cos                   (           2      π                   s       2      i     -   1             U   i     -     L   i         ·                
                     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )           )              .                                
     The error requirement is then verified, step  120 , by making sure that ε f1 ≦ε 1  and ε f2 ≦ε 2 . If it is not so, terms with higher frequency are added and the calculation of steps  100  and  110  are repeated until satisfied. 
     At step  130 , for each variable X i , the fuzzy rules and membership functions on sample set {tilde over (B)} i  are obtained by training the neural network as shown in FIG. 1 by the steepest descent (SD) method, where we choose              B   ~     i     =     {           (       X     i   ,   j       ,     {       cos        (           2      π                   s       2      i     -   1             U   i     -     L   i         ·     (       X     i   ,   j       -         U   i     -     L   i       2       )       +       s     2      i       ·     π   2         )                   s   _     =       (       s   1     ,     s   2     ,   …              ,     s     2      m         )     ∈   S       }       )               j     =   1     ,   2   ,   …              ,   N     }       ,                          
     the terminating condition of training each network is set as: max              max     j   ∈     {     1   ,   2   ,   …   ,   N     }                       O   fuzzy          (     X     i   ,   j       )       -     f       s   _     ,   i   ,   j                ≤     ɛ   s1       =     min        {       1   m     ,         ɛ   1     -     ɛ   f1         mQ           S              }                   and                   ∑     j   =   1     n                   O   fuzzy          (     X     i   ,   j       )       -     f       s   _     ,   i   ,   j                ≤     ɛ   s2       =         ɛ   2     -     ɛ   f2         mQ           S             (     1   +       1   2        m                   ɛ   s1         )                                
     for each output of the networks, where 
     Q=max {|a {overscore (s)} |}. 
     The fuzzy rules and the membership functions are then accumulated, step  140 , into an integrated fuzzy system on sample set Λ according to Theorem 2. 
     The invention as described can be used to obtain a fuzzy system automatically using given sample data, rather than to design the fuzzy system manually as is often done in practice in the prior art. Such a fuzzy system has many practical applications. For example, in the industrial motor control field, it is necessary to model the relationship between magnetizing current and the slip frequency. However, the magnetizing current is a non-linear function of the slip frequency, the rotor time constant, the rotor leakage factor, and a non-constant offset current. What we have at hand are only a set of sample data, each of which indicates just the real magnetizing current in a special situation with known slip frequency, rotor time constant, rotor leakage factor, and offset current. According to the prior art, an attempt would be made to obtain the fuzzy system manually describing the relationship, but this is extremely time consuming and difficult for non-specialists. With the use of the novel methods described in the present invention, the fuzzy system can be obtained automatically and directly from the sample set. 
     Another example is for the fuzzy controller of a washing machine. Here it is necessary to control the water requirement in subsequent washing steps based on the data of laundry load, water absorption speed, water absorption volume, and water temperature. We have only at hand the sample sets consisting of the data indicating the experts&#39; suggested water requirement in sub sequential washing steps for some special (individual) situation with known laundry load, water absorption speed, water absorption volume and water temperature. With the present invention, it is possible to obtain the fuzzy system which can suggest the requirement of water in sub sequential washing step (output) based on the laundry load, water absorption speed, water absorption volume and water temperature (Input). In the above applications, the method of the present invention may be used to obtain 4 inputs-1 output fuzzy systems from sample data sets. 
     The foregoing descriptions and drawings should be considered as illustrative only of the principles of the invention. The invention may be configured in a number of ways and is not limited by the specific configuration of the preferred embodiment. Numerous applications of the present invention will readily occur to those skilled in the art, various manufacturing processes, robotics, consumer products such as heat exchangers, warm water pressure control, aircraft flight control, robot control and manipulation, car speed control, power systems and nuclear reactor control, control of a cement kiln, focusing of a camcorder, climate control for buildings, train scheduling, pattern recognition and system modeling, stock trading on a stock exchange and information retrieval, to mention only a few. Therefore, it is not desired to limit the invention to the specific examples disclosed or the exact operation shown and described. Rather, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.