Frequent Pattern Discovery in First-Order Logic
Frequent Pattern Discovery in First-Order Logic
复制标题
一阶逻辑中的频繁模式发现
DOI:
--
复制
发表时间:
1999
期刊:
影响因子:
--
通讯作者:
L. Dehaspe
中科院分区:
文献类型:
--
作者:
L. Dehaspe
In recent years, the usage and size of databases have grown dramatically, due to a constant decrease in the cost of both the collection and the storage of huge amounts of data. The need for tools to exploit the popular Data Warehouse has grown accordingly and has given rise to a rapidly evolving research field at the intersection of statistics, databases, and machine learning: Data Mining and Knowledge Discovery in Databases (KDD). Within KDD, the discovery of recurrent patterns in (potentially huge) data collections has become one of the central topics. In tasks where the goal is to uncover structure in the data and where there is no preset target concept, the discovery of relatively simple but frequently occurring patterns has shown good promise. The motivation for such an application is the potentially high business value of the discovered patterns. At the heart of the task is the problem of determining all combinations of items that occur frequently together, where ‘frequent’ is defined as ‘exceeding a user-specified frequency threshold’. The use of a frequency threshold for filtering out non-interesting patterns is natural for a large number of data mining problems. Patterns that are rare, e.g., that concern only a couple of customers, are probably not reliable nor useful for the user. Frequent pattern discovery has been studied in a variety of settings. In its simplest form, the task is known from association rule mining. A prototypical application example of this basic setting is in market basket analysis: find out which items tend to be sold together. The fundamental task of association rule and frequent set discovery has been extended in various directions, allowing more useful patterns (e.g., sequential patterns or episodes) to be discovered with special purpose algorithms. We present a general formulation of the frequent pattern discovery problem, where both the database and the patterns are represented in some subset of first-order logic, i.e., essentially Prolog. Obviously, when compared to the original, attributevalue based format employed in frequent pattern discovery algorithms, the Prolog database format is more expressive. In relational databases terminology: where traditional techniques assume a single table representation with one row per example, in Prolog an example can be represented by means of a collection of rows drawn from a set of related tables. In this framework, each example as it were corresponds to a (mini-)database. The central type of pattern we consider is that of a Prolog query. Such a query is the first-order logic equivalent of an item set. To verify whether a query matches a particular example we can submit it to the (mini-)database that corresponds to the example. We then conclude the pattern holds w.r.t. the example if and only if the query succeeds. Much like in the case of association rules, we can combine two queries, where one extends the other, into a rule, called a query extension. For instance: