Boolean matrix factorization meets consecutive ones property - - PowerPoint PPT Presentation

boolean matrix factorization meets consecutive ones
SMART_READER_LITE
LIVE PREVIEW

Boolean matrix factorization meets consecutive ones property - - PowerPoint PPT Presentation

Boolean matrix factorization meets consecutive ones property Nikolaj T atti & Pauli Miettinen Boolean matrix factorisation Given a matrix A , find matrices B and C s.t. A B C T SVD, NMF, PCA, ICA, In


slide-1
SLIDE 1

Boolean matrix factorization
 meets
 consecutive ones property

Nikolaj T atti & Pauli Miettinen

slide-2
SLIDE 2

UEF//School of Computing

Pauli Miettinen

Boolean matrix factorisation

  • Given a matrix A, find matrices B and C s.t. 


A ≈ B∘CT

  • SVD, NMF, PCA, ICA, …
  • In Boolean matrix factorisation (BMF)
  • 1. the input matrix A is binary
  • 2. the factor matrices B and C are binary
  • 3. the algebra is Boolean (1 + 1 = 1)
  • Sparse factors, good interpretability,

sometimes you just need binary factors

2

slide-3
SLIDE 3

UEF//School of Computing

Pauli Miettinen

Example of BMF

3

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>
slide-4
SLIDE 4

UEF//School of Computing

Pauli Miettinen

Example of BMF

3

4th column = a + b

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>
slide-5
SLIDE 5

UEF//School of Computing

Pauli Miettinen

Example of BMF

3

4th column = a + b

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>

(2, 4) = 1 = 1 + 1 = (2, a) + (2, b)

slide-6
SLIDE 6

UEF//School of Computing

Pauli Miettinen

Consecutive ones property

  • A binary vector x has the consecutive ones

property (C1P) if all of its 1s are consecutive

  • e.g. x = (0, 0, 1, 1, 1, 1, 1, 0)
  • A binary matrix X has the C1P if its rows can

be permuted so that all of its columns have C1P simultaneously

  • A BMF A ≈ B∘CT has the C1P if both B and C

have the C1P

4

slide-7
SLIDE 7

UEF//School of Computing

Pauli Miettinen

Cyclic vectors and matrices

  • A binary vector x is cyclic if it’s complement

has the consecutive ones property

  • e.g. x = (1, 1, 0, 0, 0, 0, 0, 1)
  • A binary matrix is cyclic if its columns have

either the C1P or the cyclic ones property

  • A BMF A ≈ B∘CT is cyclic if both B and C are

cyclic

5

slide-8
SLIDE 8

UEF//School of Computing

Pauli Miettinen

Example

6

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>
slide-9
SLIDE 9

UEF//School of Computing

Pauli Miettinen

Example

6

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>

cyclic

slide-10
SLIDE 10

UEF//School of Computing

Pauli Miettinen

Example

6

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>

cyclic C1P

slide-11
SLIDE 11

UEF//School of Computing

Pauli Miettinen

Example

6

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>

cyclic C1P C1P

slide-12
SLIDE 12

UEF//School of Computing

Pauli Miettinen

Example

6

         

1 2 3 4 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 5 1 1 6 1 1 1

         

=

         

  • b

c 1 1 2 1 1 3 1 4 1 5 1 6 1

         

 

1 2 3 4 d 1 1 1 e 1 1 1 ƒ 1 1

  

