Memory-Efficient Sequential Pattern Mining with Hybrid Tries
Amin Hosseininasab, Willem-Jan van Hoeve, Andre A. Cire
TL;DR
This work tackles the memory bottleneck in sequential pattern mining (SPM) by introducing memory-efficient data structures and algorithms. The authors first develop a binary trie (BT) representation with an ancestor label to compactly store overlapping prefixes, then extend to a hybrid trie-vector model (HT) that transitions from a BT for prefixes to a vector postfix, controlled by a data-dependent transition length $j^*$. The integrated HTMiner algorithm combines BTMiner for prefixes with prefix-projection for postfixes, achieving superior memory efficiency and often faster runtimes compared to state-of-the-art vector and trie-based methods; HTMiner is able to mine large data sets within 256GB of memory, potentially saving up to 1.7TB relative to vector-based baselines. These contributions enable scalable SPM on large-scale data sets and offer a practical path for memory-constrained environments in domains like fraud detection and market analysis. The results demonstrate substantial memory reductions across diverse datasets while maintaining competitive or improved computational performance, highlighting the practical impact of the hybrid trie-vector approach for large-scale SPM.
Abstract
This paper develops a memory-efficient approach for Sequential Pattern Mining (SPM), a fundamental topic in knowledge discovery that faces a well-known memory bottleneck for large data sets. Our methodology involves a novel hybrid trie data structure that exploits recurring patterns to compactly store the data set in memory; and a corresponding mining algorithm designed to effectively extract patterns from this compact representation. Numerical results on small to medium-sized real-life test instances show an average improvement of 85% in memory consumption and 49% in computation time compared to the state of the art. For large data sets, our algorithm stands out as the only capable SPM approach within 256GB of system memory, potentially saving 1.7TB in memory consumption.
