Algorithms for Boolean Matrix Factorization using Integer Programming and Heuristics
About
Boolean matrix factorization (BMF) approximates a given binary input matrix as the product of two smaller binary factors. Unlike binary matrix factorization based on standard arithmetic, BMF employs the Boolean OR and AND operations for the matrix product, which improves interpretability and reduces the approximation error. It is also used in role mining and computer vision. In this paper, we first propose algorithms for BMF that perform alternating optimization (AO) of the factor matrices, where each subproblem is solved via integer programming (IP). We then design different approaches to further enhance AO-based algorithms by selecting an optimal subset of rank-one factors from multiple runs. To address the scalability limits of IP-based methods, we introduce new greedy and local-search heuristics. We also construct a new C++ data structure for Boolean vectors and matrices that is significantly faster than existing ones and is of independent interest, allowing our heuristics to scale to large datasets. We illustrate the performance of all our proposed methods and compare them with the state of the art on various real datasets, both with and without missing data, including applications in topic modeling and imaging.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Boolean Matrix Factorization | zoo | BMF Error-1 | 30 | |
| Boolean Matrix Factorization | Heart | BMF Error-1 | 30 | |
| Boolean Matrix Factorization | lymp | BMF Error-38 | 30 | |
| Boolean Matrix Factorization | apb | BMF Error-7 | 30 | |
| Boolean Matrix Factorization Completion | tumor missing entries from Table 3 | Objective Value Improvement68 | 30 | |
| Boolean Matrix Factorization Completion | hep/tis missing entries from Table 3 | Objective Value Improvement0.00e+0 | 22 | |
| Boolean Matrix Factorization | Small dataset | Relative Error78.12 | 18 | |
| Boolean Matrix Factorization | Medium dataset | Relative Error90.71 | 13 | |
| Boolean Matrix Factorization | CBCL binarized | Relative Error54.74 | 10 | |
| Boolean Matrix Factorization Completion | audio missing entries | Objective Value Improvement41 | 9 |