<latexit sha1_base64="uFm7AXRhUEMkistYXsyqPDczZ3o=">AD03icbZLNbtQwEMe9CR9L+GrhLhYrIo4oJWzu1AOICpxKbcisW2l3WjlOJPWqhNHtOyRL0grwMb8Pb4GyiqlnH0iT34wz/5lMXAiuDSH/Bp5/5+69+8MHwcNHj583dl9dqxlqRjMmRSncZUg+A5zA03Ak4LBTSLBZzEF1/q+MklKM1l/t2sC4gyepbzlDNqLFrtDv4uY6kSUBk1iv+oAoxf49DaxNrU2gzjJVNB2GLSPsMGT25eO3jaybzBs378bguTBr/vL3kdfMJBj2hqLbGHL3EkUoclcQRSDraGroti7SKlowr1ieqO8k6OXG6qik4k6lp6gxmU261MyJjsjnYdcLWGaH2HNm/PFwmkpUZ5IYJqvUiJIWJKqoMZwKs/lJDQdkFPYOFdXOagY6qzXZd4z1LEpxKZS03eENv36hopvU6i2mbf1cb8dq2BdblCb9EFU8L0oDOWsKpaXARuJ6VXHCFTAj1tahTHGrFbNzqigzdqGDvdtl6o8X9KfsthJnb6mCy6gqaCn4Koerenbh9qRc53gyDqfjybfZ6OBjO8UheoleoTcoRPvoAB2iIzRHzHvhfYOva/+3K/8X/7vJtUbtHeo87x/wHYX36jA=</latexit>

cyclic C1P C1P cyclic C1P C1P

slide-13
SLIDE 13

UEF//School of Computing

Pauli Miettinen

Why?

  • We aim at finding cyclic or C1P BMF
  • All problems are NP-hard
  • The extra constraints typically make the

reconstruction less accurate

  • But they can also make the factors easier

to understand

  • E.g. rows are time points 


⇒ C1P = something starts, lasts, and ends, but doesn’t resurrect

  • And we can draw graphs

7

slide-14
SLIDE 14

UEF//School of Computing

Pauli Miettinen

Edge bundle plots

  • Edge bundles are a way to

visualise graphs

  • Which edges to bundle?
  • How to order the

vertices?

  • Cyclic or C1P BMF:
  • Factors define the edges
  • The order is given by the

constraint

8

M y r i e l Napoleon MlleBaptistine M m e M a g l

  • i

r e C

  • u

n t e s s D e L

  • Geborand

C h a m p t e r c i e r Cravatte C

  • u

n t OldMan Labarre V a l j e a n Marguerite MmeDeR Isabeau Gervais Tholomyes L i s t

  • l

i e r Fameuil B l a c h e v i l l e Favourite Dahlia Zephine Fantine MmeThenardier T h e n a r d i e r C

  • s

e t t e Javert Fauchelevent B a m a t a b

  • i

s Perpetue Simplice Scaufflaire Woman1 Judge Champmathieu Brevet Chenildieu Cochepaille P

  • n

t m e r c y Boulatruelle Eponine A n z e l m a W

  • m

a n 2 M

  • t

h e r I n n

  • c

e n t Gribier Jondrette MmeBurgon Gavroche Gillenormand M a g n

  • n

MlleGillenormand MmePontmercy MlleVaubois LtGillenormand Marius B a r

  • n

e s s T Mabeuf E n j

  • l

r a s C

  • m

b e f e r r e P r

  • u

v a i r e F e u i l l y Courfeyrac B a h

  • r

e l Bossuet Joly Grantaire M

  • t

h e r P l u t a r c h Gueulemer B a b e t Claquesous M

  • n

t p a r n a s s e T

  • ussaint

C h i l d 1 Child2 Brujon MmeHucheloup

slide-15
SLIDE 15

UEF//School of Computing

Pauli Miettinen

How?

T ypical BMF algorithm:

  • 1. construct a set of candidate vectors
  • 2. repeat

2.1.add a new factor from the candidates based on what reduces the error most

  • 3. until k factors are selected

But how to satisfy the constraints?

9

slide-16
SLIDE 16

UEF//School of Computing

Pauli Miettinen

PQ-trees

  • A PQ-tree is a data structure form the ’70s that

encodes permutations

  • the leaves are the indices
  • the children of P-nodes can be ordered arbitrarily
  • the children of Q-nodes must stay in order (or

reverse)

10

Theorem (Booth & Lueker, ’76). There exists a PQ-tree that encodes exactly the row permutations where a matrix has the C1P (or cyclic) property and this tree can be updated in polynomial time.

slide-17
SLIDE 17

UEF//School of Computing

Pauli Miettinen

Using PQ-trees

  • We keep a PQ-tree for both factor matrices
  • Every candidate column introduces new

constraints

  • Update the PQ-tree with these constraints


