<!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>Continuous Attributes for FCA-based Machine Learning?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dmitry V. Vinogr</string-name>
          <email>vinogradov.d.w@gmail.com</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>FRC Computer Science and Control RAS</institution>
          ,
          <addr-line>Moscow 119333</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Russian State University for Humanities</institution>
          ,
          <addr-line>Moscow 125993</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we extend previously developed approach to FCA-based machine learning with discrete attributes to the case with objects described by continuous attributes. We combine the logistic regression with an entropy-based separation of attribute values, which is similar to Quinlan's approach to dealing with continuous attributes. We apply Cox-Snell and McFadden significance criteria to logistic regression. Finally, we present the results of applying the new version of FCA-based learning system to the analysis of Wine Quality dataset from UCI Machine Learning Repository.</p>
      </abstract>
      <kwd-group>
        <kwd>FCA</kwd>
        <kwd>Machine Learning</kwd>
        <kwd>continuous attributes</kwd>
        <kwd>entropy</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In [8] the author extended some FCA ideas [1] by developing a probabilistic
approach to Machine Learning (ML) based on similarity operation. FCA provides
a very efficient representation for training objects by means of bitsets (fixed
length strings of bits) with bit-wise multiplication as a similarity between them.
The previous version of the ML program (called ’VKF system’ in honor to Prof.
V.K. Finn) was applicable to objects described by discrete attributes only.
However, a variety of interesting data needs both discrete and continuous attributes
for their representation. The first step to include continuous cases to VKF system
is an analogue of J.R. Quinlan’s approach to similar problem for C4.5 decision
tree algorithm [5]. He splits the whole domain of a continuous attribute into
several intervals to reach minimal mean entropy.</p>
      <p>To obtain bitset representation from such division we introduce indicator
variables and combine their values. The main result asserts that bit-wise
multiplication corresponds to a convex hull of intervals of values under similarity,
which was studied in [2] and [4] in terms of interval pattern structures within,
an FCA-based approach to analysis of data with continuous attributes. A more
important problem is to discover complex combinations of continuous attributes.
? partially supported by RFBR grant 18-29-03063mk.</p>
      <p>Since our main goal is to discover a classifier, we apply Bayes Machine Learning
ideas to generate such complex attributes through well-known logistic regression.</p>
      <sec id="sec-1-1">
        <title>The key question is to detect significance of essential relationships (interac</title>
        <p>tions) between pairs of attributes. Hence, we apply well-known Cox-Snell and</p>
      </sec>
      <sec id="sec-1-2">
        <title>McFadden criteria to discover such interactions.</title>
        <p>The structure of the paper is as follows. In Section 1 we recall general
definitions and some facts from FCA. Section 2 covers main algorithms of
VKFmethod. Section 3 describes new results. Subsection 3.1 reproduces Quinlan’s
technique to separate continuous feature domain into several intervals. It also
introduces a representation of the occurrence of an attribute value in some interval
by bitset. Subsection 3.2 introduces a logistic regression approach to discovering
relationships between continuous features.
1</p>
        <p>Formal Concept Analysis (FCA)
A (finite) context is a triple (G, M, I) where G and M are finite sets and
I ⊆ G × M . The elements of G and M are called objects and attributes,
respectively. As usual, we write gIm instead of hg, mi ∈ I to denote that object
g has attribute m.</p>
        <p>For A ⊆ G and B ⊆ M , define</p>
        <p>A0 = {m ∈ M |∀g ∈ A(gIm)},</p>
        <p>B0 = {g ∈ G|∀m ∈ B(gIm)};
so A0 is the set of attributes common to all the objects in A and B0 is the set
of objects possessing all the attributes in B. The maps (·)0 : A 7→ A0 and (·)0 :</p>
        <sec id="sec-1-2-1">
          <title>B 7→ B0 are called derivation operators (polars) of the context (G, M, I).</title>
          <p>If we fix attribute subsets {g1}0 ⊂ M and {g2}0 ⊂ M for objects g1 ∈ G
