<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multimodal Clustering with Evolutionary Algorithms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mikhail Bogatyrev</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmitry Orlov</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tatyana Shestaka</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The paper considers the application of evolutionary clustering algorithms on multidimensional formal contexts in order to solve fact extraction problem on database data. Formal contexts are built on the data that is the result of a database query. Clustering on such contexts allows one to find certain data combinations in clusters that can be interpreted as facts. Evolutionary clustering algorithm is chosen as an alternative to the FCA-based multimodal clustering algorithms. It is applied in solving the problem of phenotyping complications of myocardial infarction, formulated on the data of patient history, treatment methods and treatment results. The results of the work of evolutionary algorithms for their various parameters are presented.</p>
      </abstract>
      <kwd-group>
        <kwd>Evolutionary Computation</kwd>
        <kwd>formal context</kwd>
        <kwd>multimodal clustering fact extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>A well-known problem in cluster analysis is the problem of interpreting results of
clustering. Any clustering algorithm uses some proximity measure defined on the set of
objects to be clustered. Therefore, the “meaning” of the resulting clusters is determined
primarily by the used measure: the objects united into one cluster because we found
them coinciding according to the chosen criterion. An attempt to interpret clusters from
any other positions, for example, user-oriented, actually means switching to another
proximity measure of the of objects, possibly more complex and not formalized.</p>
      <p>
        Formal Concept Analysis (FCA) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] offers a different approach to this problem. In
FCA, clustering is used not on one, but on two, three and, in general, on an arbitrary
number of sets, this is biclustering, triclustering and multimodal clustering [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Here,
each cluster is a combination of data from clustered sets. The very fact of combining
certain data in a cluster can be important from the user's point of view and carry new
information. This interpretation of clusters is not directly related to the proximity
measure of objects. The methods of multimodal clustering of FCA do not use a proximity
measure in the traditional sense. Clustered objects are close if they are connected to
each other by means of a relation that defines a formal context, and satisfy certain
conditions of closure with respect to operators applied to elements of the data sets of formal
context. This can be, for example, the Galois transformation which beget formal
concepts or the prime and box operators which beget clusters [
        <xref ref-type="bibr" rid="ref13 ref3">3, 13</xref>
        ].
      </p>
      <p>
        FCA-based methods of bi- and triclustering have been studied in sufficient detail [
        <xref ref-type="bibr" rid="ref13 ref4 ref7">4,
7, 13</xref>
        ]. There are also certain solutions for n-dimensional multimodal clustering [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ].
Copyright c 2021 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
      </p>
      <p>
        When applying FCA-based clustering methods to even not large data, a very large
number of clusters is usually obtained, which makes it difficult to interpret them. In
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], a number of solutions to this problem have been proposed: algorithms
for finding clusters of a given density and clusters with close values were developed,
concept interestingness measures were introduced.
      </p>
      <p>In this paper, it is proposed the solution of the problem of multimodal clustering of
data of formal contexts created on the results of queries to databases. A query to an
extensive database can return a large number of records with a large number of
attributes. The representation of the query results in the form of a formal context with the
subsequent finding clusters on it allows us to solve the problem of fact extraction from
the database. Here, the facts are interpreted just as combinations of certain attributes in
clusters. An evolutionary computation is used as a clustering method since it has a some
advantages for applying in clustering, which are discussed below.</p>
      <p>
        This work is a part of research aimed at modernizing the framework for evolutionary