⇒ will show if constraints can’t be satisfied

  • Select the best of the possible candidates
  • Quality can be calculated quickly
  • One factor can be added in 


O(nnz(A) + m + n) time

11

slide-18
SLIDE 18

UEF//School of Computing

Pauli Miettinen

Example

12

         

  • 1

1 2 1 3 4 5 6 1

         

<latexit sha1_base64="p1gnx2MwtFVvpocXfGf37JRDq8Y=">ACfXicbZDLSgMxFIbT8VbHW9Wlm2CpuJAyU68LF4IblwpWhXYoZ9JTDWaSIcmodejT+RQ+glt9AM20hXo7EPj4zy3nj1PBjQ2C15I3NT0zO1e9xcWl5ZXKqtrV0ZlmGTKaH0TQwGBZfYtNwKvEk1QhILvI7vT4v89QNqw5W8tP0UowRuJe9xBtZJnUrUjpXuok7Aav6U+5RuUaC0zbQfOgxH2JjgrsNghHsT3J/gwaR20KlUg3owDPoXwjFUyTjO6ulcrurWJagtEyAMa0wSG2Ug7acCRz47cxgCuwebrHlUEKCJsqHPgxozSld2lPaPWnpUP3ekUNiTD+JXaW79878zhXif7lWZntHUc5lmlmUbLSolwlqFS1MpV2ukVnRdwBMc/dXyu5A7POer/2fU0xPIVn9fOUONkBjQ9RnkImeEfiY+Fd+Nupv3DVqIe79cbFXvXkeOximWyQTbJNQnJITsgZOSdNwsgLeSPv5KP06dW8Ha8+KvVK4518iO8wy8RX7id</latexit>
slide-19
SLIDE 19

UEF//School of Computing

Pauli Miettinen

Example

12

P P 1 2 6 3 5 4

         

  • 1

1 2 1 3 4 5 6 1

         

<latexit sha1_base64="p1gnx2MwtFVvpocXfGf37JRDq8Y=">ACfXicbZDLSgMxFIbT8VbHW9Wlm2CpuJAyU68LF4IblwpWhXYoZ9JTDWaSIcmodejT+RQ+glt9AM20hXo7EPj4zy3nj1PBjQ2C15I3NT0zO1e9xcWl5ZXKqtrV0ZlmGTKaH0TQwGBZfYtNwKvEk1QhILvI7vT4v89QNqw5W8tP0UowRuJe9xBtZJnUrUjpXuok7Aav6U+5RuUaC0zbQfOgxH2JjgrsNghHsT3J/gwaR20KlUg3owDPoXwjFUyTjO6ulcrurWJagtEyAMa0wSG2Ug7acCRz47cxgCuwebrHlUEKCJsqHPgxozSld2lPaPWnpUP3ekUNiTD+JXaW79878zhXif7lWZntHUc5lmlmUbLSolwlqFS1MpV2ukVnRdwBMc/dXyu5A7POer/2fU0xPIVn9fOUONkBjQ9RnkImeEfiY+Fd+Nupv3DVqIe79cbFXvXkeOximWyQTbJNQnJITsgZOSdNwsgLeSPv5KP06dW8Ha8+KvVK4518iO8wy8RX7id</latexit>
slide-20
SLIDE 20

UEF//School of Computing

Pauli Miettinen

Example

12

P P 1 2 6 3 5 4

         

  • b

1 1 2 1 1 3 1 4 1 5 6 1

         

