2 AUTOMATICALLY
GENERATED FUZZY
RULE-BASED CLASSIFIERS
2.1 Co-Operation of Biology Related
Algorithms (COBRA)
The meta-heuristic approach Co-Operation of Biology
Related Algorithms (COBRA) was originally
developed for solving real-valued optimization
problems (Akhmedova and Semenkin, 2013). The
mentioned approach is based on the collective work
of PSO, WPS, FFA, CSA and BA and consists in
generating 5 populations which are then executed in
parallel cooperating with each other.
The algorithm COBRA is a self-tuning meta-
heuristic, so there is no need to choose the population
size. The number of individuals in the population of
each algorithm can increase or decrease depending on
whether the fitness value improves: if the fitness
value does not improve over a given number of
generations, then the size of all populations increases
and vice versa. Besides, on each generation a “winner
algorithm” is determined: the algorithm with the best
population’s average fitness value. The population of
the winner algorithm “grows” by accepting
individuals removed from other populations. The
migration operator of the given approach consists in
replacement of the worst individuals of each
population by the best individuals of others.
However, frequently the applied problems are
defined in discrete valued spaces where the domain
of the variables is finite. Therefore, a modification
of COBRA called COBRA-b for solving binary-
parameter optimization problems was introduced in
(Akhmedova and Semenkin, 2014). Namely its
component-algorithms were adapted to search in
binary spaces by applying a sigmoid transformation
(Kennedy and Eberhart, 1997) to the velocity
components (PSO, BA) or coordinates (WPS, FFA,
CSA) to squash them into a range [0, 1] and force
the component values of the positions of individuals
to be 0’s or 1’s:
()
()
.
exp1
1
v
vs
−+
=
(1)
So the binarization of individuals in algorithms is
conducted using the calculated value of the sigmoid
function. After that a random number rand from the
range [0, 1] is generated and the corresponding
component value of the position of the individual is
1 if rand is smaller than s(v) and 0 otherwise.
An experiment showed that the COBRA
algorithm and its modification COBRA-b work
efficiently and that they are reliable. Moreover, it
was established that the meta-heuristics COBRA and
COBRA-b outperform their component-algorithms.
Yet in some cases COBRA-b requires too many
calculations.
As a consequence COBRA-b was also modified,
specifically its migration operator (Akhmedova and
Semenkin, 2016). For this purpose a biogeography-
based optimization (BBO) (Simon, 2008) algorithm,
which translates the natural distribution of species
into a general problem solution, was used.
Habitat, in biogeography, is a particular type of
local environment occupied by an organism, where
the island is any area of suitable habitat. Each island
represents one solution, where a good problem
solution means that the island has lots of good biotic
and abiotic factors, and attracts more species than
the other islands. In BBO the number of species on
an island is based on the dynamic between new
immigrated species onto an island and the extinct
species from that island. The purpose of the
migration process is to use “good” islands as a
source of modification to share their features with
“bad” islands, so the poor solutions can be
probabilistically enhanced and may become better
than those good solutions (Simon, 2008).
Thus, in the new version of COBRA-b the
individuals of each population can be updated (but not
replaced) by the individuals of the other populations.
However a certain number of individuals with the
highest fitness value will not be changed but can be
used for updating other individuals.
Experiments show that the modification of
COBRA-b with a BBO migration operator allows
better solutions to be found with a smaller number of
calculations (Akhmedova and Semenkin, 2016). The
results obtained in (Akhmedova and Semenkin,
2016) demonstrate that the new version of the
algorithm outperforms the original COBRA-b both
by the average number of function evaluations and
by the best function value achieved during the work
of the algorithm, averaged over 100 program runs.
2.2 Fuzzy Rule-based Classifiers
The classification problem can be described as a
problem of creating a classifier C: R
N
→ L, where C
is the classifier, R
N
is the feature space with N
variables, and L is the set of labels. Each vector in
the feature space x = [x
1
,…,x
N
]
T
ϵ R
N
is an object of
the available sample.
The fuzzy logic-based classifier consists of a
number of rules R
m
, m = 1,…,M; where M is the