and g2 ∈ G, respectively, with corresponding bitsets, then the derivation
operator on a pair of objects corresponds to bit-wise multiplication, since {g1, g2}0 =
{g1}0 ∩ {g2}0. More generally, the polars correspond to the iteration of bit-wise
multiplication (in arbitrary order) of corresponding bitset-represented objects
and attributes, respectively. The last remark is important, since bit-wise
multiplication is a basic operation of modern CPU and GPGPU. The aim of the
article is to invent a bitset representation of continuous features in such a way
that bit-wise multiplication of resulting bitsets has clear meaning with respect
to original values!</p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>A concept of the context (G, M, I) is defined to be a pair (A, B), where</title>
        <p>A ⊆ G, B ⊆ M , A0 = B, and B0 = A. The first component A of the concept
(A, B) is called the extent of the concept, and the second component B is
called its intent. The set of all concepts of the context (G, M, I) is denoted by
L(G, M, I).</p>
        <p>
          Definition 1. For (A, B) ∈ L(G, M, I), g ∈ G, and m ∈ M define
CbO((A, B), g) = ((A ∪ {g})00, B ∩ {g}0),
CbO((A, B), m) = (A ∩ {m}0, (B ∪ {m})00).
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
We deal with supervised Machine Learning. Hence we have training examples
together with the target values on them. All examples are described by binary
attributes from M , i.e. they can be given by bitsets of fixed length. Usually,
a subset of examples is used as a test sample Gτ for checking the quality of
training. The training examples are divided into positive G+ and negative G−
subsets according to the value of the target attribute. The elements of G+ and
G− make the training sample, elements of G− are called counter-examples
(obstacles). Formal context (G+, M, I) is the main data set.
        </p>
        <p>The well-known example (S, S, 6=) of context for Boolean algebra
demonstrates difficulties of brute force approach. For Boolean algebra of all subsets
of n elements the context uses n2 bits, and all the concepts need n · 2n bits.
For n = 32 the first number is 1 Kb (or 128 bytes) and the second one is 16</p>
      </sec>
      <sec id="sec-1-4">
        <title>Gigabytes! The time complexity is exponential too.</title>
      </sec>
      <sec id="sec-1-5">
        <title>Hence we need to replace computation of the whole lattice of all concepts by</title>
        <p>randomized algorithms to generate a random subset of the lattice. The author
introduced and investigated mathematical properties of several algorithms of
this kind, the best of which are variants of coupling Markov chains.</p>
      </sec>
      <sec id="sec-1-6">
        <title>Now we represent the classical version of coupling Markov chain that is a core</title>
        <p>of probabilistic approach to machine learning based on FCA (VKF-method).</p>
        <p>Data: context (G+, M, I), external function CbO( , )