<latexit sha1_base64="ZvmQaPoXvWjUZjl+jw3ywC1iDc=">ACknicbVFNT+MwEHWyfJQsOXjxsWiYsUBVUlhAa32AOLCgQNIFJDaqJq4U7Bw7Mh2O1G/Z/sn1nhpEGiwEgjvfGM2M/J5ngxobhP8/Mje/sNhYCr4ur6x+a6t3xiVa4ZdpoTSdwkYFxi13Ir8C7TCGki8DZ5PCvrt0+oDVfy2o4zjFO4l3zEGVgnDZq6nyg9RJ2C1fxPEVD6nYLhPaZDiKHygwr1qlZVLH9Sn9lBzPsR82mfYczUyaDZitsh1XQjyCqQYvUcTlY8xr9oWJ5itIyAcb0ojCzcQHaciZwEvRzgxmwR7jHnoMSUjRxUZkzoTtOGdKR0i6lpZX6tqOA1JhxmriTzoQH875Wip/VerkdHcFl1luUbLpolEuqFW0dJoOuUZmxdgBYJq7u1L2ABqYdf8R7LxdUw7P4K+afUqS7oHGp7jIBd8IPF36V303qmP4KbTjvbnauD1smv2sUG2SLbZJdE5IickHNySbqEkWfy31v0Gv6m/9M/9c+mR32v7tkgM+FfvAB4YLnh</latexit>
slide-21
SLIDE 21

UEF//School of Computing

Pauli Miettinen

Example

12

P P 1 2 6 3 5 4 Q

         

  • b

1 1 2 1 1 3 1 4 1 5 6 1

         

<latexit sha1_base64="ZvmQaPoXvWjUZjl+jw3ywC1iDc=">ACknicbVFNT+MwEHWyfJQsOXjxsWiYsUBVUlhAa32AOLCgQNIFJDaqJq4U7Bw7Mh2O1G/Z/sn1nhpEGiwEgjvfGM2M/J5ngxobhP8/Mje/sNhYCr4ur6x+a6t3xiVa4ZdpoTSdwkYFxi13Ir8C7TCGki8DZ5PCvrt0+oDVfy2o4zjFO4l3zEGVgnDZq6nyg9RJ2C1fxPEVD6nYLhPaZDiKHygwr1qlZVLH9Sn9lBzPsR82mfYczUyaDZitsh1XQjyCqQYvUcTlY8xr9oWJ5itIyAcb0ojCzcQHaciZwEvRzgxmwR7jHnoMSUjRxUZkzoTtOGdKR0i6lpZX6tqOA1JhxmriTzoQH875Wip/VerkdHcFl1luUbLpolEuqFW0dJoOuUZmxdgBYJq7u1L2ABqYdf8R7LxdUw7P4K+afUqS7oHGp7jIBd8IPF36V303qmP4KbTjvbnauD1smv2sUG2SLbZJdE5IickHNySbqEkWfy31v0Gv6m/9M/9c+mR32v7tkgM+FfvAB4YLnh</latexit>
slide-22
SLIDE 22

UEF//School of Computing

Pauli Miettinen

Scalability

13

29 210 211 212 213 200 400 600 800 1 000 1 200 size time (sec) 1 2 4 8 16 32 4 8 12 16 20 24 cores time (sec)

Scales well with input size Parallelises well to many cores

slide-23
SLIDE 23

UEF//School of Computing

Pauli Miettinen

More edge bundle plots

14

Myriel Napoleon M l l e B a p t i s t i n e MmeMagloire CountessDeLo Geborand Champtercier Cravatte Count OldMan Labarre Valjean Marguerite M m e D e R Isabeau G e r v a i s Tholomyes L i s t

  • l

i e r Fameuil B l a c h e v i l l e Favourite D a h l i a Zephine Fantine MmeThenardier T h e n a r d i e r C

  • s

e t t e Javert F a u c h e l e v e n t B a m a t a b

  • i

s Perpetue Simplice Scaufflaire W

  • m

a n 1 J u d g e Champmathieu Brevet Chenildieu C

  • c

h e p a i l l e Pontmercy Boulatruelle Eponine A n z e l m a Woman2 MotherInnocent Gribier Jondrette MmeBurgon Gavroche Gillenormand Magnon MlleGillenormand M m e P

  • n

t m e r c y MlleVaubois LtGillenormand M a r i u s BaronessT Mabeuf Enjolras Combeferre Prouvaire Feuilly C

  • u

r f e y r a c B a h

  • r

e l Bossuet Joly Grantaire M

  • t

h e r P l u t a r c h G u e u l e m e r Babet C l a q u e s

  • u

s Montparnasse T

  • ussaint

C h i l d 1 C h i l d 2 Brujon MmeHucheloup

  • A. minous
  • A. alces
  • A. lagopus