modelling [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and applying it to new data structures.
      </p>
      <p>The rest of the paper is organized as follows. We do not expound the known FCA
statements, taking into account the topic of the workshop. In Section 2, there is brief
description of evolutionary approach to multimodal clustering. In the Section 3,
relations between evolutionary clustering and FCA are highlighted. The results of
experimental study of proposed approach are presented in the Section 4. They are illustrated
on the task of phenotyping of disease of myocardial infarction.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Evolutionary Approach to Multimodal Clustering</title>
      <p>
        Evolutionary Approach to Multimodal Clustering is based on Evolutionary
Computation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Evolutionary computation is a term referring to several methods of global
optimization, united by the fact that they all use the concept of the evolution of a set of
solutions to an optimization problem, leading to solutions corresponding to the extreme
value of some function that sets the optimization quality criterion. Evolutionary
computation is effective when working with multimodal functions. If such a function has a
global extremum, the evolutionary algorithm finds solutions corresponding to the range
of values of the quality function that are sufficiently close to the that global extremum.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Principle of Evolutionary Computation</title>
        <p>Let X is a set of solutions of a problem. Every solution x ∈ X can be characterized by a
quality measure named as fitness function f (x).</p>
        <p>Let solutions of a problem depend on a set of parameters P. Such a dependence may
be very complex and not being expressed analytically. In this case, it is convenient to
present the solution of the problem in the form of a black box. The black box inputs are
the values of the parameters, and at the outputs we get the corresponding solutions, for
which we calculate the values of the fitness function.</p>
        <p>Most problems being solved by using Evolutionary Computation can be formulated
as the following optimization problem: it is required to find optimal values of
parameters p*which deliver maximum value of fitness function, so the following is true:
p* = argmax f ( x)
p*∈P
(1)
Parameter values indirectly determine the values of the fitness function calculated on
the black box output, so in the expression (1) they were defined as arguments of fitness
function.</p>
        <p>Evolutionary approach to solving this problem consists in the following.</p>
        <p>
          Building encoding scheme. Encoding scheme is the mapping φ: P → S where set
S contains objects which encode parameters from P. Genetic algorithms, which are
widely used in Evolutionary Computation often use binary encoding and every value
of p ∈ P is represented as binary string named as chromosome. Encoding scheme is not
necessarily binary (as it is not binary in Nature): every string position contains a symbol
(gene) from encoding alphabet, and there are variants of alphabets applied in encoding
schemata [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. However, necessarily there exists an inverse mapping φ-1: S → P, so for
every s ∈ S there exists p ∈P.
        </p>
        <p>Actually encoding is very important and represents the essence of evolutionary
approach. There is an atomic principle of encoding which claims that encoding scheme
has to be such that it generates minimal elements which influence on the values of
elements of the set of solutions X. As in biology, heredity theory claims that gene (strictly
gene combinations) is the minimal element which really determines individual
characteristics, as here, in Evolutionary computation, atomic encoding principle plays the
same role.</p>
        <p>Evolutionary algorithm. For given encoding scheme, the following algorithm
solves the problem (1).</p>
        <p>A. Randomly generate an initial set (population) S0 of objects from S.
B. Start evolution of the populations by applying a set of operators A to
population S0 and further iteratively so that for every Sk+1= A (Sk) exists
at least one
f [φ-1(sk+1)] ≥ f [φ-1(sk)],
(2)
where sk∈ Sk and sk+1∈ Sk+1.</p>
        <p>C. Finish the evolution of the population in accordance with the stopping
criterion. Most often, the criterion for stopping is the immutability of
the fitness function values over several steps of evolution.</p>
        <p>
          If the set of operators A consists of genetic operators of selection, mutation and
recombination (crossover) then evolutionary algorithm is named as genetic algorithm [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>Selection works so that condition (2) is supported by the following “biological”
principle: good parents produce good offspring (that is not true in Nature). Therefore,
the higher fitness chromosomes have more opportunity to be selected than the lower
ones and good solution is always alive in the next generation.</p>
        <p>Crossover is the genetic operator that mixes two chromosomes together to form a
new offspring. It does mixing by replacing fragments of chromosome’s code divided
in certain one or several randomly selected points.</p>
        <p>Mutation involves modification of the gene values by randomly selecting new value
from the alphabet at random point in the strings of genes.</p>
        <p>Being realized, the algorithm (A. – C.) provides a fast and fairly accurate solution
of the problem (1).</p>
        <p>Fairly accurate means that evolutionary algorithm stops in a neighbourhood of
global extreme of fitness function f. The size of a neighbourhood around extreme
depends on the fitness function and parameters of genetic operators. When evolutionary
algorithm works too fast it may stop at local extreme. This feature is traditionally
considered as the lack of the algorithm but it may be useful for clustering since local
extreme of quality measure may be semantically “better” than global extreme. In our
experiments we have observed just that situation.</p>
        <p>
          Operating speed of genetic algorithms could not be high because they have to
manage not one but a whole set of possible solutions and evaluate fitness function N times
on every step of evolution, where N is the size of population. Nevertheless, they are fast
as compared to other algorithms for solving the problem (1) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Evolutionary Multimodal Clustering</title>
        <p>
          Evolutionary approach to clustering has quite a long history [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and has contemporary
applications [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Most applications belong to the field of gene expression analysis [
          <xref ref-type="bibr" rid="ref12 ref2 ref6">2,
6, 12</xref>
          ].
        </p>
        <p>The gene expression data (GED) has been presented in two variants. These are either
matrices containing expression values corresponding to various experiment conditions,
or three-dimensional tensors, where a discrete time scale is used as the third dimension.
Genetic algorithms with a full set of selection, mutation and crossover operators are
used as evolutionary algorithms. The features of the genetic algorithms used here are
determined by the choice of the chromosome encoding scheme, the fitness function and
genetic operators.</p>
        <p>
          In clustering, the encoding of chromosomes is the central problem on which the
success of problem solution depends. Several encoding schemes have been proposed in
this area [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Among them there are binary encoding and integer encoding. Some of
them is shown on the Fig. 1 [
          <xref ref-type="bibr" rid="ref10 ref17">10, 17</xref>
          ]. In the binary encoding scheme for clustering, the
length of chromosome may be very large if it corresponds to the number of clustering
objects. Integer encoding is more compact but it is naturally redundant since different
genotypes may correspond to the same clustering solution.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] we have proposed the simple chain-encoding scheme also shown on the Fig.
1 which is not redundant and demonstrated its effectiveness in clustering when
proximity measure is Euclidean. Another important advantage of the proposed encoding is
that it provides quite fast work of the algorithm even on long chromosomes due to quasi
parallelization of calculations: several genes in the chromosome may point to the same
cluster simultaneously, so clusters are formed in a quasi parallel way. Below we also
tested this encoding scheme in the current research for non-Euclidean proximity
measure.
        </p>
        <p>
          As already mentioned, chromosomes in evolutionary clustering algorithm can have
a significant length. The natural solution, which is known from practice [
          <xref ref-type="bibr" rid="ref12 ref15">12, 15</xref>
          ], is the
use chromosomes with composite parts of which correspond to the data in the
measurements. For GED, such chromosomes have two or three sections corresponding to
genes and experiment conditions and third section corresponding to time stamps. Since
number of genes in experiments may be over dozens of thousands the length of GED
chromosomes may be giant. Nevertheless, the computational problem of processing
very long chromosomes (usually binary) is solved now [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>The application of genetic operators to such chromosomes has its own peculiarities.
In the studying of gene expression, the genetic crossover and mutation operators are
used in all sections of chromosomes. However, in other tasks, this is not justified, since
the permutations of genes in certain places of the chromosomes contradict the meaning
of the data and the atomic principle mentioned above.</p>
        <p>The application crossover and mutation in each section of the chromosome entails
large coverage of the search space and, possibly, fast convergence the algorithm to local
extrema. However, there are other options for the implementation of operators, not
necessarily covering all sections of the composite chromosomes. If, nevertheless,
multisectional variants of genetic operators are used, parallelization of computations in
accordance with the sectional arrangement of chromosomes is preferable.</p>
        <p>
          In general, the most evolutionary clustering algorithms use fitness functions based
on the distance between objects and either clusters' centroids or medoids [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>If formal contexts are used as input data, then such proximity measures are not very
effective, since instead of distances between objects and clusters (when centroids and
medoids are used), the quality of clustering is characterized by such cluster’ parameters
as cluster density and volume of clusters.</p>
        <p>
          All these and some other conditions were taken into account by when we modified
our evolutionary modeling environment [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], which we used in this study.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Evolutionary Clustering and FCA</title>
      <p>In the FCA, the application of Evolutionary Computation may be realized in two ways.</p>
      <p>In the first way, Evolutionary Computation is used in FCA algorithms for
constructing formal concepts, bi- and triclustering and for clustering of higher orders. Hybrid
algorithms on the basis of existing FCA ones are created, and certain parameters of
them are manipulated using Evolutionary Computation. The second way is creation of
evolutionary algorithms for processing formal contexts as an alternative to existing
FCA algorithms.</p>
      <p>
        Our work relates mainly to the second way. However, we use OAC-triclustering [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
when processing formal contexts, so formally our approach partially belongs to the first
way too.
      </p>
      <p>A multidimensional, n-ary formal context is defined by a relation
R  D  D2 ... Dn on data domains D1, D2 , ..., Dn . The context is an n +1 set:
1
 =&lt;K , K2 , ... , Kn , R &gt;</p>
      <p>1
where Ki ⊆ Di . The data from domains D1, D2 , ..., Dn is placed in a database and Ki
may be treated as results of queries to database. Using queries, we can form formal
contexts of certain dimension and content.</p>
      <p>
        According to multimodal clustering, for any dimension of formal context, the
purpose of its processing is to find n - sets which have the closure property [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]:
u  ( x1, x2 ,..., xn )  X1, X 2 , ..., X n , u  R ,
j  1, 2,..., n, x j  D j \ X j  X1,..., X j {x j}, ..., X n  does not satisfy (4). The sets
H  X1, X 2 , ..., X n  constitute multimodal clusters. The multimodal n-adic
concepts of an n-dimensional context (3) are exactly the maximal n-tuples with respect to
component-wise set inclusion [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Two circumstances are important when applying multidimensional contexts to data
analysis. The first is that not only formal concepts, but also multidimensional clusters
are important for knowledge discovering from data. Multidimensional clusters are
characterized by density, and formal concepts are absolutely dense clusters [
        <xref ref-type="bibr" rid="ref14 ref7">7, 14</xref>
        ].
      </p>
      <p>
        The second feature is important for the interpretation of clusters. Each cluster is a
combination of subsets of data from different domains. The very fact of combining
certain data with each other can be of interest. It is this version of fact extraction that
we use in this work. However, the higher the dimension of the cluster, the less certain
is the information that is represented by the combination of data, and additional analysis
of the clusters is required to refine it. Therefore, high-dimensional clusters are not built
and mainly three-dimensional formal contexts are the subject of research here [
        <xref ref-type="bibr" rid="ref14 ref22">14, 22,
24</xref>
        ]. For simplicity, we also illustrate our approach with three-dimensional formal
contexts.
      </p>
      <p>The three-dimensional triadic context (tricontext) of the form =(K1, K2 , K3 , I ),
where I ⊆ K1 × K2 × K3 is a ternary relation and in general  ≉  after querying to
(3)
(4)
database. Traditionally, subsets K1, K2 , K3 are interpreted as objects, attributes and
conditions (OAC), which have a specific meaning based on the content of the database.</p>
      <p>
        The kind of triclusters as OAC-triclusters are studied in detail and demonstrated
effectiveness in applications [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. For triadic context =(K1, K2 , K3 , I )
OACtricluster is defined in the form

      </p>
      <p>=(X, Y , Z ), X ⊆ K1, Y ⊆ K2 , Z ⊆ K3</p>
      <p>
        OAC-triclusters are characterized by cluster density [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], the presence of similar
values in clusters [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], and interestingness measures [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>We use cluster density, and volume of a cluster in our evolutionary clustering
algorithm. The cluster density is defined as
and volume of a cluster has the following form
d () =
| I ∩ ( X ×Y × Z ) | ,
| X | × | Y | × | Z |
v () =| X | × | Y | × | Z |</p>
      <sec id="sec-3-1">
        <title>3.1 Genetic Clustering Algorithm</title>
        <p>Algorithm 1 shown below is genetic algorithm, which realizes evolutionary algorithm
A-C from the Section 2.1. Its chromosomes chrom may be encoded by two variants.</p>
        <p>
          The first variant is classical one when processing GED. For three-dimensional
formal context of GED, there are three sections in chromosomes, for example, “genes”,
“conditions” and “time stamps”. Crossover and mutation operate in all three sections
to maximize search space coverage [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. However, among the new chromosomes
generated in this way, there may be incorrect chromosomes, which do not correspond to
the data in the original tensor. The doMultipleCrossover function accesses the original
tensor in order to filter out the wrong chromosomes.
        </p>
        <p>
          In the second variant of encoding, chromosomes have only one section containing
positions of objects being clustering. Filtering out the wrong chromosomes is not
needed but the algorithm may produce not proper solutions corresponded to local
optima of fitness function. This variant of encoding is convenient for implementing FCA
operators for clustering. Population of chromosomes represents variants of clustering
and chromosomes contain only references to objects, so the corresponding them
clusters can be constructed, for example, using OAC operators [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
        </p>
        <p>
          doSelection function realizes selection chromosomes according to selection method.
There are proportional, random universal, tournament and truncation selection
methods [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] realized in the algorithm.
        </p>
        <p>The stopping criterion is that the fitness function of the population does not change
with a certain accuracy over several steps of evolution. It may fail, and then the
algorithm executes the specified maximum number of steps.
(5)
(6)
(7)
Algorithm 1 Genetic clustering algorithm
Input: tensor is multidimensional context as the set of n samples on the axes of
measurements;
Parameters:
sizePop is the size of population of chromosomes;
numpoints is the number of points of crossover;
mutationRate is the probability of mutation;
coefDensity is the cluster density-scaling factor;
coefSize is the cluster volume-scaling factor;
limitPop is the maximal number of populations;
sel is the type of selection;
countPop is the number of steps of evolution;
popFitness is the value of the fitness function for the entire population.
Output: clusters is the set of clusters in the form of a set of subsets.</p>
        <p>population createPopulation[tensor, sizePop] creating a population of
chromosomes chrom
1: while countPop ≤ limitPop do
2: while stopping[population] is false do
3: for all chrom do
4: clusterDensity[chrom, tensor]
5: clusterVolume[chrom, tensor]
6: fitnessFunction[chrom, tensor, coefDensity, coefSize]
7: end
8:
popFitness[population] calculating the value of the fitness function</p>
        <p>for the entire population.
doMultipleCrossover[{chrom1, chrom2}, numpoints, tensor]
doMutation[chrom, mutationRate, tensor]
doSelection[chrom, popFitness, sel]
for all chrom do
{clusters}</p>
        <p>getSubTensorChrom[chrom, tensor] forming
clusters from tensor
9:
10:
11:
12:
13:
14:
15:
16: end
end</p>
        <p>end</p>
        <p>The purpose of other functions of the algorithm is clear from their names.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Study</title>
      <p>Experimental study of the proposed approach was carried out in order to solve some
tasks related to the problem of phenotyping diseases. Disease phenotyping refers to the
determination of the form of the disease based on the clinical profile. A clinical profile
is a cluster that can include various data describing both the disease itself and the
methods of its treatment, as well as the conditions of patients and sometimes the treatment
results.</p>
      <p>Our goal was also to study the efficiency and performance of the evolutionary
clustering algorithm for its various parameters.
4.1</p>
      <sec id="sec-4-1">
        <title>Data Sets</title>
        <p>Usually the whole data about patients and disease is stored in clinical database and the
data sets for the study can be obtained by performing queries to the database.
Depending on the database model and the DBMS platform, queries may be intellectual
of some degree and DBMS generates corresponding complicated results in the output.
However, relational databases and the SQL query language are still commonly used
here. Standard results of the queries are tables, the fields of which contain data
corresponding to the attributes of patients, diseases and treatment methods. Such tables
constitute as binary as multi-valued formal contexts. Solving the clustering problem on
such contexts, we get combinations of objects and attributes in clusters, which are
further analyzed as sources of facts. A contexts of dimensions greater than two can be built
on the results of queries, if we are interested in additional attributes retrieved from the
database.</p>
        <p>
          We use Myocardial Infarction Complications Data Set [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] for experiments. It
contains information about 1700 patients having disease of myocardial infarction. All
patients are anonymous and presented with identification numbers (ID). We use seven
formal contexts acquired from the whole set which number of objects and attributes are
shown in Table 1 where ECG is electrocardiogram. Among attributes, there are ones
about patients (ID only), their anamnesis, their treatment methods, and complications
after the treatment. An attribute may be binary or has a value as natural or real number.
Some formal contexts such as Therapy, Analyzes and Therapy results have a third
dimension in the form of days. The standard maximum treatment time for
myocardial infarction is 21 days (in Russia), which defines the scale of the third dimension.
Evolutionary clustering was performed using variants of genetic Algorithm 1 with two
different encoding schemes and various types of crossover.
        </p>
        <p>
          Chromosome encoding. After analyzing the existing variants of chromosome
encoding [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], we settled on two of them. The first variant is our chained integer-encoding
scheme [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] showed on Fig. 1.
        </p>
        <p>The second encoding scheme is a binary scheme organized according to the
principle of "one chromosome – one cluster". It has one, two or three sections in
chromosomes according with the variant of encoding (see Section 3.1) and dimension of a
context. Chromosomes for three-dimensional contexts have sections "patients",
"attrbutes” and "days". In the sections, a number of gene is the number of patient, number
of attribute from corresponding context from the Table 1 or number of a day according
with objects order in the corresponding subsets in formal tricontext. Different
chromosomes form different clusters. Because of the evolution of many such chromosomes,
really k different chromosomes from n members of the population should remain. In
this case, it turns out that some objects will be included in different clusters, i.e. there
will be an intersection of clusters.</p>
        <p>
          Fitness function. As in FCA, we control cluster density (6), its volume (7) and
special kind of interestingness. There is the trade-off problem between the density and the
volume of triclusters [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Depending on the data, density and volume may be
contradictory characteristics of clusters. Myocardial infarction data are sparse, and if we
collect enough units in a cluster, it will be simultaneously voluminous. Therefore, we do
not use the volume of clusters in the fitness function, but only use their density.
Nevertheless we calculate cluster volumes during evolution.
        </p>
        <p>For the binary encoding scheme, fitness function has the form:
where αi is user defined coefficient, which in general depends on cluster density, N is
the number of chromosomes in population which is equal to the maximal number of
clusters.</p>
        <p>For the chained integer-encoding scheme fitness function is the following:
(8)
(9)
where Kj is the number of clusters in the j-th chromosome.</p>
        <p>
          Interestingness of a cluster. It is known in clustering analysis that "the criteria relate
quite indirectly to the major goal of clustering which is improving of our understanding
of the world" [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. According to the fitness of the chromosomes, the whole fitness of
population is namely such criterion. It hides the features of individual chromosomes.
But if selection leaves chromosomes with maximum fitness, then there is a chance that
they will lead evolution to good solutions. Patient ID values found in clusters, other
f (d ) =
1 N
        </p>
        <p>∑ α id (Ci ) ,</p>
        <p>N i=1
f (d ) =
1 N 1 K j</p>
        <p>∑ ∑ α id (Ci )</p>
        <p>N j =1K j i =1
attributes corresponding to them from the “treatment” and “treatment outcomes”
domains are evaluated for the presence of information in them that can be treated as facts.
The formal criteria for selecting such “interesting” clusters are:
─ the presence of a single cluster at the end of evolution;
─ the most dense clusters among the received;
─ clusters of the maximum volume among received;
─ clusters with given values of density and volume.
4.3</p>
      </sec>
      <sec id="sec-4-2">
        <title>Fact Extraction with Clustering</title>
        <p>The most serious complication of a myocardial infarction is a lethal outcome of the
disease. In our data set, the lethal outcome is set by the attribute LET_IS, which has
following 8 values: 0: unknown (alive), 1: cardiogenic shock, 2: pulmonary edema, 3:
myocardial rupture, 4: progress of congestive heart failure, 5: thromboembolism, 6:
asystole, 7: ventricular fibrillation. We selected attributes related to the treatment of
patients to find out whether the treatment affects the lethal outcome. For this purpose,
the formal context was constructed, containing 27 attributes and 110 objects as the
numbers of patients who had a lethal outcome of any of the 7 variants. A similar formal
context was also constructed for patients who did not have a lethal outcome. It contains
1590 objects. We have added a third dimension to these contexts, reflecting the use of
drugs on certain days. For example, a point with coordinates (7, NA_R_1_n, 1)
corresponds to a unit, which means that the patient number 7 got opioid drugs at the first day
of hospitality.</p>
        <p>To solve the task of the effect of patient treatment on the lethal outcome, triclustering
was performed in both contexts using an evolutionary algorithm.</p>
        <p>Facts Extracted. We were interested in special clusters. First of all, these are
clusters with large groups of patients characterized by certain combinations of attributes
from the domains "patient", "treatment", "treatment results". Several such groups were
obtained.
1. We have found that the lethal outcome of myocardial infarction is inherent in elderly
patients over 60 years of age. This fact is consistent with the known data of
cardiology.
2. In more detail, cases of heart attack in the anamnesis correlate with a fatal outcome,
which also looks natural.</p>
        <p>For both this groups of patients, we found absolutely dense clusters built on tensors
with age and anamnesis attributes.</p>
        <p>Unexpected result. We have found one unexpected result, which is as follows. On
the data of myocardial infarction, there are stable (not changing according with
different parameters of the genetic algorithm) and rather dense clusters in which a subgroup
of patients with a lethal outcome have not got certain drugs. At the same time, patients
with a non-lethal outcome had these drugs.</p>
        <p>Comparison with Data-Peeler. We were also interested in absolutely dense
clusters, the formal concepts. As expected, there were few such clusters, which follows
from the sparsity of the data. One of them is shown in Fig. 2. In it, we see that 7 patients
had no fibrinolytic therapy by Streptodecase (attribute fibr_ter_08) what is confirmed
by the query to the database.</p>
        <p>
          To compare our results with well known another algorithm, we selected Data-Peeler
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and modernized its code [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] by adding graphical user interface. Comparison of the
results is shown in Table 2.
        </p>
        <p>The results in the last row of Table 2 can be explained by the high sparsity of data
in this formal context. Accordingly, the Data-Peeler algorithm has built a lot of small
concepts.
4.4</p>
      </sec>
      <sec id="sec-4-3">
        <title>Algorithm Performance.</title>
        <p>The results of the algorithm performance study are as follows.</p>
        <p>1. The algorithm processes very long three-section chromosomes of about 2000
genes fairly quickly. This allowed us to perform experiments in a wide range of changes
in the parameters of the algorithm. Fig. 3 shows clustering execution time for each of</p>
      </sec>
      <sec id="sec-4-4">
        <title>Formal context</title>
        <p>Anamnesis</p>
        <p>Therapy
Analyzes
Infarct</p>
        <p>ECG
Therapy results</p>
        <p>Full Data
30
30
30
30
30
30
30
14
19
17
20
10
12
4
the seven contexts. On the Fig. 3-a it is shown for two-dimensional formal contexts and
on the Fig. 3-b it is shown for three-dimensional formal contexts. At the same time, in
some contexts, the third dimension was introduced artificially.</p>
        <p>The executions were performed on a standard PC 3.59 GHz with 4 Core-Processors and
8 GB RAM.</p>
        <p>2. Encoding "one chromosome – one cluster" was more effective than chain
encoding on a non-Euclidean fitness functions (6), (7) combining the density and volume of
clusters. Since the chain encoding is more complex and multi-linked, the execution of
crossover operators on chromosomes led to the "mixing"of genes, the appearance of
many "incorrect" chromosomes, and as a result, a decrease in performance.</p>
        <p>3. A multipoint crossover is more efficient than a single-point crossover. The use of
multipoint crossover in all three sections of chromosomes accelerated the convergence
of the algorithm and was effective namely on the encoding scheme "one chromosome
– one cluster".
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>This paper proposes an approach to multimodal clustering on multidimensional formal
contexts using evolutionary computation. This approach is effective in experiments on
clustering three-dimensional formal contexts based on data of patients with myocardial
infarction. The genetic algorithm builds dense clusters in any case, even for a local
extrema of the fitness function.</p>
      <p>The presented experimental results reflect the initial stage of research in this area. In
the future, it is planned to do the following.</p>
      <p>1. Evaluate the informativeness of the obtained clusters not manually, but using a
user interface focused on doctors.</p>
      <p>2. Experiments have confirmed that the criteria of cluster density and volume
contradict each other. Therefore, it is necessary to apply multi-objective evolutionary
clustering with appropriate algorithms.</p>
      <p>3. Transition to the dimension of formal contexts greater than three. Separate groups
of parameters can be represented as dimensions. Then their combinations obtained in
clusters will reflect in more detail the relationships in heterogeneous data.</p>
      <p>Acknowledgments. We thank anonymous reviewers for their remarkы and advices.
The reported study was funded by Russian Foundation of Basic Research, the research
project № 19-07-01178 and RFBR and Tula Region according to research project №
19-47-710007.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Hartigan</surname>
          </string-name>
          J A.
          <article-title>Direct clustering of a data matrix</article-title>
          .
          <source>Journal of the American statistical association</source>
          ,
          <volume>67</volume>
          (
          <issue>337</issue>
          ):
          <fpage>123</fpage>
          -
          <lpage>129</lpage>
          (
          <year>1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Madeira</surname>
            <given-names>SC</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveira</surname>
            <given-names>AL</given-names>
          </string-name>
          .
          <article-title>Biclustering algorithms for biological data analysis: a survey</article-title>
          .
          <source>IEEE/ACM Trans. Comput. Biol. Bioinform</source>
          . Jan-Mar;
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>24</fpage>
          -
          <lpage>45</lpage>
          . (
          <year>2004</year>
          ) DOI:
          <fpage>10</fpage>
          .1109/TCBB.
          <year>2004</year>
          .
          <volume>2</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ganter</surname>
          </string-name>
          , Bernhard; Stumme, Gerd; Wille, Rudolf, eds.,
          <source>Formal Concept Analysis: Foundations and Applications, Lecture Notes in Artificial Intelligence, No. 3626</source>
          , Springer-Verlag. Berlin (
          <year>2005</year>
          ) DOI:
          <fpage>10</fpage>
          .1007/978-3-
          <fpage>540</fpage>
          -31881-1
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kaytoue</surname>
          </string-name>
          , Mehdi, Kuznetsov, Sergei, Napoli, Amedeo.
          <source>Biclustering Numerical Data in Formal Concept Analysis</source>
          .
          <fpage>135</fpage>
          -
          <lpage>150</lpage>
          . (
          <year>2011</year>
          ). DOI:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -20514-9_
          <fpage>12</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ignatov</surname>
            <given-names>D. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhukov</surname>
            <given-names>L. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <source>Can triconcepts become triclusters? // International Journal of General Systems</source>
          , Vol.
          <volume>42</volume>
          . No.
          <volume>6</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Henriques</surname>
            <given-names>R.</given-names>
          </string-name>
          , Madeira S.
          <article-title>Triclustering Algorithms for Three-Dimensional Data Analysis: A Comprehensive Survey</article-title>
          . ACM Comput. Surv. V.
          <volume>51</volume>
          . № 5. P. 1-
          <fpage>43</fpage>
          . (
          <year>2019</year>
          ) DOI:
          <fpage>10</fpage>
          .1145/3195833.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dmitry</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Gnatyshak</surname>
            ,
            <given-names>Dmitry I. Ignatov</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergei O. Kuznetsov</surname>
          </string-name>
          ,
          <article-title>From Triadic FCA to Triclustering: Experimental Comparison of Some Triclustering Algorithms</article-title>
          .
          <source>In: Proceedings of the Tenth International Conference on Concept Lattices and Their Applications</source>
          (CLA'
          <year>2013</year>
          ), La Rochelle: Laboratory L3i, University of La Rochelle, pp.
          <fpage>249</fpage>
          -
          <lpage>260</lpage>
          , (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Voutsadakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Polyadic concept analysis</article-title>
          .
          <source>- Order</source>
          . Vol.
          <volume>19</volume>
          (
          <issue>3</issue>
          ). Pp.
          <volume>295</volume>
          -
          <fpage>304</fpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cerf</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Besson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robardet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boulicaut</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Closed Patterns Meet N-ary Relations</surname>
          </string-name>
          .
          <source>In: ACM Trans. Knowl. Discov. Data. 3</source>
          ,
          <issue>1</issue>
          , Article 3, 36 p. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>R. M. Cole</surname>
          </string-name>
          ,
          <article-title>Clustering with Genetic Algorithms</article-title>
          ,
          <source>MSc Thesis</source>
          , University of Western Australia,
          <string-name>
            <surname>Australia</surname>
          </string-name>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Goldberg</surname>
            <given-names>D.E.</given-names>
          </string-name>
          <string-name>
            <surname>Genetic</surname>
          </string-name>
          <article-title>Algorithms in Search Optimization and Machine Learning</article-title>
          .
          <source>Addison-Wesley</source>
          , Reading, MA, USA (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Hruschka</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campello</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitas</surname>
            <given-names>A</given-names>
          </string-name>
          .,
          <string-name>
            <surname>de Carballo</surname>
          </string-name>
          <article-title>A. A Survey of Evolutionary Algorithms for Clustering</article-title>
          .
          <source>Systems, Man, and Cybernetics</source>
          , Part C:
          <article-title>Applications</article-title>
          and Reviews, IEEE Transactions on Evolutionary Computation. V. 39. P.
          <volume>133</volume>
          -
          <fpage>155</fpage>
          . (
          <year>2009</year>
          ) DOI:
          <fpage>10</fpage>
          .1109/TSMCC.
          <year>2008</year>
          .
          <volume>2007252</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>S.O.</given-names>
            <surname>Kuznetsov</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Obiedkov</surname>
          </string-name>
          ,
          <article-title>Comparing Performance of Algorithms for Generating Concept Lattices</article-title>
          .
          <source>Journal of Experimental and Theoretical Artificial Intelligence</source>
          , Vol.
          <volume>14</volume>
          , no.
          <issue>2-3</issue>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Ignatov</surname>
            <given-names>D. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gnatyshak</surname>
            <given-names>D. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergei</surname>
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Kuznetsov</surname>
          </string-name>
          , Boris G.
          <article-title>Mirkin, Triadic Formal Concept Analysis and triclustering: searching for optimal patterns</article-title>
          .
          <source>In: Machine Learning</source>
          , April,
          <year>2015</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Ma P.,
          <string-name>
            <surname>Chan</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yao</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chiu</surname>
            <given-names>D.</given-names>
          </string-name>
          <article-title>An evolutionary clustering algorithm for gene expression microarray data analysis</article-title>
          .
          <source>IEEE Transactions on Evolutionary Computation</source>
          . V. 10. P.
          <volume>296</volume>
          -
          <fpage>314</fpage>
          (
          <year>2006</year>
          ) doi: 10.1109/TEVC.
          <year>2005</year>
          .
          <volume>859371</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <article-title>Myocardial infarction complications Data Set</article-title>
          . http://archive.ics.uci.edu/ml/machine-learning-databases/00579/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Y. Bogatyrev</surname>
            ,
            <given-names>A. P.</given-names>
          </string-name>
          <string-name>
            <surname>Terekhov</surname>
          </string-name>
          .
          <article-title>Framework for Evolutionary Modelling in Text Mining</article-title>
          .
          <source>- Proceedings of the SENSE'09 - Conceptual Structures for Extracting Natural Language Semantics. Workshop at 17th International Conference on Conceptual Structures (ICCS'09)</source>
          , p.p.
          <fpage>26</fpage>
          -
          <lpage>37</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Mehdi</surname>
            <given-names>Kaytoue</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergei O. Kuznetsov</surname>
          </string-name>
          , Juraj Macko, Wagner Meira Jr.,
          <string-name>
            <surname>Amedeo</surname>
            <given-names>Napoli</given-names>
          </string-name>
          ,
          <article-title>Mining Biclusters of Similar Values with Triadic Concept Analysis</article-title>
          .
          <source>In: Proc. 8th International Conference on Concept Lattices and Their Applications (CLA</source>
          <year>2011</year>
          ),
          <source>INRIA Nancy - Grand Est and LORIA</source>
          , pp.
          <fpage>175</fpage>
          -
          <lpage>190</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kuznetsov</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Makhalova</surname>
            <given-names>T.</given-names>
          </string-name>
          <article-title>Concept interestingness measures: a comparative study</article-title>
          ,
          <source>in: Proceedings of the Twelfth International Conference on Concept Lattices and Their Applications Clermont-Ferrand, France, October 13-16</source>
          ,
          <year>2015</year>
          Vol.
          <volume>1466</volume>
          .
          <string-name>
            <surname>Clermont-Ferrand : CEUR Workshop Proceedings</surname>
          </string-name>
          . P.
          <volume>59</volume>
          -
          <fpage>72</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Mirkin</surname>
            ,
            <given-names>B. G.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Kramarenko</surname>
            ,
            <given-names>A. V.</given-names>
          </string-name>
          <article-title>Approximate bicluster and tricluster boxes in the analysis of binary data. In Rough sets, fuzzy sets, data mining and granular computing</article-title>
          ,
          <source>LNCS</source>
          , Vol.
          <volume>6743</volume>
          , pp.
          <fpage>248</fpage>
          -
          <lpage>256</lpage>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Mirkin</surname>
            , Boris, Muchnik, Ilya. Combinatoral Optimization in Clustering. Handbook of Combinatorial Optimization. D.-
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Du and P.M. Pardalos</surname>
          </string-name>
          (Eds.) pp.
          <fpage>261</fpage>
          -
          <lpage>329</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Dmitry</surname>
            <given-names>I. Ignatov</given-names>
          </string-name>
          , Alexander Semenov, Daria Komissarova, Dmitry V.
          <article-title>Gnatyshak: Multimodal Clustering for Community Detection</article-title>
          .
          <source>Formal Concept Analysis of Social Networks</source>
          <year>2017</year>
          :
          <fpage>59</fpage>
          -
          <lpage>96</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>23. https://github.com/ibrahim85/d-peeler</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>