=Paper= {{Paper |id=None |storemode=property |title=Learning Fuzzy Cognitive Maps by a Hybrid Method Using Nonlinear Hebbian Learning and Extended Great Deluge Algorithm |pdfUrl=https://ceur-ws.org/Vol-841/submission_27.pdf |volume=Vol-841 |dblpUrl=https://dblp.org/rec/conf/maics/Ren12 }} ==Learning Fuzzy Cognitive Maps by a Hybrid Method Using Nonlinear Hebbian Learning and Extended Great Deluge Algorithm== https://ceur-ws.org/Vol-841/submission_27.pdf
              Learning Fuzzy Cognitive Maps by a Hybrid Method Using
               Nonlinear Hebbian Learning and Extended Great Deluge
                                     Algorithm
                                                                   Zhaowei Ren


                                                School of Electronic and Computing Systems
                                                          University of Cincinnati
                                                  2600 Clifton Ave., Cincinnati, OH 45220

                              Abstract                                   concepts and relations. Concepts reflect attributes, qualities
    Fuzzy Cognitive Maps (FCM) is a technique to represent                and states of system. The value of concepts ranges from 0
    models of causal inference networks. Data driven FCM                  to 1. Concepts can reflect both Boolean and quantitative
    learning approach is a good way to model FCM. We                      value. For example, a concept can reflect either the state of
    present a hybrid FCM learning method that combines                    light (while 0 means off and 1 means on), or water level of
    Nonlinear Hebbian Learning (NHL) and Extended Great                   a tank. If it reflects a quantitative value, equation [1] can be
    Deluge Algorithm (EGDA), which has the efficiency of                  used for normalization.
    NHL and global optimization ability of EGDA. We
                                                                                                                                      [1]
    propose using NHL to train FCM at first, in order to get
    close to optimization, and then using EGDA to make model              where A is the concept value before normalization, and
    more accurate. We propose an experiment to test the                          and        are the possible maximum and minimum
    accuracy and running time of our methods.                             value of A. Relations reflect causal inference from one
                                                                          concept to another. Relations have direction and weight
                                                                          value.     is denoted as the weight value from concept
                         Introduction:                                    to concept . For a couple of nodes, there may be two, one
                                                                          or none relations between them. There are three possible
Fuzzy Cognitive Maps (FCM) (1) is a modeling                              types of causal relations:
methodology that represents graph causal relations of                                       the relation from concept to concept
different variables in a system. One way of developing the                   is positive. When concept            increases (decreases),
inferences is by a matrix computation. FCM is a cognitive                    concept also increases (decreases).
map with fuzzy logic (2).FCM allows loops in its network,
and it can model feedback and discover hidden relations                                       the relation from concept      to concept
between concepts (3). Another advantage is that Neuron                          is negative. When concept          increases (decreases),
network techniques are used in FCM, e.g. Hebbian                             on the contrary, concept decreases (increases).
learning(4), Genetic Algorithm (GA) (5), Simulated                                       there is no relations between and
Anealling (SA) (6).                                                          When initial state of FCM is given, FCM will converge
                                                                          to a steady state through iteration process. One concept
                                      A1                                  value is computed by the sum of weighted sum of all
                                                                          concepts that may be related to it. In each iteration, concept
                                                                          value is calculated by equation [2].
                  2                                                                                    ∑                              [2]
                                                      3
                             2                                            where       is the value of conceptin iteration k+1,    is
                                                                          the value of concept    in iteration, and    is the weight
              A                  32
                                                     A                    value of the edge from concept         to concept . And
              2                  23                  3                                  , which is a transfer function to normalize
                   Figure 1 An example of FCM                             weight value to [-1,1]. is a parameter that determines its
                                                                          steepness.
The structure of FCM is similar to an artificial neuron                      For example, figure 2 is It is a problem an industrial
network, e.g. Figure 1. There are two elements in FCM,                    process control problem (8). There is a tank with two
                                                                          valves where liquids flow into the tank. These two liquid
                                                                          had reaction in this tank. There is another valve which

 Copyright © 2007, Association for the Advancement of Artificial          empties the fluid in the tank. There is also a sensor to
Intelligence (www.aaai.org). All rights reserved.
gauge the gravity of produced liquids (proportional to the         knowledge before computation. AHL explores a method to
rate of reaction) in tank. As described in the figure below        determine the sequence of active concepts. For each
                                                                   concept, only concepts that may affect it are activated.
                                                                   AHL is fast but requires expert intervention. Experts
                                                                   should determine the desired set of concepts and initial
                                                                   structure of FCM. NHL is a nonlinear extension of DHL. In
                                                                   NHL, before iteration starts,experts have to indicate an
                                                                   initial structure and sign of each non-zero weight. Weight
                                                                   values are updated synchronously, and only with concepts
                                                                   that experts indicate.
                                                                      Another branch of learning FCM structure is population-
                                                                   based method. Koulouriotis (12)proposes evolution
                                                                   strategies to train fuzzy cognitive maps.            In 2007
             Figure 2 An industrial control problem
                                                                   Ghazanfari et al. (6) proposes using Simulated Annealing
                                                                   (SA) to learn FCM, and he compared Genetic Algorithm
                                                                   (GA)(5) and SA. They concluded that when there are more
   There are two constraints of this problem. The first one        concepts in the network, SA has a better performance than
is to maintain value of G in a particular range, and the           genetic algorithm. In 2011, Baykasoglu and Adil (13)
second one is to keep height of liquids (T) in a range.            proposed an algorithm called extended great deluge
Parsopoulos et al. (8) proposes that there should be five          algorithm (EGDA) to train FCM. EGDA is quite similar to
concepts: (a) height of liquid in the tank, (b) the state of       SA, but it demands smaller number of parameters than SA.
valve 1, (c) the state of valve 2, (d) the state of valve 3, and   Population-based method is capable to reach global
(e) the gravity of produced liquid in the tank. Our aim is to      optimization even if the initial weight matrix is not good,
find out the causal inference value from one concept to            but it is usually computationally costly, especially when the
another one.                                                       initial weight matrix is far from optimal position. Moreover,
   There are mainly two strategies to learn an FCM. One is         population-based methods have many parameters that have
to exploit expert domain knowledge and formulate a                 to be set before processing. The parameters are set usually
specific application’s FCM (7), this can be used when              by experiences, and then duplicated experiments with
there is no good automated or semi-automated methods to            different parameters should be made to get better
build this model. If there are multiple domain experts             performance. Hebbian learning methods are relatively fast,
available, each expert choose a value (e.g. very weak,             but their performance depends on initial weight matrix and
weak, medium, strong, very strong) for the causal effect           predefined FCM structure very much. Expert intervention
from one concept to another one; then the values are               is usually essential. Experts need to indicate a structure
quantified and combined together into one value between -          before experiments.
1 and 1. This strategy has its own shortage: when the                 The third branch is hybrid method, which takes both the
problem is complex and need a large number of concepts             effectiveness of Hebbian learning and global search
to describe a system, the cost of expert strategy is very          capability of population-based methods. Papageorgiou and
high; moreover, it is difficult to discover new hidden             Groumpos (14) proposed a hybrid learning method that
relations by this strategy. Another strategy is to develop a       combines NHL and Differential Evolution algorithm (DE).
data driven learning method. Input, output and state of a          First, NHL is used to learn FCM, and then its result is feed
system are recorded when it is running, and these records          to DE algorithm. This method makes uses of both the
are used as a neuron network training dataset.                     effectiveness of Hebbian learning and the global search
                                                                   ability of population-based method. The three experiments
                                                                   they did show this hybrid method is capable to train FCM
                                                                   effectively. Zhu et.al(15) proposes another hybrid method
                       Background                                  which combines NHL and Real-coded Genetic Algorithm
One branch of Fuzzy Cognitive map (FCM) learning is                (RCGA)
Hebbian learning. Different Hebbian learning has been                 Here I suggest a hybrid method combing NHL and
proposed, for example, Differential Hebbian Learning               EGDA. EGDA has global search ability and relatively less
(DHL)(4), and its modified version Banlanced Differential          demand of parameters. If its initial weight matrix is close to
Hebbian Learning (BDHL)(9). DHL changes weight                     optimal condition, it will save much computing expense.
matrix by the difference of two records, but it did not            Here we use NHL to train FCM roughly first, and then feed
consider the scenario that multiple concepts have effect on        its result to EGDA. NHL is picked because it is simple and
one mutually. BDHL covers this situation, but it is costly         fast, and it can deal with continuous range of value of
owe to lack of optimization. The two Hebbian learning              concepts
methods that have been used in real world is Active
Hebbian learning (AHL) (10) and Nonlinear Hebbian
Learning(NHL) (11), and both of them require expert
    Hybrid Method Using NHL and EGDA
This hybrid method is processed by two stages.                      Then we use equation [2] to update            2   and   3 .Here
  Stage 1 use nonlinear Hebbian learning (NHL)                   the learning rate
(11)to train FCM                                                                 2          2                 2   2
  Step 1: Initialize weight matrix      with help of experts                                               0.5*0.7)
and read input concept       . We feed the initial weight                             0.707
matrix to feed                                                                   3          3                 3   3
  Step2:                                                                                              (                       )
  Calculate     (concept value in iteration 1.Initial values
can be denoted as values in iteration 0) by the equation [3]       Other weights are updated as above. Then we got the
                              ∑                           [3]    new weight matrix as below
                                                                   W            1             2             3
   where                   . λis a parameter that determines       1            N/A           0.475         0
                                                                   2            0.707         N/A           0.317
increasing rate of curve. It is a transfer function. When x
                                                                   3            -0.32         0.565         N/A
changes from - ∞ to ∞ , f(x) changes from 0 to 1.
Therefore, final result of concept value is still from zero to     And A1=0.677, A2= 0.65, A3=0.55
one.                                                                                    2                 2                    2
   Step 3:
   Use equation [4] to update weights,                             If J is larger than termination threshold, then go to step 2.
                                                           [4]   Otherwise, terminate this algorithm and got to stage 2.
   where     is learning rate function, and it decreases as k      Stage 2: use extended great deluge algorithm
increases.                                                       (EGDA)(13) to train FCM.
   Step 4: At the end of each updating, the error function is      Step 1: Initialize the weight matrix with the suggested
computed as equation [5]                                         value from stage 1. The output of step 1 is feed to this step.
                     ∑                2
                                                           [5]   Assume the weight matrix we got from last step is as Table
   where k is the iteration number. There are two                3
termination conditions. One is that value of error function        W                1               2               3
[3] is below a threshold, and the other is there are enough        1                N/A             0.3             0
times of iterations. If one of the termination conditions is       2                0.6             N/A             0.1
reached, the iteration ends. Otherwise, go on the next             3                -0.4            -0.3            N/A
iteration.                                                                       Table 3 Weight matrix after stage 1
   For example, now we have time series data of each
concept value as Table 1                                            Step 2: find a new neighbor of the current weight matrix.
   A1                   A2                    A3                 For each non-zero weight (because the edge with zero
   0.5                  0.5                   0.1                weight does not exist by expert prediction)in the matrix,
   0.6                  0.4                   0.2                use the equation below to generate their neighbor.
   0.5                  0.3                   0.3                                                                             [6]
                  Table 1 Concept value record                      where random( ) is a function to generate random value
                                                                 from 0 to 1, and then                           is a function to
  Each tuple is a record of three concept value.                 generate random value from -1 to 1.            is a step size of
  Initial weight matrix is predicted by experts or generated     moving. It is gradually decreased so this algorithm can
randomly. Here it is as Table 2                                  have a more detailed search during the end of the search.
  W              1                2               3                 Step 3: Use equation [1] and new weight matrix to
  1              N/A              0.3             0              calculate estimated concept value. Then calculate fitness
  2              0.7              N/A             0.2            function to determine if new configuration is better than
  3              -0.6             -0.3            N/A            current one. Here we use the total error to be fitness
                  Table 2 Initial weight matrix                  function. The equation is as below
                                                                                    ∑                                       [7]
        (the weight from concept I to concept j) is the value       where K is the number of iteration, and N is the number
in line I and column j. For example, 2                           of concepts.
   For example, we want to update 2 and 3 using the                 Step 4: If the fitness function value of the neighbor
first tuple of data. First, we use equation [3] to calculate .   configuration is better than tolerance, it is picked as current
  is set to 1 here.                                              configuration. And then go to step 5, otherwise, go to step
                               2   2      3   3                  2. Then reduce the tolerance.
  Step 5: If the value of fitness function is better than best
condition, update best condition.                                 then there would be eight edges in this network.
  For example: First we find a new neighbor for this.                After number of concepts and edges are set, a model can
      is set as 0.2.                                              be generated with random weight, and we name it original
            2                                                     model. Then random data is generated, and they are fed to
                                     *0.2                         equation [1] iteratively, until it reaches a steady state (the
             0.3191                                               error in equation [7] is lower than threshold). The steady
  (random()=0.5478, generated randomly by matlab)                 state would be a record for simulated data. After a certain
  Using the same equation, we could get new weight                time of iteration, if it still cannot reach steady state, a new
matrix                                                            tuple of data would be generated randomly and fed to
  W           1               2             3                     equation [1]. After hundreds of times, we will have a series
  1                           0.3197        0                     of data as training set. This data is used to learn FCM by
  2           0.5482                        0.2945                our method. The weight matrix we get would be compared
  3           -0.2453         -0.4583
                                                                  with the original model. The error is calculated as equation
                                                                  [9]
  Then        calculate        the          concept     value
          , 2        , 3             . In this example we use                                ∑ ∑                  ̅̅̅̅ 2       [9]
the record below
   A1                   A2                    A3                     where N is the number of concepts in this model.
                                                                     Some other methods (NHL, EGDA, SA) can also be
   0.5                  0.5                   0.1
                                                                  programmed, and compared with this method. These
                                                                  methods will be compared in accuracy and running time, in
                (                                          )
                                                                  several conditions.
                                                                     After simulated experiment, based on the best conditions
   2            (                                          )
                                                                  for our method, we will apply it on a real practical problem.
    3

                                                                                          Conclusion
                                                                    We propose a hybrid method to learn FCM. Our method
   If this value is above a tolerance, it is denoted as current   has taken advantages of fast speed of NHL and global
configuration, and then it is compared with best                  search ability of EGDA. Moreover, we propose an
configuration to see if it is the best so far. If the new         experiment to test our algorithm, and try to apply it into
neighbor is not below tolerance, find another neighbor near       practice.
current one. Reduce tolerance after each search. If the total
error is below a threshold or there is enough number of
iteration, then this algorithm terminates.
                                                                                           Reference
                 Experiment Design:                                 1. Bart and Kosko. Fuzzy cognitive maps. International
                                                                  Journal of Man-Machine Studies 1986; 24: 65.
   There are two steps of our experiment. First we are              2. Kosko B. Fuzzy engineering. Upper Saddle River, NJ,
going to test our method by simulated data, and try to find       USA: Prentice-Hall, Inc. 1997: .
out the scenario that our method can be most efficient and          3. Papageorgiou EI, Stylios C, and Groumpos PP.
accurate. On the second step, we will use our method in a         Unsupervised learning techniques for fine-tuning fuzzy
real application.                                                 cognitive map causal links. International Journal of
   In this experiment, data is generated by a random              Human-Computer Studies 2006; 64: 727.
process. First the number of concepts and density of                4. Dickerson JA, Kosko B. Virtual worlds as fuzzy
relations are set. We can try different number of concepts,       cognitive maps. Virtual Reality Annual International
from small to large, in order to test the performance of this     Symposium, 1993 , 1993 IEEE 1993; 471-477.
method in network with different complexity. Density                5. Stach W, Kurgan L, Pedrycz W, and Reformat M.
represents how many percent of edges exist in a network.          Genetic learning of fuzzy cognitive maps. Fuzzy Sets Syst
It is defined as equation [8].                                    2005; 153: 371-401.
                                                                    6. Ghazanfari M, Alizadeh S, Fathian M, and
                                                                  Koulouriotis DE. Comparing simulated annealing and
                                                           [8]    genetic algorithm in learning FCM. Applied Mathematics
                                                                  and Computation 2007; 192: 56.
  For example, if we set number of concepts as 5, and
density as 0.4, number of edges is computed as below
   7. Khan MS, Quaddus M. Group decision support using
fuzzy cognitive maps for causal reasoning. Group Decis
Negotiation 2004; 13: 463-480.
   8. Parsopoulos KE, Papageorgiou EI, Groumpos PP, and
Vrahatis MN. A first study of fuzzy cognitive maps
learning using particle swarm optimization. 2003; 2: 1440.
   9. Huerga AV. A balanced differential learning
algorithm in fuzzy cognitive maps. 2002; .
   10. Papageorgiou EI, Stylios CD, and Groumpos PP.
Active hebbian learning algorithm to train fuzzy cognitive
maps. International Journal of Approximate Reasoning
2004; 37: 219.
   11. Papageorgiou E, Stylios C, and Groumpos P. Fuzzy
Cognitive Map Learning Based on Nonlinear Hebbian
Rule. In: Gedeon T and Fung L eds. AI 2003: Advances in
Artificial Intelligence. Springer Berlin / Heidelberg, 2003:
256-268.
   12. Koulouriotis DE, Diakoulakis IE, and Emiris DM.
Learning fuzzy cognitive maps using evolution strategies:
A novel schema for modeling and simulating high-level
behavior. 2001; 1: 364.
   13. Baykasoglu A, Durmusoglu ZDU, and Kaplanoglu
V. Training fuzzy cognitive maps via extended great
deluge algorithm with applications. Comput Ind 2011; 62:
187.
   14. Papageorgiou EI, Groumpos PP. A new hybrid
method using evolutionary algorithms to train fuzzy
cognitive maps. Applied Soft Computing 2005; 5: 409.
   15. Yanchun Z, Wei Z. An integrated framework for
learning fuzzy cognitive map using RCGA and NHL
algorithm. 2008; 1.