Result: random concept (A, B) ∈ L(G+, M, I)
X := G t M ; (A, B) := (M 0, M ); (C, D) = (G, G0);
while ((A 6= C) ∨ (B 6= D)) do
select random element x ∈ X;
(A, B) := CbO((A, B), x);
(C, D) := CbO((C, D), x);
end</p>
      </sec>
      <sec id="sec-1-7">
        <title>Algorithm 1: Coupling Markov chain</title>
        <p>
          (
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <sec id="sec-1-7-1">
          <title>The ordering of two concepts (A, B) ≤ (C, D) at any intermediate step of</title>
          <p>the while loop of Algorithm 1 is defined by Lemma 2.</p>
          <p>For Boolean lattice (contranomial) context the author [8] computed the mean
length of trajectory of Algorithm 1 as n Pn
j=1 n1 and proved strong concentration
of length of arbitrary trajectory about its mean. For n = 32 the mean is ≤ 130,
hence every trajectory generates about 260 (since two concepts is a state of the
coupling Markov chain) subsets. Hence, only a small fraction of concepts occurs
during computation of a moderate size subset of the Boolean algebra. We have in
mind that there are 4,294,967,296 elements of Boolean algebra on 32 attributes.</p>
        </sec>
      </sec>
      <sec id="sec-1-8">
        <title>Machine Learning procedure has two steps: induction and prediction. At the first step the system generate hypotheses about causes of the target property from training sample. At the prediction step the system applies the hypotheses to predict the target value for test examples.</title>
      </sec>
      <sec id="sec-1-9">
        <title>The induction step of FCA-based learning applies the Coupling Markov chain</title>
        <p>Algorithm 1 to generate a random formal concept (A, B) ∈ L(G+, M, I). The
program saves the concept (A, B) if there is no obstacle (counter-example) o ∈</p>
        <sec id="sec-1-9-1">
          <title>G− such that B ⊆ o0.</title>
        </sec>
      </sec>
      <sec id="sec-1-10">
        <title>Data: number N of concepts to generate</title>
      </sec>
      <sec id="sec-1-11">
        <title>Result: random sample S of formal concepts without obstacles</title>
        <p>G+ := (+)-examples, M := attributes; I ⊆ G+ × M is a formal context
for (+)-examples;
G− := (-)-examples; S := ∅; i := 0;
while (i &lt; N ) do</p>
        <p>Generate concept (A, B) by Algorithm 1;
hasObstacle := false;
for (o ∈ G−) do
if (B ⊆ o0) then</p>
        <p>hasObstacle := true;
end
end
if (hasObstacle = false) then</p>
        <p>S := S ∪ {(A, B)};
i := i + 1;
end
end</p>
      </sec>
      <sec id="sec-1-12">
        <title>Algorithm 2: Inductive generalization</title>
        <sec id="sec-1-12-1">
          <title>Condition (B ⊆ o0) of Algorithm 2 means the inclusion of intent B of concept</title>
          <p>(A, B) into the intent of counter-example o.</p>
        </sec>
      </sec>
      <sec id="sec-1-13">
        <title>If a concept “avoids” all such obstacles it is added to the result set of all the concepts without obstacles.</title>
      </sec>
      <sec id="sec-1-14">
        <title>We replace a time-consuming deterministic algorithm (for instance, ”Closeby-One” [3]) for generation of all concepts by the probabilistic one to randomly generate the prescribed number of concepts.</title>
      </sec>
      <sec id="sec-1-15">
        <title>The goal of Markov chain approach is to select a random sample of formal concepts without computation of the (possibly exponential size) set L(G, M, I) of all the concepts.</title>
      </sec>
      <sec id="sec-1-16">
        <title>Finally, machine learning program predicts the target class of test examples</title>
        <p>and compares the results of prediction with the original target value.</p>
        <p>Data: random sample S of concepts, list Gτ of test objects
Result: prediction of target class of Gτ elements
for (o ∈ Gτ ) do</p>
        <p>P redictP ositively(o) := false;
for ((A, B) ∈ S+) do
if (B ⊆ o0) then</p>
        <p>P redictP ositively(o) := true;
end
end
end</p>
      </sec>
      <sec id="sec-1-17">
        <title>Algorithm 3: Prediction of target class by analogy</title>
      </sec>
      <sec id="sec-1-18">
        <title>The author proved [8] the following theorem to estimate parameter N from</title>
      </sec>
      <sec id="sec-1-19">
        <title>Algorithm 2.</title>
      </sec>
      <sec id="sec-1-20">
        <title>Test object o is an ε-important if probability of all concepts (A, B) with</title>
        <sec id="sec-1-20-1">
          <title>B ⊆ {o}0 exceeds ε.</title>
          <p>Theorem 1. For n = |M | and for any ε &gt; 0 and 1 &gt; δ &gt; 0 random sample S
of concepts of cardinality</p>
          <p>
            N ≥
2 · (n + 1) − 2 · log2 δ
ε
(
            <xref ref-type="bibr" rid="ref9">9</xref>
            )
with probability &gt; 1 − δ has property that every ε-important object o contains
some concept (A, B) ∈ S such that B ⊆ {o}0.
          </p>
        </sec>
      </sec>
      <sec id="sec-1-21">
        <title>This theorem is an analogue of the famous results of V. Vapnik and A. Cher</title>
        <p>vonenkis [7] from Computational Learning Theory (here n + 1 corresponds to
log2 d, where d is a VC-dimension).</p>
      </sec>
      <sec id="sec-1-22">
        <title>From the practical point of view this theorem asserts the sufficiency of polynomial number of random concepts as causes of the target property to minimize 1-type error (wrong prediction of positive test examples) with respect to prediction by analogy (Algorithm 3).</title>
        <p>3
3.1</p>
        <p>Continuous attributes</p>
        <p>Entropy approach
Let G = G+ ∪ G− be a disjoint union of training examples G+ and
counterexamples G−. Interval [a, b) ⊆ IR of values of continuous attribute V : G → IR
generates three subsets</p>
        <p>G+[a, b) = {g ∈ G+ : a ≤ V (g) &lt; b},
.</p>
        <p>Definition 2. Entropy of interval [a, b) ⊆ IR of values of continuous attribute
V : G → IR is
ent[a, b) = − |G|G+[a[a,,bb))|| · log2
|G+[a, b)|
|G[a, b)|
− |G|G−[a[a,,bb))|| · log2
|G−[a, b)|
|G[a, b)|</p>
        <p>Mean information for partition a &lt; r &lt; b of interval [a, b) ⊆ IR of values
of continuous attribute V : G → IR is</p>
        <p>inf[a, r, b) = ||EE[[aa,, rb))|| · ent[a, r) + ||EE[[ar,, bb))|| · ent[r, b).</p>
        <p>Threshold is a value V = r with minimal mean information.</p>
        <p>G−[a, b) = {g ∈ G− : a ≤ V (g) &lt; b},</p>
        <p>G[a, b) = {g ∈ G : a ≤ V (g) &lt; b}</p>
        <p>For continuous attribute V : G → IR denote a = min V by v0 and let vl+1
be an arbitrary number greater then b = max V . Thresholds {v1 &lt; . . . &lt; vl} are
computed sequentially by splitting the largest entropy subinterval.</p>
      </sec>
      <sec id="sec-1-23">
        <title>These constructions were introduced by J.R. Quinlan for C4.5, the wellknown system for learning Decision Trees [5].</title>
        <p>Definition 3. For each 1 ≤ i ≤ l indicator (Boolean) variables corresponds to
(10)
(11)
(12)
(13)
δiV (g) = 1 ⇔ V (g) ≥ vi
σiV (g) = 1 ⇔ V (g) &lt; vi</p>
        <p>Then string δ1V (g) . . . δlV (g)σ1V (g) . . . σlV (g) is a bitset-representation of
continuous attribute V on element g ∈ G.</p>
        <p>
          Lemma 3. Let δ1(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) . . . δl(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )σ1(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) . . . σl(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) represent vi ≤ V (A1) &lt; vj and
δ1(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) . . . δl(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )σ(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) . . . σl(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) represent vn ≤ V (A2) &lt; vm. Then
1
(δ1(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )&amp;δ1(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )) . . . (δl(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )&amp;δl(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ))(σ1(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )&amp;σ1(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )) . . . (σl(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )&amp;σl(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ))
corresponds to min{vi, vn} ≤ V ((A1 ∪ A2)00) &lt; max{vj , vm}.
        </p>
      </sec>
      <sec id="sec-1-24">
        <title>In other words, Lemma 3 asserts that the result of bit-wise multiplication of</title>
        <p>bitset representations is a convex hull of its arguments’ intervals.</p>
      </sec>
      <sec id="sec-1-25">
        <title>The proof follows immediately from definition 3.</title>
      </sec>
      <sec id="sec-1-26">
        <title>Similar bitset presentation for continuous features was mentioned earlier in [4] for interval pattern structures. However this work uses a priori given subdivision of a feature domain into disjoint subintervals.</title>
        <p>pX,K (x, k) = pX (x) · pK|X (k | x),
where pX (x) is a marginal distribution of objects and pK|X (k | x) is a
conditional distribution of marks on given object, i.e. for every x ∈ IRd the following
pK|X (k | x) = IP{K = k | X = x} holds.</p>
        <p>Error probability of classifier c : IRd → {0, 1} is</p>
        <p>R(c) = IP {c(X) 6= K} .</p>
        <p>Bayes classifier b : IRd → {0, 1} with respect to pK|X (k | x) corresponds
1
b(x) = 1 ⇔ pK|X (1 | x) &gt; 2 &gt; pK|X (0 | x)
to</p>
      </sec>
      <sec id="sec-1-27">
        <title>We remind well-known</title>
      </sec>
      <sec id="sec-1-28">
        <title>Bayes Theorem implies</title>
        <p>pK|X (1 | x) =
Theorem 2. The Bayes classifier b has the minimal error probability:
∀c : IRd → {0, 1} [R(b) = IP{b(X) 6= K} ≤ R(c)]
1 + ppXX||KK((xx||01))··IIPP{{KK==01}}</p>
        <p>pX|K (x | 1) · IP{K = 1}
pX|K (x | 1) · IP{K = 1} + pX|K (x | 0) · IP{K = 0}</p>
        <p>1 1
= =
1 + exp{−a(x)}
= σ(a(x))
=
where a(x) = log ppXX||KK((xx||10))··IIPP{{KK==10}} and σ(y) = 1+exp{−y} is the well-known
1
logistic function.</p>
      </sec>
      <sec id="sec-1-29">
        <title>Equation (15) transforms to</title>
        <p>b(x) = 1 ⇔ a(x) &gt; 0</p>
        <p>Let approximate unknown a(x) = log ppXX||KK((xx||10))··IIPP{{KK==10}} by linear
combination wT · ϕ(x) of basis functions ϕi : IRd → IR (i = 1, . . . , m) with respect to
unknown weights w ∈ IRm.</p>
        <p>For training sample hx1, k1i, . . . , hxn, kni introduce tj = 2kj − 1. Then
n " m #
log{p(t1, . . . , tn | x1, . . . , xn, w)} = − X log 1 + exp{−tj X wiϕi(xj)} .
j=1 i=1
Lemma 4. log [1 + exp{−t · Pim=1 wiϕi}] is a convex function of w.
(14)
(15)
(16)</p>
      </sec>
      <sec id="sec-1-30">
        <title>Hence, the logarithm of likelihood</title>
        <p>L(w1, . . . , wm) = −
n " m
X log 1 + exp{−tj X wiϕi(xj )}
j=1 i=1
#
→ max
is concave.</p>
      </sec>
      <sec id="sec-1-31">
        <title>Newton-Raphson method leads to iterative procedure</title>
        <p>wt+1 = wt − (∇wT ∇wL(wt))−1 · ∇wL(wt).</p>
        <p>Use sj = 1+exp{tj·(1wT ·Φ(xj))} we obtain</p>
        <p>∇L(w) = −ΦT diag(t1, . . . , tn)s, ∇∇L(w) = ΦT RΦ,
where R = diag(s1(1 − s1), s2(1 − s2), . . . , sn(1 − sn)) is diagonal matrix with
elements s1(1 − s1), s2(1 − s2), . . . , sn(1 − sn) and diag(t1, . . . , tn)s is vector with
coordinates t1s1, t2s2, . . . , tnsn.</p>
        <p>wt+1 = wt + ΦT RΦ −1 ΦT diag(t)s = (ΦT RΦ)−1ΦT Rz,
(19)
where z = Φwt + R−1diag(t1, . . . , tn)s are iterative calculated weights.</p>
      </sec>
      <sec id="sec-1-32">
        <title>As usual, the ridge regression helps to avoid ill-conditioned situation</title>
        <p>wt+1 = (ΦT RΦ + λ · I)−1 · (ΦT Rz).</p>
      </sec>
      <sec id="sec-1-33">
        <title>In the computer program ’VKF system’ we use standard basis: constant 1 and attributes themselves.</title>
      </sec>
      <sec id="sec-1-34">
        <title>At last, we need a criterion for significance of regression. For logistic regression two types of criteria were applied:</title>
        <p>Criterion of Cox-Snell declares attribute Vk significant, if</p>
        <p>R2 = 1 − exp{2(L(w0, . . . , wk−1) − L(w0, . . . , wk−1, wk))/n} ≥ σ.
McFadden criterion declares attribute Vk significant, if
(17)
(18)
(20)
(21)
1 −</p>
        <p>L(w0, . . . , wk−1, wk)</p>
        <p>L(w0, . . . , wk−1)
≥ σ.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Conclusion</title>
      <p>We have extended the ’VKF system’ approach to FCA-based machine learning
on examples with both discrete and continuous attributes.</p>
      <sec id="sec-2-1">
        <title>Experiments with Wine Quality Dataset [6] demonstrate a very good behavior of the proposed approach. For red wines with high scores (more than 7) all examples were classified correctly.</title>
      </sec>
      <sec id="sec-2-2">
        <title>The pair-wise logistic regression is combined with single threshold compu</title>
        <p>tation. Lemma 3 gives a condition of non-triviality of similarity on values of
continuous attribute: if the corresponding part of the resulting bitset is
nonvoid, then the values V (B0) belong to a common interval.</p>
      </sec>
      <sec id="sec-2-3">
        <title>When analyzing relationship between ’alcohol’ and ’sulphates’ for red wines we observe a phenomenon directly corresponding to the well-known</title>
        <p>Lemma 5. Disjunction xi1 ∨ . . . ∨ xik of Boolean variables holds, if and only if
xi1 + . . . + xik ≥ σ holds for any 0 &lt; σ &lt; 1.</p>
        <p>Positive (but slightly different) weights correspond to different scaling of various
attributes. So we have not only conjuction of attributes by also a disjunction.
Similar case is a relationship between ’citric acid’ and ’alcohol’.The situation
with the pair (’pH’, ’alcohol’) is radically different. The alcohol’s weight is
positive, whereas pH’s weight is negative. With the help of aforementioned lemma
and standard logic we obtain the implication (’pH’⇒’alcohol’).</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgements</title>
      <p>The author would like to thank Prof. S.O. Kuznetsov for motivation and
support. He is also grateful to his colleagues from Dorodnicyn Computing Center of
Federal Research Center ”Computer Science and Control” of Russian Academy
of Science and Russian State University for Humanities for long-term support
and useful discussions. Finally, the author is grateful to anonymous reviewers,
whose comments helped to significantly improve the presentation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <source>Formal Concept Analysis</source>
          . Springer, Berlin (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duplessis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mining gene expression data with pattern structures in formal concept analysis</article-title>
          .
          <source>Inf. Sci</source>
          .
          <volume>181</volume>
          (
          <issue>10</issue>
          ):
          <fpage>1989</fpage>
          -
          <lpage>2001</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.:</given-names>
          </string-name>
          <article-title>A Fast Algorithm for Computing all Intersections of Objects in a Finite Semi-Lattice</article-title>
          .
          <source>Autom. Doc. Math. Linguist</source>
          .
          <volume>27</volume>
          (
          <issue>5</issue>
          ),
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Makhalova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Numerical Pattern Mining through Compression</source>
          .
          <source>2019 Data Compress. Conf. Proc. IEEE</source>
          .
          <volume>112</volume>
          -
          <fpage>121</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Quinlan</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <source>C4</source>
          .
          <article-title>5 Programs for Machine Learning</article-title>
          . Morgan Kaufmann, San Francisco (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>UCI</given-names>
            <surname>Machine Learning Repository: Wine Quality Data Set</surname>
          </string-name>
          , https://archive.ics.uci.edu/ml/datasets/Wine+Quality.
          <source>Last accessed 20 June 2020</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Vapnik</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chervonenkis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On the Uniform Convergence of Relative Frequencies of Events to Their Probabilities</article-title>
          .
          <source>Theory Probab. Appl</source>
          .
          <volume>16</volume>
          (
          <issue>2</issue>
          ),
          <fpage>264</fpage>
          -
          <lpage>280</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Vinogradov</surname>
            ,
            <given-names>D.V.</given-names>
          </string-name>
          <article-title>: Machine Learning Based on Similarity Operation</article-title>
          . In: Kuznetsov S.,
          <string-name>
            <surname>Osipov</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stefanuk</surname>
            <given-names>V</given-names>
          </string-name>
          . (eds) Artificial Intelligence.
          <source>RCAI 2018. Communications in Computer and Information Science</source>
          .
          <volume>934</volume>
          ,
          <fpage>46</fpage>
          -
          <lpage>59</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Vinogradov</surname>
            ,
            <given-names>D.V.</given-names>
          </string-name>
          :
          <article-title>On Object Representation by Bit Strings for the VKF-Method</article-title>
          .
          <source>Autom. Doc. Math. Linguist</source>
          .
          <volume>52</volume>
          (
          <issue>4</issue>
          ),
          <fpage>113</fpage>
          -
          <lpage>116</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>