<!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>Can FCA-based Recommender System Suggest a Proper Classier?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yury Kashnitsky</string-name>
          <email>ykashnitsky@hse.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmitry I. Ignatov</string-name>
          <email>dignatov@hse.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University Higher School of Economics Scientic-Educational Laboratory for Intelligent Systems and Structural Analysis Moscow</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The paper briey introduces multiple classier systems and describes a new algorithm, which improves classication accuracy by means of recommendation of a proper algorithm to an object classication. This recommendation is done assuming that a classier is likely to predict the label of the object correctly if it has correctly classied its neighbors. The process of assigning a classier to each object is based on Formal Concept Analysis. We explain the idea of the algorithm with a toy example and describe our rst experiments with real-world datasets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The topic of Multiple Classier Systems (MCSs) is well studied in machine
learning community [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Such algorithms appear with dierent names mixture
of experts, committee machines, classier ensembles, classier fusion and others.
      </p>
      <p>
        The underlying idea of all these systems is to train several (base) classiers
on a training set and to combine their predictions in order to classify objects
from a test set [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This idea probably dates back to as early as the 18 th
century. The Condorcet’s jury theorem, that was formulated in 1785 in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], claims
that if a population makes a group decision and each voter most likely votes
correctly, then adding more voters increases the probability that the majority
decision is correct. The probability that the majority votes correctly tends to 1
as the number of voters increases. Similarly, if we have multiple weak classiers
(meaning that classier’s error on its training data is less than 50% but greater
than 0%), we can combine their predictions and boost the classication accuracy
as compared to those of each single base classier.
      </p>
      <p>
        Among the most popular MCSs are bagging [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], boosting [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], random forests
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and stacked generalization (or stacking) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>In this paper, we present one more algorithm of such type
Recommenderbased Multiple Classier System (RMCS). Here the underlying proposition is
that a classier is likely to predict the label of the object from a test set correctly
if it has correctly classied its neighbors from a training set.</p>
      <p>The paper is organized as follows. In chapter 2, we discuss bagging, boosting
and stacking. In Section 3, we introduce basic denitions of Formal Concept
Analysis (FCA). Section 4 provides an example of execution of the proposed
RMCS algorithm on a toy synthetic dataset. Then, Section 5 describes the RMCS
algorithm itself. Further, the results of the experiments with real data are
presented. Section 7 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Multiple Classier Systems</title>
      <p>In this chapter, we consider several well-known multiple classier systems.
2.1</p>
      <sec id="sec-2-1">
        <title>Bagging</title>
        <p>The bootstrap sampling technique has been used in statistics for many years.
Bootstrap aggregating , or bagging, is one of the applications of bootstrap
sampling in machine learning. As suciently large data sets are often expensive or
impossible to obtain, with bootstrap sampling, multiple random samples are
created from the source data by sampling with replacement. Samples may overlap
or contain duplicate items, yet the combined results are usually more accurate
than a single sampling of the entire source data achieves.</p>
        <p>In machine learning the bootstrap samples are often used to train classiers.
Each of these classiers can classify new instances making a prediction; then
predictions are combined to obtain a nal classication.</p>
        <p>
          The aggregation step of bagging is only helpful if the classiers are dierent.
This only happens if small changes in the training data can result in large changes
in the resulting classier that is, if the learning method is unstable [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Boosting</title>
        <p>
          The idea of boosting is to iteratively train classiers with a weak learner (the
one with error better than 50% but worse than 0%) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. After each classier is
trained, its accuracy is measured, and misclassied instances are emphasized.
Then the algorithm trains a new classier on the modied dataset. At
classication time, the boosting classier combines the results from the individual
classiers it trained.
        </p>
        <p>
          Boosting was originally proposed by Schapire and Freund [
          <xref ref-type="bibr" rid="ref5 ref6">5,6</xref>
          ]. In their
Adaptive Boosting, or AdaBoost, algorithm, each of the training instances starts with
a weight that tells the base classier its relative importance [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. At the initial step
the weights of n instances are evenly distributed as n1 The individual classier
training algorithm should take into account these weights, resulting in
dierent classiers after each round of reweighting and reclassication. Each classier
also receives a weight based on its accuracy; its output at classication time is
multiplied by this weight.
        </p>
        <p>
          Freund and Schapire proved that, if the base classier used by AdaBoost
has an error rate of just slightly less than 50%, the training error of the
metaclassier will approach zero exponentially fast [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. For a two-class problem the
base classier only needs to be slightly better than chance to achieve this error
rate. For problems with more than two classes less than 50% error is harder to
achieve. Boosting appears to be vulnerable to overtting. However, in tests it
rarely overts excessively [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Stacked generalization</title>
        <p>
          In stacked generalization , or stacking, each individual classier is called a
level-0 model. Each may vote, or may have its output sent to a level-1 model
another classier that tries to learn which level-0 models are most reliable.
Level-1 models are usually more accurate than simple voting, provided they are
given the class probability distributions from the level-0 models and not just the
single predicted class [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
3
3.1
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Main denitions</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Introduction to Formal Concept Analysis</title>
      <p>A formal context in FCA is a triple K = (G; M; I), where G is a set of
objects, M is a set of attributes, and the binary relation I G M shows
which object possesses which attribute. gIm denotes that object g has attribute
m. For subsets of objects and attributes A G and B M Galois operators
are dened as follows:</p>
      <p>A0 = fm 2 M j gIm 8g 2 Ag;</p>
      <p>B0 = fg 2 G j gIm 8m 2 Bg:</p>
      <p>
        A pair (A; B) such that A G; B M; A0 = B and B0 = A, is called a formal
concept of a context K. The sets A and B are closed and called the extent and
the intent of a formal concept (A; B) respectively. For the set of objects A the
set of their common attributes A0 describes the similarity of objects of the set
A and the closed set A00 is a cluster of similar objects (with the set of common
attributes A0) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        The number of formal concepts of a context K = (G; M; I) can be quite large
(2minfjGj;jMjg in the worst case), and the problem of computing this number
is #P-complete [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. There exist some ways to reduce the number of formal
concepts, for instance, choosing concepts by stability, index or extent size [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        For a context (G; M; I), a concept X = (A; B) is less general than or equal
to a concept Y = (C; D) (or X Y ) if A C or, equivalently, D B.
For two concepts X and Y such that X Y and there is no concept Z with
Z 6= X; Z 6= Y; X Z Y , the concept X is called a lower neighbor of Y , and Y
is called an upper neighbor of X. This relationship is denoted by X Y . Formal
concepts, ordered by this relationship, form a complete concept lattice which
might be represented by a Hasse diagram [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Several algorithms for building
formal concepts (including Close by One) and constructing concept lattices are
studied also in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        One can address to [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] to nd some examples of formal contexts,
concepts and lattices with their applications. Chapter 4 also shows the usage of
FCA apparatus in a concrete task.
      </p>
      <p>
        However, in some applications there is no need to nd all formal concepts of a
formal context or to build the whole concept lattice. Concept lattices, restricted
to include only concepts with frequent intents, are called iceberg lattices. They
were shown to serve as a condensed representation of association rules and
frequent itemsets in data mining [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Here we modied the Close by One algorithm slightly in order to obtain
only the upper-most concept of a formal context and its lower neighbors. The
description of the algorithm and details of its modication is beyond the scope
of this paper.
4</p>
    </sec>
    <sec id="sec-4">
      <title>A toy example</title>
      <p>Let us demonstrate the way RMCS works with a toy synthetic dataset shown
in Table 1. We consider a binary classication problem with 8 objects comprising
a training set and 2 objects in a test set. Each object has 4 binary attributes
and a target attribute (class). Suppose we train 4 classiers on this data and try
to predict labels for objects 9 and 10.</p>
      <p>Using FCA terms, we denote by G = f1; 2; 3; 4; 5; 6; 7; 8; 9; 10g the whole
set of objects, Gtest = f9; 10g the test set, Gtrain = GnGtest the training
set, M = fm1; m2; m3; m4g the attribute set, C = fcl1; cl2; cl3; cl4g the set
of classiers.</p>
      <p>Here we run leave-one-out cross-validation on this training set for 4 classiers.
Further, we ll in Table 2, where a cross for object i and classier clj means that
clj correctly classies object i in the process of cross-validation. To clarify, a
cross for object 3 and classier cl4 means that after being trained on the whole
training set but object 3 (i.e. on objects f1; 2; 4; 5; 6; 7; 8g), classier cl4 correctly
predicted the label of object 3.</p>
      <p>Let us consider Table 2 as a formal context with objects G and attributes
C (so now classiers play the role of attributes). We refer to it as classication
context. The concept lattice for this context is presented in Fig. 1.</p>
      <p>As it was mentioned, the number of formal concepts of a context K =
(G; M; I) can be exponential in the worst case. But for the toy example it is
possible to draw the whole lattice diagram. Thankfully, we do not need to build
the whole lattice in RMCS algorithm we only keep track of its top concepts.</p>
      <p>Here are these top concepts: (G; ;), (f1; 3; 5; 6g; fcl1g), (f2; 4; 5; 6; 7; 8g; fcl2g),
(f1; 2; 4; 8g; fcl3g), (f1; 3; 6; 7; 8g; fcl4g).</p>
      <p>To classify objects from Gtest, we rst nd their k nearest neighbors from
Gtrain according to some distance metric. In this case, we use k = 3 and
Hamming distance. In these conditions, we nd that three nearest neighbors of object
9 are 4, 5 and 7, while those of object 10 are 1, 6 and 8.</p>
      <p>Then, we take these sets of nearest neighbors N eighb9 = f4; 5; 7g and
N ieghb10 = f1; 6; 8g, and nd maximal intersections of these sets with the
extents of formal concepts presented above (ignoring the concept (G; ;)). The
intents (i.e. classiers) of the corresponding concepts are given as recommendations
for the objects from Gtest. The procedure is summarized in Table 3.</p>
      <p>Finally, the RMCS algorithm predicts the same labels for objects 9 and 10
as classiers cl2 and cl4 do correspondingly.</p>
      <p>Lastly, let us make the following remarks:
1. We would not have ignored the upper-most concept with extent G if it did not
have an empty intent. That is, if we had the top concept of the classication
context in a form (G; fclj g) it would mean that clj correctly classied all
objects from the training set and we would therefore recommend it to the
objects from the test set.
2. One more situation might occur that two or more classiers turn out to be
equally good at classifying objects from Gtrain. That would mean that the
corresponding columns in classication table are identical and, therefore, the
intent of some classication concept is comprised of more than one classier.
In such case, we do not have any argument for preferring one classier to
another and, hence, the nal label would be dened as a result of voting
procedure among the predicted labels of these classiers.
3. Here we considered an input dataset with binary attributes and a binary
target class. However, the idea of the RMCS algorithm is still applicable for
datasets with numeric attributes and multi-class classication problems.
5</p>
      <p>Recommender-based Multiple Classier System</p>
      <p>In this section, we discuss the Recommender-based Multiple Classier System
(RMCS). The pseudocode of the RMCS algorithm is presented in the listing
Algorithm 1.</p>
      <p>The inputs for the algorithm are the following:
1. fXtrain; ytraing is a training set,</p>
      <p>Xtest is a test set;
2. C = fcl1; cl2; :::; clK g is a set of K base classiers. The algorithm is
intended to perform a classication accuracy exceeding those of base classiers;
3. dist(x1; x2) is a distance function for objects which is dened in the
attribute space. This might be the Minkowski (including Hamming and
Euclidean) distance, the distance weighted by attribute importance and others.
4. k; n_f old are parameters. Their meaning is explained below;
5. topCbO(context) is a function for building the upper-most concept of a
formal context and its lower neighbors. Actually, it is not an input for the
algorithm but RMCS uses it.</p>
      <sec id="sec-4-1">
        <title>The algorithm includes the following steps:</title>
        <p>1. Cross-validation on the training set. All K classiers are trained on n_f olds
1 folds of Xtrain. Then a classication table (or context) is formed where a
cross is put for object i and classier clj if clj correctly classies object i
after training on n_f olds 1 folds (where object i belongs to the rest fold);
2. Running base classiers. All K classiers are trained on the whole Xtrain.</p>
        <p>Then, a table of predictions is formed where (i; j) position keeps the
predicted label for object i from Xtest by classier clj ;
3. Building top formal concepts of the classication context. The topCbO
algorithm is run in order to build upper formal concepts of a classication
context. These concepts have the largest possible number of objects in
extents and minimal possible number of classiers in their intents (not counting
the upper-most concept);
4. Finding neighbors of the objects from Xtest. The objects from the test set
are processed one by one. For every object from Xtest we nd its k nearest
neighbors from Xtrain according to the selected metric sim(x1; x2). Let us
say these k objects form a set N eighbors. Then, we search for a concept of a
classication context which extent yields maximal intersection with the set
N eighbors. If the intent of the upper-most concept is an empty set (i.e., no
classier correctly predicted the labels of all objects from Xtrain, which is
mostly the case), then the upper-most concept (G; ;) is ignored. Thus, we
select a classication concept, and its intent is a set of classiers Csel;
5. Classication. If Csel consists of just one classier, we predict the same label
for the current object from Xtest as this classier does. If there are several
selected classiers, then the predicted label is dened by majority rule.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>The algorithm, described above, was implemented in Python 2.7.3 and tested
on a 2-processor machine (Core i3-370M, 2.4 HGz) with 3.87 GB RAM.</p>
      <p>We used four UCI datasets in these experiments - mushrooms, ionosphere,
digits, and nursery.1 Each of the datasets was divided into training and test
sets in proportion 70:30.</p>
      <sec id="sec-5-1">
        <title>1 http://archive.ics.uci.edu/ml/datasets</title>
        <p>Algorithm 1 Recommender-based Multiple Classier System
Input: fXtrain; ytraing; Xtest are training and test sets, C = fcl1; cl2; :::; clK g
is a set of base classiers, topCbO(context; n) is a function for building the
uppermost concept of a formal context and its lower neighbors, dist(x1; x2) is a distance
function dened in the attribute space, k is a parameter (the number of neighbors),
n_f old is the number of folds for cross-validation on a training set
Output: ytest are predicted labels for objects from Xtest
train_class_context = [ ][ ] is a 2-D array
test_class_context = [ ][ ] is a 2-D array
for i 2 0 : : : len(Xtrain) 1 do
for cl 2 0 : : : len(C) 1 do
train classier cl on (n_f old 1) folds not including object Xtrain[i]
pred = predicted label for Xtrain[i] by classier cl
train_class_context[i][cl] = (pred == ytrain[i])
end for
end for
for cl 2 0 : : : len(C) 1 do
train classier cl on the whole Xtrain
pred = predicted labels for Xtest by classier cl
test_class_context[:][cl] = pred
end for
top_concepts = topCbO(class_context)
for i 2 0 : : : len(Xtest) 1 do</p>
        <p>N eighbors = k nearest neighbors of Xtest[i] from Xtrain according to sim(x1; x2)
concept = argmax(c:extent \ N eighbors); c 2 top_concepts
Csel = concept:intent
labels = predictions for Xtest[i] made by classiers from Csel
ytest[i] = argmax(count_f req(labels))
end for</p>
        <p>We ran 3 classiers implemented in SCIKIT-LEARN library 2(written in Python)
which served as base classiers for the RMCS algorithm as well. These were a
Support Vector Machine with Gaussian kernel ( svm.SVC() in Scikit),
logistic regression ( sklearn.linear_model.LogisticRegression() ) and k Nearest
Neighbors classier ( sklearn.neighbors.classification.</p>
        <p>KNeighborsClassifier() ).</p>
        <p>The classication accuracy of each classier on each dataset is presented in
Table 4 along with special settings of parameters. Moreover, for comparison, the
results for Scikit’s implementation of bagging with SVM as a base classier
and AdaBoost on decision stumps 3 are presented.</p>
        <p>As we can see, RMCS outperformed its base classiers in all cases, while it
turned out to be better than bagging only in case of multi-class classication
problems (datasets digits and nursery).
7</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper, we described the underlying idea of multiple classier systems,
discussed bagging, boosting and stacking. Then, we proposed a multiple
classier system which turned out to outperform its base classiers and two particular
implementations of bagging and AdaBoost in two multi-class classication
problems.</p>
      <p>Our further work on the algorithm will continue in the following directions:
exploring the impact of dierent distance metrics (such as the one based on
attribute importance or information gain) on the algorithm’s performance,
experimenting with various types of base classiers, investigating the conditions
preferable for RMCS (in particular, when it outperforms bagging and boosting),
improving execution time of the algorithm and analyzing RMCS’s overtting.</p>
      <sec id="sec-6-1">
        <title>2 http://scikit-learn.org 3 https://github.com/pbharrin/machinelearninginaction/tree/master/Ch07</title>
        <p>Acknowledgements. The authors would like to thank their colleague from
Higher School of Economics, Sergei Kuznetsov, Jaume Baixeries and Konstantin
Vorontsov for their inspirational discussions which directly or implicitly
inuenced this study.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Izenman</surname>
            ,
            <given-names>A. J.: Committee</given-names>
          </string-name>
          <string-name>
            <surname>Machines</surname>
          </string-name>
          .
          <source>Modern Multivariate Statistical Techniques</source>
          . pp.
          <fpage>505550</fpage>
          . Springer New York (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Condorcet</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-J.-A</surname>
          </string-name>
          .-N.:
          <article-title>Essay on the Application of Analysis to the Probability of Majority Decisions</article-title>
          . (
          <volume>1785</volume>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Breiman</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Bagging predictors</article-title>
          .
          <source>Machine Learning</source>
          .
          <volume>24</volume>
          (
          <issue>2</issue>
          ),
          <fpage>123140</fpage>
          . (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Schapire</surname>
            ,
            <given-names>R. E.</given-names>
          </string-name>
          :
          <article-title>The Strength of Weak Learnability</article-title>
          .
          <source>Machine Learning</source>
          .
          <volume>5</volume>
          ,
          <issue>197227</issue>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Freund</surname>
            ,
            <given-names>Y:</given-names>
          </string-name>
          <article-title>Boosting a Weak Learning Algorithm by Majority</article-title>
          .
          <source>Information and Computation</source>
          .
          <volume>121</volume>
          (
          <issue>2</issue>
          ),
          <volume>256285</volume>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Freund</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schapire</surname>
          </string-name>
          , R. E.:
          <article-title>A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting</article-title>
          .
          <source>Journal of Computer and System Sciences</source>
          .
          <volume>55</volume>
          ,
          <issue>119139</issue>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Freund</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schapire</surname>
          </string-name>
          , R. E.: A Short Introduction to Boosting. (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dietterich</surname>
          </string-name>
          , T. G.:
          <article-title>Ensemble Methods in Machine Learning</article-title>
          .
          <source>Multiple Classier Systems, LBCS-1857</source>
          . pp.
          <fpage>115</fpage>
          . Springer (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Breiman</surname>
            ,
            <given-names>L.: Random</given-names>
          </string-name>
          <string-name>
            <surname>Forests</surname>
          </string-name>
          .
          <source>Machine Learning</source>
          .
          <volume>45</volume>
          (
          <issue>1</issue>
          ),
          <volume>532</volume>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wolpert</surname>
            ,
            <given-names>D. H.: Stacked</given-names>
          </string-name>
          <string-name>
            <surname>Generalization</surname>
          </string-name>
          .
          <source>Neural Networks</source>
          ,
          <volume>5</volume>
          ,
          <issue>241259</issue>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <source>Formal Concept Analysis: Mathematical Foundations</source>
          . Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          :
          <article-title>On Computing the Size of a Lattice and Related Decision Problems</article-title>
          . Order.
          <volume>18</volume>
          (
          <issue>4</issue>
          ),
          <volume>313321</volume>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          :
          <article-title>On stability of a formal concept</article-title>
          .
          <source>Annals of Mathematics and Articial Intelligence</source>
          .
          <volume>49</volume>
          (
          <issue>1-4</issue>
          ),
          <volume>101115</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obiedkov</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Comparing Performance of Algorithms for Generating Concept Lattices</article-title>
          .
          <source>Journal of Experimental and Theoretical Articial Intelligence</source>
          .
          <volume>14</volume>
          ,
          <issue>189216</issue>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Stumme</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taouil</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bastide</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pasquier</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakhal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Intelligent Structuring and Reducing of Association Rules with Formal Concept Analysis</article-title>
          . In: Baader,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Brewka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            , and
            <surname>Eiter</surname>
          </string-name>
          , T. (eds.) KI 2001:
          <article-title>Advances in Articial Intelligence</article-title>
          . pp.
          <fpage>335350</fpage>
          . Springer Berlin Heidelberg (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>