A . l e r v i a A . a g r a r i u s

  • A. alpicola

A . m y s t a c i n u s A . u r a l e n s i s

  • A. sapidus

A . a l g i r u s

  • A. getulus

A . a x i s

  • B. bonasus
  • C. erythraeus

C . fi n l a y s

  • n

i i C . a u r e u s

  • C. aegagrus
  • C. ibex

C . p y r e n a i c a C . c a n a d e n s i s

  • C. fiber

C . n i p p

  • n
  • C. nivalis

C . r u f

  • c

a n u s C . r u t i l u s

  • C. migratorius

C . c r i c e t u s

  • C. canariensis

C . l e u c

  • d
  • n
  • C. osorio
  • C. russula
  • C. sicula

C . z i m m e r m a n n i D . b

  • g

d a n

  • v

i

  • D. nitedula
  • E. bottae

E . n i l s s

  • n

i i

  • E. barbatus

E . c

  • n

c

  • l
  • r
  • G. pyrenaicus

G . g e n e t t a

  • G. gulo
  • H. grypus
  • H. auropunctatus
  • H. ichneumon
  • H. inermis
  • H. cristata
  • L. lemmus
  • L. capensis
  • L. castroviejoi
  • L. corsicanus
  • L. granatensis

L . t i m i d u s

  • L. lynx
  • L. pardinus

M . s y l v a n u s M . r u f

  • g

r i s e u s M . m a r m

  • t

a M . t r i s t r a m i

  • M. newtoni
  • M. bavaricus
  • M. cabrerae
  • M. duodecimcostatus
  • M. felteni
  • M. gerbei

M . g u e n t h e r i M . l u s i t a n i c u s

  • M. multiplex

M .

  • e

c

  • n
  • m

u s M . r

  • s

s i a e m e r i . . .

  • M. savii
  • M. subterraneus
  • M. tatricus
  • M. thomasi
  • M. monachus
  • M. reevesi
  • M. macedonicus
  • M. musculus
  • M. spicilegus

M . s p r e t u s M . e v e r s m a n i i

  • M. lutreola
  • M. vison

M . c

  • y

p u s

  • M. roachi
  • M. schisticolor

M . b r a n d t i M . c a p a c c i n i i

  • M. dasycneme

N . l e u c

  • d
  • n

N . a z

  • r

e u m N . l a s i

  • p

t e r u s

  • N. procyonoides
  • O. rosmarus
  • O. virginianus

O . z i b e t h i c u s

  • O. moschatus

P . groenlandica P . hispida P . vitulina P . m a d e r e n s i s P . t e n e r i f f a e P . l

  • t
  • r

P . volans

  • R. tarandus

R . b l a s i i

  • R. mehelyi
  • R. pyrenaica
  • R. rupicapra
  • S. anomalus
  • S. carolinensis
  • S. betulina

S . s u b t i l i s S . a l p i n u s

  • S. caecutiens
  • S. coronatus

S . g r a n a r i u s

  • S. isodon

S . m i n u t i s s i m u s

  • S. samniticus
  • S. graecus
  • S. citellus
  • S. suslicus
  • S. etruscus

S . fl

  • r

i d a n u s T . t e n i

  • t

i s

  • T. caeca
  • T. occidentalis

T . r

  • m

a n a

  • T. stankovici
  • T. sibiricus
  • U. maritimus
  • V. murinus
  • V. peregusna

Les Misérables characters
 cyclic factors Land mammal species
 C1P factors

slide-24
SLIDE 24

UEF//School of Computing

Pauli Miettinen

Summary

  • C1P and cyclic factors further improve the

interpretability of BMF factors

  • Natural for edge bundle plots
  • PQ-trees facilitate the efficient testing of

compatible factors

  • Possible extensions to other algebras, time

series, …

15

slide-25
SLIDE 25

UEF//School of Computing

Pauli Miettinen

Summary

  • C1P and cyclic factors further improve the

interpretability of BMF factors

  • Natural for edge bundle plots
  • PQ-trees facilitate the efficient testing of

compatible factors

  • Possible extensions to other algebras, time

series, …

15

Tiank Yov!