<!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>k-Means Clustering via the Frank-Wolfe Algorithm</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>B-IT, University of Bonn</institution>
          ,
          <addr-line>Bonn, Germany Fraunhofer IAIS, Sankt Augustin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We show that k-means clustering is a matrix factorization problem. Seen from this point of view, k-means clustering can be computed using alternating least squares techniques and we show how the constrained optimization steps involved in this procedure can be solved e ciently using the Frank-Wolfe algorithm.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In this paper, we are concerned with theoretical aspects of machine learning.
In particular, we revisit k-means clustering and investigate it from the point of
view of data matrix factorization.</p>
      <p>The k-means procedure is a popular technique to cluster a data set X of
numerical data into subsets C1; : : : ; Ck. The underlying ideas are intuitive and
simple and most properties of k-means clustering are text book material [1,
2]. Adding to this material, several authors have recently argued that k-means
clustering can be understood as a constrained matrix factorization problem [3{7].
However, reading the related literature, one cannot but notice that most authors
consider this fact self explanatory and appeal to intuition.</p>
      <p>Our goals with this paper are therefore as follows: i) we provide a rigorous
proof for the equivalence of k-means clustering and constrained data matrix
factorization. ii) we show that the matrix factorization point of view immediately
reveals several properties of k-means clustering which are usually di cult to work
out. In particular, we show that k-means clustering is an integer programming
problem and therefore NP-hard, that k-means clustering allows for invoking the
kernel trick, and that k-means clustering is closely related to archetypal analysis
[8, 9] and non-negative matrix factorization [10, 11]. iii) we show that the matrix
factorization perspective leads to yet another algorithm for computing k-means
clustering and we discuss how to e ciently implement it using the Frank-Wolfe
optimization scheme [12{14].</p>
      <p>We begin our presentation with a brief summery of the traditional view on
k-means clustering and then move on to the matrix factorization perspective.
Our discussion assumes that readers are familiar with theory and practice of
matrix factorization for data mining and machine learning. Those interested in
a gentle introduction into the underlying mathematical ideas are referred to [11].</p>
      <p>k-Means Clustering: Known Properties and Algorithms
Given a set X = fx1; : : : ; xng of data points xj 2 Rm, hard k-means clustering
attempts to partition the data into k clusters C1; : : : ; Ck such that Ci X,
Ci \ Cl = ;, and C1 [ C2 [ : : : [ Ck = X. In particular, hard k-means clustering
is a prototype-based clustering technique because it understands clusters to be
de ned in terms of prototypes or cluster centroids 1; : : : ; k 2 Rm, namely
Ci = nxj 2 X
i
2
xj
l
2
8 l 6= i
o</p>
      <p>The problem at the heart of hard k-means clustering is therefore to search for
k appropriate cluster centroids which are typically determined as the minimizers
of the following objective function</p>
      <p>k
E(k) = X X
i=1 xj2Ci
i</p>
      <p>k
2 = X
n</p>
      <p>X zij xj
i=1 j=1
i
2
where the
zij =
are binary indicator variables which indicate whether or not data point xj
belongs to cluster Ci.</p>
      <p>Since hard k-means clustering aims at disjoint clusters where each xj is
assigned to one and only one Ci, we point out the following important properties
of the zij 2 f0; 1g. If we x the data index j and sum over the cluster index i,
we obtain the number of clusters data point xj is assigned to, namely
xj
xj
k
X zij = 1:
i=1
n
X zij = jCij = ni
j=1
Also, by xing the cluster index i and summing over the data index j, we nd
where ni indicates the number of data points assigned to cluster Ci.</p>
      <p>
        Although the objective in (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) looks rather innocent, it is actually NP-hard
[15] and has to be approached using heuristics for which there is no guarantee
to nd the optimal solution. Indeed, there are various k-means heuristics or
algorithms of which well known examples include Lloyd's algorithm (aka \the"
k-means algorithm) [16], Hartigan's algorithm [17{19], MacQueen's algorithm
[20], or gradient descend methods [21].
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
      </p>
      <p>
        k-Means Clustering Is Data Matrix Factorization
Having recalled properties of hard k-means clustering in the previous section, our
goal is now to rigorously establish that k-means clustering is matrix factorization.
In other words, given the objective in (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), we will prove the following identity
k n
X X zij xj
i=1 j=1
i
2 =
      </p>
      <p>X</p>
      <p>M Z
2
where</p>
      <p>X 2 Rm n is a column matrix of n data vectors xj 2 Rm
M 2 Rm k is a column matrix of k cluster centroids
i 2 Rm
Z 2 Rk n is a matrix of binary indicator variables such that
zij =
Throughout, we write xj to denote j-th column vector of a matrix X. To refer
to the (l; j) element of a matrix X, we either write xlj or X lj . Moreover,
subscripts or summation indices i will be understood to range from 1 to k (the
number of clusters), subscripts or summation indices j will range from 1 up to
n (the number of data), and subscripts or summation indices l will be used to
expand inner products between vectors or rows and columns of matrices.</p>
      <p>
        Finally, regarding the squared Frobenius norm of a matrix, we recall that
X 2 = X xl2j = X xj 2 = X xjT xj = X XT X jj = tr XT X (
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
l;j
j
j
j
3.2
      </p>
      <p>
        Step by Step Derivation of (
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
To substantiate the claim in (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), we rst point out a crucial property of the
binary indicator matrix Z in (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ). The property of the zij 2 f0; 1g we worked out
in (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) translates to the statement that each column of Z contains a single entry
of 1 and k 1 entries of 0. This immediately establishes that the rows of Z are
pairwise perpendicular because
zij zi0j =
(1;
0;
if i = i0
otherwise
j
ZZT ii0 =
      </p>
      <p>Z ij ZT ji0 =
which is then to say that the matrix ZZT is a diagonal matrix where
X (ni; if i = i0
0;</p>
      <p>otherwise.</p>
      <p>X zij zi0j =</p>
      <p>j</p>
      <p>
        Having discussed this property of Z, we are now positioned to establish the
equality in (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and we will do this in a step by step manner.
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        )
Step 1: Expanding the expression on the left of (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) First, we expand the
conventional k-means objective function and nd
      </p>
      <p>X zij xj
i;j
i 2 = X zij xjT xj
2xjT i + i i</p>
      <p>T
i;j
{z</p>
      <p>T1
= X zij xjT xj 2 X zij xjT i + X zij iT i :
i;j i;j i;j
| } | } | }
{z
T2</p>
      <p>This expansion leads to further insights, if we examine the three terms T1,
T2, and T3 one by one. First of all, we nd</p>
      <p>
        T1 = X zij xjT xj = X zij xj 2 = X
i;j i;j j
i
xj 2 X zij = X
xj
2
= tr XT X
where we made use of (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ). Second of all, we observe
      </p>
      <p>T2 = X zij xj i = X zij</p>
      <p>T
i;j i;j
{z
T3
j
X xlj li</p>
      <p>l
= X xlj X li zij</p>
      <p>j;l i
= X xlj M Z lj</p>
      <p>j;l
= X</p>
      <p>XT
jl</p>
      <p>M Z lj
= X</p>
      <p>XT M Z jj
= tr XT M Z
j;l
j
i
i
2 = X
i 2 X zij = X
i
2</p>
      <p>
        ni
j
i
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
(
        <xref ref-type="bibr" rid="ref14">14</xref>
        )
(
        <xref ref-type="bibr" rid="ref15">15</xref>
        )
(
        <xref ref-type="bibr" rid="ref16">16</xref>
        )
(
        <xref ref-type="bibr" rid="ref17">17</xref>
        )
(
        <xref ref-type="bibr" rid="ref18">18</xref>
        )
(
        <xref ref-type="bibr" rid="ref19">19</xref>
        )
(
        <xref ref-type="bibr" rid="ref20">20</xref>
        )
(21)
(22)
      </p>
      <sec id="sec-1-1">
        <title>Third of all, we note that</title>
        <p>T3 = X zij i i = X zij</p>
        <p>
          T
i;j i;j
where we applied (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ).
        </p>
        <p>
          Step 2: Expanding the expression on the right of (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) Next, we look at
the squared Frobenius norm on the right hand side of (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ); it can be written as
X
        </p>
        <p>M Z
2
= trh X</p>
        <p>M Z T X</p>
        <p>M Z i
= tr XT X
| {Tz4
}
2 tr XT M Z + tr ZT M T M Z
| {Tz5 } | {Tz6
}
(23)</p>
        <p>
          Given our earlier results, we immediately recognize that T1 = T4 and T2 = T5.
Thus, to establish that (
          <xref ref-type="bibr" rid="ref13">13</xref>
          ) and (23) are indeed equivalent, it remains to verify
whether T3 = T6?
        </p>
        <p>Regarding T6, we note that, because of the cyclic permutation invariance of
the trace operator, we have</p>
      </sec>
      <sec id="sec-1-2">
        <title>We also note that</title>
        <p>tr ZT M T M Z</p>
        <p>= tr M T M ZZT :
tr M T M ZZT</p>
        <p>M T M ZZT</p>
        <p>ii
= X</p>
        <p>i
= X X</p>
        <p>i
= X</p>
        <p>i
= X
i
l
M T M
i
2</p>
        <p>ni
M T M</p>
        <p>
          il ZZT li
ii ZZT ii
where we used the fact that ZZT is diagonal. This result, however, shows that
T3 = T6 and, consequently, that (
          <xref ref-type="bibr" rid="ref13">13</xref>
          ) and (23) are equivalent. That is, we have
proven that k-means clustering can indeed be cast as a matrix factorization
problem.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Consequences</title>
      <p>
        Having proved our central claim in (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), we will next discuss several consequences
we can obtain from the matrix factorization formulation of k-means clustering.
4.1
      </p>
      <p>
        k-Means Clustering Is NP Hard
Given the above result, further insights into the nature of k-means clustering
result from eliminating matrix M from the right hand side of (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). That is, we
next ask for the matrix M that, for a given Z, would minimize X M Z 2.
To this end, we consider
(24)
(25)
(26)
(27)
(28)
(29)
      </p>
      <p>X</p>
      <p>M Z
2
=
= 2 M ZZT</p>
      <p>XZT
which, upon equating to 0, leads to
(31)
(32)
which beautifully re ects the fact that each of the k-means cluster centroids
coincides with the mean of the corresponding cluster Ci, namely
i</p>
      <p>Given the result in (30), we therefore nd that the k-means objective can be
cast solely in terms of the data matrix X and the indicator matrix Z
i =</p>
      <p>Pj zij xj</p>
      <p>Pj zij
=</p>
      <p>Looking at (32), we recognize k-means clustering as an integer programming
problem, since it corresponds to the discrete optimization problem of nding a
column stochastic binary matrix Z that minimizes the objective in (32). Integer
programming problems are NP hard and we can actually read this o (32). Z is
an k n binary matrix such that each column contains a single 1; thus, for each
column there are k ways to place that 1 and since there are n columns, there
are O kn matrices among which we have to determine the optimal one.
Observe that the squared Frobenius norm in (32) can also be expanded in terms
of trace operators. If we substitute = ZT ZZT 1Z for brevity, we nd
X</p>
      <p>X
2
= trhXT Xi
2 trhXT X
i + trh</p>
      <p>XT X
i
(33)
and recognize that each occurrence of the data vectors xi is in form of an inner
product, because XT X ij = xiT xj .</p>
      <p>This, however, shows that k-means allows for invoking the kernel trick as we
may replace the n n Gramian XT X by an n n kernel matrix K whose entries
correspond to kernel evaluations k(xi; xj ).
4.3
k-Means Clustering, Archetypal Analysis and Non-Negative
Matrix Factorization
Even further insights into the nature of k-means clustering arise, if we substitute
Y = ZT ZZT 1 so that we can write M = XY . This again reveals that the
centroid vectors i, i.e. the columns of M , are convex combinations of data
points xj . That is, i = Xyi where yi is an n dimensional vector with ni
entries equal to 1=ni and n ni entries equal to 0.</p>
      <p>We note that, by de nition, Y is a column stochastic matrix. It is
nonnegative, i.e. Y 0, and its columns sum to one, i.e. Pj yji = 1T yi = 1.
Moreover, each column will have high entropy H(yi) = Pj yji log yji 0.</p>
      <p>We also recall that, as a binary matrix, matrix Z will obey Z 0, 1T zj = 1,
and H(zj ) = Pi zij log zij = 0.</p>
      <p>Hard k-Means Clustering Given these prerequisites, we can therefore express
hard k-means clustering as a constrained quadratic optimization problem
Archetypal Analysis If we drop the entropy constraints in (34), we obtain
min
Y ;Z
and recover a problem known as archetypal analysis (AA) [8, 9]. Dropping the
entropy constraints has an interesting e ect. Instead of computing basis vectors
M = XY that correspond to local means, AA determines basis vectors that
are extreme points of the data in X. In fact, the archetypes in matrix M reside
on the data convex hull [22].</p>
      <p>Non-Negative Matrix Factorization If we further drop the sum-to-one
constraints in (35), we obtain
min
Y ;Z
s.t.</p>
      <p>X</p>
      <p>XY Z</p>
      <p>2
Y
Z
0
0
a problem known as non-negative matrix factorization (NMF) [10]. Dropping the
stochastic constraints has the e ect that NMF computes basis vectors M = XY
that are conic combinations of the data in X.</p>
      <p>The expressions in (34), (35), and (36) therefore reveal k-means clustering to
be a particularly severely constrained quadratic optimization problem. This is
interesting in so far as algorithms for computing k-means clustering conceptually
much simpler than AA or NMF algorithms. Nevertheless, it now appears as if
methods that have been developed for AA and NMF might also apply to k-means
clustering. In the next section, we show that this is indeed the case.</p>
    </sec>
    <sec id="sec-3">
      <title>Yet Another Algorithm for k-Means Clustering</title>
      <p>Since we just found that hard k-means clustering is indeed a constrained form
of archetypal analysis, the question is if algorithms that have been developed for
archetypal analysis can be used to compute k-means clustering.</p>
      <p>In order to see how this can be accomplished, we note that the objective
function in (34) is convex in either Y or Z but not in the their product Y Z.
An idea for solving the problem in (34) could therefore be to apply the following
constrained alternating least squares procedure
1) randomly initialize Y and Z under the appropriate constraints
2) x matrix Z and update Y to the solution of
3)
x matrix Y and update Z to the solution of</p>
      <p>XY Z
XY Z
2
2
min f (x)
x</p>
      <p>Second of all, the column entropy H(yi) = Pj yji log yji is a concave
function so that H(yi) is convex and we are interested in solutions for Y that
maximize H(yi). We can thus rewrite the rst problem in the above procedure
as
4) if not converged, continue at 2)
for which we note that the seemingly di cult constrained quadratic optimization
problems it involves can actually be solved rather easily.</p>
      <p>First of all, we observe that the stochastic constraints yi 0 and 1T yi = 1
require the columns of matrix Y to reside in the standard n-simplex
(37)
(38)
(40)
min
Y
s.t.</p>
      <p>X</p>
      <p>XY Z
yi 2
n 1:
2</p>
      <p>X H(yi)
i</p>
      <p>Written in this form, we recognize the problem as a convex minimization
problem over a compact convex set. This, however, is to say that it can be tackled
using the e cient Frank-Wolfe procedure [12]. The Frank-Wolfe algorithm shown
in Alg. 1 solves problems of the form
where S Rm is a compact, convex set and f : S ! R is a convex function. The
key idea is to compute s 2 S that minimizes sT rf (xt) and to use sub-gradient
updates s xt which guarantee that the updates will never leave the feasible
set. The e ciency of the algorithm stems from the fact that it turns a quadratic
optimization problem into a series of linear optimization problems and we point
out that the minimum of a linear function sT rf (x) over a compact convex set
will be attained at a vertex of that set.</p>
      <p>With respect to our problem of a matrix minimization problem, we note that
the gradient rf we are concerned with is given by
rY</p>
      <p>X</p>
      <p>XY Z
2</p>
      <p>X H(yi)
i</p>
      <p>!
where the components of matrix L amount to
= 2 hXT XY ZZT</p>
      <p>XT XZT i</p>
      <p>L (41)
(39)
(42)
Algorithm 1 Frank-Wolfe algorithm to solve problem such as in (40)
guess a feasible point x0
for t = 0; : : : ; tmax do
determine st by solving
min sT rf (xt)
s2S
2
update the learning rate t = t+2
update the current estimate xt+1 = xt + t (st
xt)
Lji =</p>
      <p>X yji log yji = log yji + 1
@yji j
We can use the columns of this gradient matrix G to update the columns yi of
Y according to the Frank-Wolfe algorithm. We also point out, the the compact
convex set we are dealing with is the standard simplex n 1 whose vertices
are given by the standard basis vectors el 2 Rn. The problem of nding the
minimizer s 2 n 1 thus simpli es to nding the basis vector el that minimizes
elT gi which is simply to determine the minimal entry gli in each column gi of
G. All in all, these consideration then lead to Alg. 2 for computing updates of
matrix Y .</p>
      <p>Similar considerations apply to the problem of computing the updates of the
indicator matrix Z and correspondingly lead to Alg. 3.</p>
      <p>To conclude this discussion, we point out that the Frank-Wolfe procedure
quickly achieves -approximations of the optimal solution that are provably
sparse [13]. In fact, one can show that after t iterations the current estimate
is O(1=t) from the optimal solution [13] which provides a convenient criterion
for choosing the number tmax of iterations to be performed. For further
details on the Frank-Wolfe algorithms as well as for a recent excellent survey of
projection-free convex optimization over compact convex sets, we refer to [14].
Algorithm 2 Frank-Wolfe procedure to compute Y whose columns are in
Require: data matrix X, indicator matrix Z, and parameter tmax 2 N
Y [e1; e1; : : : ; e1] where e1 = [1; 0; : : : ; 0]T 2 Rn // initialize n
t 0
repeat</p>
      <p>G = 2 XT XY ZZT XT XZT L
for i = 1; : : : ; k do
i0 = argminl Gli
zi zi + 2=(t + 2) (ei0 zi)
t t + 1
until updates \become small" or t = tmax
// compute gradient matrix
// update columns yi of Y
Algorithm 3 Frank-Wolfe procedure to compute Z whose columns are in
Require: data matrix X, coe cient matrix Y , and parameter tmax 2 N
Z [e1; e1; : : : ; e1] where e1 = [1; 0; : : : ; 0]T 2 Rk // initialize k
t 0
repeat</p>
      <p>G = 2 Y T XT XY Z Y T XT X
for j = 1; : : : ; n do
j0 = argminl Glj
zj zj + 2=(t + 2) (ej0 zj )
t t + 1
until updates \become small" or t = tmax
// compute gradient matrix
// update columns zj of Z
k matrix Y
n matrix Z
6</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In this paper, we were concerned with machine learning theory. In particular,
we were concerned with theoretical aspects of k-means clustering.</p>
      <p>First of all, we rigorously established that k-means clustering is a constrained
data matrix factorization problem. Second of all, this insight allowed us to easily
uncover several properties of k-means clustering that are otherwise more di cult
to show. Third of all, the matrix factorization point of view on k-means clustering
allowed us to reveal its connections to archetypal analysis and non-negative
matrix factorization. Finally, given that k-means clustering can be understood as
a constrained version of archetypal analysis, we discussed yet another algorithm
for k-means clustering. Archetypal analysis is often computed using alternating
least squares optimization and we showed how to adapt this idea to k-means
clustering. In particular, we discussed that the seemingly di cult constrained
optimization problems involved in this procedure can be solved using the e cient
Frank-Wolfe procedure for convex optimization over compact convex sets.</p>
      <p>Again, the work reported here is of mainly theoretical interest. What is
particularly striking is that it established k-means clustering as a more constrained
and thus more di cult problem than archetypal analysis or non-negative matrix
factorization. Yet, at the same time, traditional algorithms for k-means
clustering are considerably simpler than those for the latter problems. This can be
seen as a call to arms for it suggests that there may be simpler algorithms for
these kind of problems as well. Indeed, techniques such as k-maxoids clustering
[23] which were derived from k-means clustering indicate that, say, archetypal
analysis should be solvable by simple algorithms, too.
21. Bottou, L., Bengio, Y.: Convergence Properties of the K-Means Algorithms. In:</p>
      <p>Proc. NIPS. (1995)
22. Bauckhage, C.: A Note on Archetypal Analysis and the Approximation of Convex</p>
      <p>Hulls. arXiv:1410.0642 [cs.NA] (2014)
23. Bauckhage, C., Sifa, R.: k-Maxoids Clustering. In: Proc. KDML-LWA. (2015)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>MacKay</surname>
          </string-name>
          , D.: Information Theory, Inference, &amp;
          <article-title>Learning Algorithms</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hastie</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tibshirani</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedman</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>The Elements of Statistical Learning</source>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ding</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simon</surname>
          </string-name>
          , H.:
          <article-title>On the Equivalence of Nonnegative Matrix Factorization and Spectral Clustering</article-title>
          .
          <source>In: Proc. SDM</source>
          ,
          <string-name>
            <surname>SIAM</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Gaussier</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goutte</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Relations between PLSA and NMF and Implications</article-title>
          .
          <source>In: Proc. SIGIR</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Park</surname>
          </string-name>
          , H.:
          <article-title>Sparse Nonnegative Matrix Factorization for Clustering</article-title>
          .
          <source>Technical Report GT-CSE-08-01</source>
          , Georgia Institute of Technology (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Arora</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kapila</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fazel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Similarity-based Clustering by LeftStochastic Matrix Factorization</article-title>
          .
          <source>J. of Machine Learning Research 14(Jul.)</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bauckhage</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drachen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sifa</surname>
          </string-name>
          , R.:
          <article-title>Clustering Game Behavior Data</article-title>
          .
          <source>IEEE Trans. on Computational Intelligence and AI in Games</source>
          <volume>7</volume>
          (
          <issue>3</issue>
          ) (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cutler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breiman</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Archetypal Analysis</article-title>
          .
          <source>Technometrics</source>
          <volume>36</volume>
          (
          <issue>4</issue>
          ) (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bauckhage</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thurau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Making Archetypal Analysis Practical</article-title>
          .
          <source>In: Pattern Recogntion</source>
          . Volume
          <volume>5748</volume>
          of LNCS., Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cichocki</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zdunek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Phan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amari</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Nonnegative Matrix and Tensor Factorizations: Applications to Exploratory Multi-way Data Analysis and Blind Source Separation</article-title>
          . Wiley (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bauckhage</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A Purely Geometric Approach to Non-Negative Matrix Factorization</article-title>
          .
          <source>In: Proc. KDML-LWA</source>
          . (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>An Algorithm for Quadratic Programming</article-title>
          .
          <source>Naval Research Logistics Quarterly</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          {2) (
          <year>1956</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Clarkson</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Coresets, Sparse Greedy Approximation, and the Frank-Wolfe Algorithm</article-title>
          .
          <source>ACM Trans. on Algorithms</source>
          <volume>6</volume>
          (
          <issue>4</issue>
          ) (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jaggi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Revisiting</surname>
          </string-name>
          Frank-Wolfe:
          <article-title>Projection-Free Sparse Convex Optimization</article-title>
          .
          <source>J. of Machine Learning Research</source>
          <volume>28</volume>
          (
          <issue>1</issue>
          ) (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Aloise</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deshapande</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hansen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popat</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>NP-Hardness of Euclidean Sum-of-Squares Clustering</article-title>
          .
          <source>Machine Learning 75(2)</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Lloyd</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Least Squares Quantization in PCM</article-title>
          .
          <source>IEEE Trans. on Information Theory</source>
          <volume>28</volume>
          (
          <issue>2</issue>
          ) (
          <year>1982</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Hartigan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Algorithm</surname>
            <given-names>AS</given-names>
          </string-name>
          136:
          <article-title>A k-Means Clustering Algorithm</article-title>
          .
          <source>J. of the Royal Statistical Society C</source>
          <volume>28</volume>
          (
          <issue>1</issue>
          ) (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Slonim</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aharoni</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Crammer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Hartigan's k-Means Versus Lloyd's k-Means { Is It Time for a Change?</article-title>
          <source>In: Proc. IJCAI</source>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Telgarsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vattani</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Hartigan's Method: k-means Clustering without Voronoi</article-title>
          .
          <source>In: Proc. AISTATS</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>MacQueen</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Some Methods for Classi cation and Analysis of Multivariate Observations</article-title>
          .
          <source>In: Proc. Berkeley Symp. on Mathematical Statistics and Probability</source>
          . (
          <year>1967</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>