17
1 Using Using Blind Blind S S earch earch a a nd nd F F orm orm al Concepts al Concepts for for Binary Factor Analysis Binary Factor Analysis Aleš Keprt [email protected]

Using Blind S earch a nd F orm al Concepts for Binary Factor Analysis

  • Upload
    arama

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Using Blind S earch a nd F orm al Concepts for Binary Factor Analysis. Aleš Keprt ales.keprt @vsb.cz. Synopsis. Bin ary Fa ctor Analysis (BFA) - introduction to BFA - exact solution of BFA - quality checking Possible optim izations Blind S earch method - PowerPoint PPT Presentation

Citation preview

Page 1: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

1

Using Using BlindBlind S Searchearchaandnd

FFormormal Conceptsal Conceptsforfor

Binary Factor AnalysisBinary Factor Analysis

Aleš [email protected]

Page 2: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

2

Synopsis Binary Factor Analysis (BFA)

- introduction to BFA- exact solution of BFA- quality checking

Possible optimizations Blind Search method Method based on Formal Concepts Tests and the comparison of

methods Possible future work

Page 3: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

3

Binary Factor Analysis (BFA) Factor analysis of binary data Using boolean arithmetic Trying to express matrix X as a

product of two matrices is binary matrix multiplication Initial conditions:

we know X, dimensions of all matrices,number of one’s per row of A

Page 4: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

4

Exact BFA Solution(i.e. reference factorizer) For checking other algorithms Searches for the best (optimal)

solution Exact = opposite to approximate

solution

The key:Perform all possible optimizations to avoid checking of all bit-combinations

Page 5: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

5

Boolean arithmetic Classical arithmetic:

Boolean arithmetic:

Page 6: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

6

Quality check Discrepancy (česky „odchylka”)

Our goal is to minimize discrepancy We distinguish between positive

and negative discrepancy

Page 7: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

7

Possible optimizations Empty rows and columns – skip Duplicate rows and columns –

merge Order factor loadings (rows of A) Constant number of one’s per row

of A Use the knowledge of A to get F Parallel (distributed) computaion

using multiple computers

Page 8: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

8

Quality check When merging duplicate

rows/columns:

Page 9: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

9

Blind Search Blind Search = „slepé hledání”

The strategy:1. Build up particular candidate for A2. Find the best F for this A3. Compute discrepancy4. Remember the best A,F pair so far5. Back to step 1

Page 10: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

10

Blind Search (2.) The key tasks:

1. Building up the candidates for A2. How to get F when knowing A

Building up the candidates for A:- row by row (one row one factor)- bit-coded matrices can be much faster- factors cannot repeat on several rows

Page 11: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

11

Blind Search (3.) How to get F when knowing X and A:

- bit-coded matrices may help (yet again)- going row by row (better than cassical „rows x columns” multiplication algo)

How to get the particular row of F:(a) blind search (b) do some preprocessing, then blind search

Page 12: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

12

Formal context

Page 13: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

13

Formal concept

Page 14: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

14

Using Formal Concepts Concepts are our

candidates for the rows of matrix A

Example: set “p3”- data matrix size 100x100- 10 concepts (see pict.)

Searching for 5 factors:- only 8 candidates- 56 possible combinations

Page 15: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

15

Details Concepts generate no negative

discrepancy higher computation error higher semantic value (for us)

We can get negative discrepancy when computing F (as discussed before)

Performed tests gave promising results

Page 16: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

16

Final Comparison The presented algo’s are very similar Giving the same results in our tests Computation times are very different

- times of set “p2” (mentioned before): blind search: approx. 3x109 years concepts: 7 seconds

Page 17: Using  Blind  S earch a nd F orm al Concepts for Binary Factor Analysis

17

Possible Future Work Current implementaion uses

independent application to compute concepts lattices

Integration to a single application may speed up the computation

We don’t need to compute whole concept lattice, even don’t need to know all concepts

Need to find better algorithm for binary matrix pseudo-division F = X/A