[go: up one dir, main page]

EP1346293A2 - Finding the most interesting patterns in a database quickly by using sequential sampling - Google Patents

Finding the most interesting patterns in a database quickly by using sequential sampling

Info

Publication number
EP1346293A2
EP1346293A2 EP01960677A EP01960677A EP1346293A2 EP 1346293 A2 EP1346293 A2 EP 1346293A2 EP 01960677 A EP01960677 A EP 01960677A EP 01960677 A EP01960677 A EP 01960677A EP 1346293 A2 EP1346293 A2 EP 1346293A2
Authority
EP
European Patent Office
Prior art keywords
hypotheses
error
utility
hypothesis
probability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP01960677A
Other languages
German (de)
French (fr)
Other versions
EP1346293B1 (en
Inventor
Stefan Wrobel
Tobias Scheffer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority to EP01960677A priority Critical patent/EP1346293B1/en
Publication of EP1346293A2 publication Critical patent/EP1346293A2/en
Application granted granted Critical
Publication of EP1346293B1 publication Critical patent/EP1346293B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • the invention relates to finding the most interesting patterns in a database quickly by using sequential sampling in particular to a method for sampling a database for obtaining the probably approximately n best hypotheses having the highest empirically utility of a group of potential hypotheses.
  • KDD knowledge discovery in databases
  • sampling must be combined with discovery algorithms in a fashion that allows us to give the user guarantees about how far the results obtained using sampling differ from the optimal (non-sampling based) results.
  • the goal of a sampling discovery algorithm then is to guarantee this quality using the minimum amount of examples [5].
  • Definition 1 (n-best hypotheses problem) Let D be a database of instances, H a set of possible hypotheses, f : H x D ⁇ R>0 a quality or utility function on H, and n, 1 ⁇ n ⁇ I H
  • Equation 1 says that E provides a two-sided confidence interval on f(h;Q m ) with confidence ⁇ .
  • the probability of drawing a sample Q m (when drawing m transactions independently and identically distributed from D), such that the difference between true and estimated utility of any hypothesis disagree by ⁇ or more (in either direction) lies below ⁇ .
  • the confidence interval vanishes. In this case, we can shrink the confidence interval (at any confidence level ⁇ ) to arbitrarily low nonzero values by using a sufficiently large sample.
  • a method for sampling a database for obtaining the probably approximately n best hypotheses having the highest empirically utility of a group of potential hypotheses comprising the steps of (see also Table 1 of this specification): a) generating all possible hypotheses based on specifications of a user as remaining hypotheses, b) checking whether enough data points were sampled so far to distinguish within the group of potential hypotheses all good looking hypotheses from bad looking hypotheses with sufficient confidence, c) if according to step b) enough data points were sampled so far then continue with step j) otherwise continue with step f), d) sampling one or more data points, e) calculating the utility of all the remaining hypotheses on the basis of the sampled data points, f) in the set of remaining hypotheses determining a set of good looking hypotheses by taking the n hypotheses that currently have the highest utility based on the data points sampled so far, whereas the other hypotheses are added to a set of bad looking hypotheses,
  • step k) determining a utility confidence interval given a required maximum probability of error and a sample size based on the observed variance of each hypothesis' utility value.
  • step a) the following step I) is performed (see step 2. of Table 1):
  • step f)i) the following steps are performed (see step 3.(e)i.
  • m) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step j) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, n) for each of the bad looking hypotheses, determine the sum of its observed utility value and its error confidence interval size as determined according to step k) for the current data point sample size and the locally allowed error probability error according to step m), o) selecting the maximum value of all the sums determined in step n), p) subtracting the user selected maximum error margin from the value selected in step o), q) adding to the number obtained in step p) the size of the error confidence interval as determined according to step k) for the hypothesis currently considered for outputting based on the current data point sample size and the locally allowed error probability, r) if the number determined according to steps m) to q)
  • step g)ii) the following steps are performed
  • step 3(e)ii. of Table 1 determines (see step 3(e)ii. of Table 1): s) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step k) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, t) for each good looking hypothesis determine the difference between its observed utility value and its error confidence interval as determined in step k) based on the current data point sample size and the locally allowed error probability as determined in step s), u) selecting the minimum of all the differences determined in step t), v) subtract from the value selected in step u) the size of the utility confidence interval of the hypothesis considered for the removal and determined according to step k) and the locally allowed error probability as determined in step s), w) if the number determined in steps s) to v) is not smaller than the observed utility of
  • the general approach to designing a sampling method is to use an appropriate error probability bound to determine the required number of examples for a desired level of confidence and accuracy.
  • Chernoff bounds that are used in PAC theory and many other areas of statistics and computer science can be used to determine appropriate sample bounds [5].
  • the Chernoff bounds can be replaced by tighter normal or t distribution tables.
  • step 3b we combine sequential sampling with the popular "loop reversal" technique found in many KDD algorithms. Instead of processing hypotheses one after another, and obtaining enough examples for each hypothesis to evaluate it sufficiently precisely, we keep obtaining examples (step 3b) and apply these to all remaining hypotheses simultaneously (step 3c).
  • This strategy allows the algorithm to be easily implemented on top of database systems (assuming they are capable of drawing samples), and enables us to reach tighter bounds.
  • step 3(e)i) outputs those where it can be sufficiently certain that the number of better hypotheses is no larger than the number of hypotheses still to be found (so they can all become solutions), or (step 3(e)ii) discards those hypotheses where it can be sufficiently certain that the number of better other hypotheses is at least the number of hypotheses still to be found (so it can be sure the current hypothesis does not need to be in the solutions).
  • step 3(e)i) outputs those where it can be sufficiently certain that the number of better hypotheses is no larger than the number of hypotheses still to be found (so they can all become solutions), or (step 3(e)ii) discards those hypotheses where it can be sufficiently certain that the number of better other hypotheses is at least the number of hypotheses still to be found (so it can be sure the current hypothesis does not need to be in the solutions).
  • Table 1 Sequential sampling algorithm for the n-best hypotheses problem Algorithm Generic Sequential Sampling.
  • Input n (number of desired hypotheses), ⁇ and ⁇ (approximation and confidence parameters).
  • Theorem 1 The algorithm will output a group G of exactly n hypotheses such that, with confidence 1 - ⁇ , no other hypothesis in ⁇ has a utility which is more than ⁇ higher than the utility of any hypothesis that has been returned: P ⁇ [3h € H ⁇ G : /( ⁇ ) > f min x ⁇ ] ⁇ ⁇ (2)
  • the number of transactions in the database for which the rule makes a correct prediction is called the support, or the generality.
  • the confidence is the fraction of correct predictions among those transactions for which a prediction is made.
  • the accuracy quantifies the probability of a hypothesis conjecturing a correct attribute.
  • the term accuracy is typically used in the context of classification and refers to the probability of a correct classification for a future transaction whereas the confidence refers to the database (i.e., the training data). From a sampling point of view, confidence and accuracy can be treated equally. In both cases, a relative frequency is measured on a small sample; from this frequency we want to derive claims on the underlying probability. It does not make a difference whether this probability is itself a frequency on a much larger instance space (confidence) or a "real" probability (accuracy), defined with respect to an underlying distribution on instances.
  • Subgroups are of a more descriptive character. They describe that the value of an attribute differs from the global mean value within a particular subgroup of transactions without actually conjecturing the value of that attribute for a new transaction.
  • the generality of a subgroup is the fraction of all transactions in the database that belong to that subgroup.
  • the term statistical unusualness refers to the difference between the probability p 0 of an attribute in the whole database and the probability p of that attribute within the subgroup.
  • subgroups are desired to be both general (large g) and statistically unusual (large I pO - pi ).
  • There are many possible utility functions for subgroup discovery which trade generality against unusualness. Unfortunately, none of these functions can be expressed as the average (over all transactions) of an instance utility function.
  • the relative frequency corresponding to the target probability is governed by the binomial distribution whereas, when the sample is drawn without replacement, it is governed by the hyper-geometrical distribution and we can specify a tighter bound.
  • the only feasible way of calculating both the hyper-geometrical distribution and the binomial distribution is to use a normal approximation. But the normal approximation of both distributions are equal and so we cannot realize the small advantage that drawing without replacement seems to promise. The same situation arises with other utility functions.
  • This simplest form of a utility function is the average, over all example instances, of some instance utility function fm st (h,q ⁇ ) where q, e D.
  • the utility is then defined as
  • Equation 4 satisfies this condition.
  • Equation 5 we insert Equation 4 into Equation 1.
  • Equation 3 we insert Equation 4 into Equation 1.
  • Equation 7 we insert Equation 7 into Equation 7.
  • Equation 7 we apply the Hoeffding inequality (Equation 3) in Equation 6 and obtain the desired result in Equation 7.
  • the Hoeffding inequality is less suited since it is not very tight.
  • f(h,Q m ) - f(h) is a random variable with mean value 0; we further know that f(h,Q m ) is bounded between zero and ⁇ .
  • the normal distribution we need to refer to the true variance of our random variable. In step 3, the variance is not known since we do not refer to any particular hypothesis.
  • Equation 1 f(h,Q m ) is the average of m values, namely
  • Equation 8 satisfies Equation 1.
  • z is the inverse standard normal distribution that can be looked up in a table.
  • steps 3(e)i and 3(e)ii we refer to specific hypotheses h and can therefore determine the empirical variance of ff Qm).
  • E h (m, ⁇ ) we can define E Equation 10.
  • Equation 11 we expand our definition E.
  • the ⁇ and log-terms cancel out in Equation 12; we can bound the confidence interval to ⁇ /2 in Equation 13 as required for the algorithm to exit in step 3e.
  • the first class of nontrivial utility functions that we study weight the generality g of a subgroup and the deviation of the probability of a certain feature p from the default probability pO equally. Hence, these functions multiply generality and distributional unusualness of subgroups. Alternatively, we can use the absolute distance I p - p 0 1 between probability p and default probability p 0 .
  • the multi-class version of this function is
  • Equation 17 we insert Equation 14 into Equation 1.
  • Equation 18 we refer to the union bound in Equation 18.
  • Equation 20 we refer to the simple observation that g ⁇ 1 and (p - p 0 ) ⁇ 1 leads to Equation 20.
  • Equations 21 and 22 are based on elementary transformations.
  • Equation 23 we refer to the union bound again.
  • the key observation here is that ab cannot be greater than (c + ⁇ ) (d + ⁇ ) unless at least a>c + ⁇ orb>d + ⁇ .
  • Equation 25 Let us now prove the normal approximation of the above confidence bound.
  • Equation 25 by inserting Equation 16 into Equation 1.
  • s g and s p denote the variances of g and p, respectively.
  • Equation 15 we also cover Equation 15 in this proof. The variances can be bounded from above:
  • Equation 27 follows from g ⁇ 1 and p - p 0 ⁇ 1 and Equation 28 is just a factorization of
  • Equation 30 we insert the sample bound (Equation 30) into the definition of E for linear functions (Equation 14), after the log-terms rule out each other in Equation 31 we obtain the desired bound of ⁇ /2.
  • Equation 37 we start in Equation 37 by combining the definition of E (Equation 33) with Equation 1 which specifies the property of E that we would like to prove.
  • Equation 38 we add g 2 (p - p 0 ) to both sides of the inequality an start factorizing.
  • Equation 39 we have identified three factors.
  • Equation 34 is a special case of Equation 35 (variance bounded from above).
  • the variance of both g and p is at most
  • Equation 35 This takes us from Equation 35 to Equation 42. Equation 43 equals Equation 34.
  • Equation 44 we want to see if the normal approximation (Equation 35) satisfies the requirement of Equation 1.
  • Equation 35 we add g 2 (p - p 0 ) to both sides of the equation and start factorizing the right hand side of the inequality in Equations 45 and 46.
  • the union bound takes us to Equation 47; Equation 48 proves the claim.
  • Pr[ ⁇ f(KQ m )-f(h) ⁇ >E(m,, ⁇ ) ⁇ (44) P ⁇ g 2 i ⁇ - Po) - (p - Po)
  • Equation 33 each of the three terms in Equation 33 has to be below 1. Note that if ⁇ ⁇ 1 then ⁇ 2 ⁇ ⁇ . We can therefore bound E as in Equation 51.
  • Equation 49 we insert the sample bound into the exit criterion in Equation 52.
  • the log-terms rule out each other and the result is ⁇ /2 as desired.
  • the Binomial test heuristic is based on elementary considerations. Suppose that the probability p is really equal to p 0 (i.e., the corresponding subgroup is really uninteresting). How likely is it, that the subgroup with generality g displays a frequency of on the sample Q with a greater difference 1 - p 0 1? For large I Q I x
  • Equation 57 we insert Equation 54 into Equation 1 (the definition of E). We refer to the union bound in Equation 58 and exploit that
  • Equation 59 we factor the right hand side of the inequality in Equation 59 and use the union bound in Equation 60. Now in Equation 61 we weaken the inequality a little. Note that
  • Equation 61 subtracting the lengthy term in Equation 61 decreases the probability of the inequality (which we want to bound from above).
  • the reason why we subtract this term is that we want to apply the binomial equation and factor
  • Equation 55 we would like Equation 55 to be a special case of Equation 55 with the variances bounded from above. Equation 65 confirms that this is the case since
  • Equation 70 Equation 70 and Equation 71.
  • Basic manipulations and the Chernoff inequality complete the proof in Equation 73.
  • Equation 54 The middle term of Equation 55 dominates the expression since, for ⁇ ⁇ 1 it Is true that ⁇ > > ⁇ .
  • Equation 75 provides us with an easier bound.
  • step 3 The algorithm terminates in step 3 when
  • Equation 76 proves that this is the case with guarantee. Note that, since we bounded the confidence interval quite sloppily, we expect the algorithm to terminate considerably earlier. £
  • non-sequential sampling algorithm determines a sample size M like our algorithm does in step 2, but using the full available error probability ⁇ rather than only ⁇ /2. Hence, the non-sequential sampling algorithm has a lower worst-case sample size than the sequential one but never exits or returns any hypothesis before that worst-case sample bound has been reached. Sequential and non-sequential sampling algorithm use the same normal approximation and come with identical guarantees on the quality of the returned solution.
  • Figure 1 shows the sample size of the non-sequential algorithm as well as the sample size required before the sequential algorithm returned the first (out of ten) hypothesis and the sample size that the sequential algorithm required to return the last (tenth) hypothesis and terminate.
  • the sequential sampling algorithm terminated significantly earlier than the non-sequential one, even though the latter possesses a lower worst-case sample bound.
  • the relative benefit of sequential sampling can reach orders of magnitude.
  • the data contains 95,412 records that describe mailings by a veterans organization. Each record contains 481 attributes describing one recipient of a previous mailing.
  • the target fields note whether the person responded and how high his donation to the organization was.
  • Our task was to find large subgroups of recipients that were particularly likely (or unlikely) to respond (we used the attribute "Target B" as target and deleted “Target D").
  • the histogram of error rates of a set of decision trees or rule sets can be determined in time logarithmic in the number of hypotheses. We are confident that our sampling algorithm can be applied analogously for complex and structured hypothesis spaces without explicit representation of all hypotheses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Many discovery problems, e.g., subgroup or association rule discovery, can naturally be cast as n-best hypotheses problems where the goal is to find the n hypotheses from a given hypothesis space that score best according to a certain utility function. We present a sampling algorithm that solves this problem by issuing a small number of database queries while guaranteeing precise bounds on confidence and quality of solutions. Known sampling approaches have treated single hypothesis selection problems, assuming that the utility be the average (over the examples) of some function-which is not the case for many frequently used utility functions. We show that our algorithm works for all utilities that can be estimated with bounded error. We provide these error bounds and resulting worst-case sample bounds for some of the most frequently used utilities, and prove that there is no sampling algorithm for a popular class of utility functions that cannot be estimated with bounded error. The algorithm is sequential in the sense that it starts to return (or discard) hypotheses that already seem to be particularly good (or bad) after a few examples. Thus, the algorithm is almost always faster than its worst-case bounds.

Description

Finding the most interesting patterns in a database quickly by using sequential sampling
The invention relates to finding the most interesting patterns in a database quickly by using sequential sampling in particular to a method for sampling a database for obtaining the probably approximately n best hypotheses having the highest empirically utility of a group of potential hypotheses.
1 Introduction
The general task of knowledge discovery in databases (KDD) is the "automatic extraction of novel, useful, and valid knowledge from large sets of data". An important aspect of this task is scalability, i.e., the ability to successfully perform discovery in ever-growing datasets. Unfortunately, even with discovery algorithms optimized for very large datasets, for many application problems it is infeasible to process all of the given data. Whenever more data is available than can be processed in reasonable time, an obvious strategy is to use only a randomly drawn sample of the data. Clearly, if parts of the data are not looked at, it is impossible in general to guarantee that the results produced by the discovery algorithm will be identical to the results returned on the complete dataset. If the use of sampled datasets is to be more than a practitioner's "hack", sampling must be combined with discovery algorithms in a fashion that allows us to give the user guarantees about how far the results obtained using sampling differ from the optimal (non-sampling based) results. The goal of a sampling discovery algorithm then is to guarantee this quality using the minimum amount of examples [5].
Known algorithms that do give rigorous guarantees on the quality of the returned solutions for all possible problems usually require an impractically large amount of data. One approach to finding practical algorithms is to process a fixed amount of data but determine the possible strength of the quality guarantee dynamically, based on characteristics of the data; this is the idea of self-bounding learning algorithms and shell decomposition bounds. Another approach (which we pursue) is to demand a certain fixed quality and determine the required sample size dynamically based on characteristics of the data that have already been seen; this idea has originally been referred to as sequential analysis.
In the machine learning context, the idea of sequential sampling has been developed into the Hoeffding race algorithm [3] which processes examples incrementally, updates the empirical utility values simultaneously, and starts to output (or discard) hypotheses as soon as it becomes very unlikely that some hypothesis is not near-optimal (or very poor, respectively). The incremental greedy learning algorithm Palo [2] has been reported to require many times fewer examples than the worst-case bounds suggest. In the context of knowledge discovery in databases, too, sequential sampling algorithms can reduces the required amount of data significantly [1].
These existing sampling algorithms address discovery problems where the goal is to select from a space of possible hypotheses H one of the elements with maximal value of an instance-averaging quality function f, or all elements with an f-value above a user-given threshold (e.g., all association rules with sufficient support). With instance-averaging quality functions, the quality of a hypothesis h is the average across all instances in a dataset D of an instance quality function finst-
Many discovery problems, however, cannot easily be cast in this framework. Firstly, it is often more natural for a user to ask for the n best solutions instead of the single best or all hypotheses above a threshold - see, e.g., [7]. Secondly, many popular quality measures cannot be expressed as an averaging quality function. This is the case e.g., for all functions that combine generality and distributional properties of a hypothesis; generally, both generality and distributional properties (such as accuracy) have to be considered for association rule and subgroup discovery problems. The task of subgroup discovery is to find maximally general subsets of database transactions within which the distribution of a focused feature differs maximally from the default probability of that feature in the whole database. As an example, consider the problem of finding groups of customers who are particularly likely (or unlikely) to buy a certain product.
In this paper, we present a general sampling algorithm for the n-best hypotheses problem that works for any utility functions that can be estimated with bounded error at all. To this end, in Section 2, we first define the n-best hypotheses problem more precisely and identify appropriate quality guarantees. Section 3 then presents the generic sequential sampling algorithm. In Section 4, we prove that many of the popular utility functions that have been used in the area of knowledge discovery in databases indeed can be estimated with bounded error, giving detailed bounds. In order to motivate the instantiations of our sampling algorithm and put it into context, we first define some relevant knowledge discovery tasks in Section 4. For one popular class of functions that cannot be used by our algorithm, we prove that there cannot be a sampling algorithm at all. Our results thus also give an indication as to which of the large numbers of popular utility functions are preferable with respect to sampling. In Section 6, we evaluate our results and discuss their relation to previous work.
2 Approximating n -Best Hypotheses Problems
In many cases, it is more natural for a user to ask for the n best solutions instead of the single best or all hypotheses above a threshold. Such n-best hypotheses problems can be stated more precisely as follows - adapted from [7], where this formulation is used for subgroup discovery:
Definition 1 (n-best hypotheses problem) Let D be a database of instances, H a set of possible hypotheses, f : H x D → R>0 a quality or utility function on H, and n, 1 < n < I H| , the number of desired solutions. The n-best hypotheses problem is to find a set G c H of size n such that there is no h' e H : h1 $. G and f(h',D) > fmin/ where fm)n := minheGf(h',D).
Whenever we use sampling, the above optimality property cannot be guaranteed, so we must find appropriate alternative guarantees. Since for n-best problems, the exact quality and rank of hypotheses is often not central to the user, it is sufficient to guarantee that G indeed "approximately" contains the n best hypotheses. We can operationalize this by guaranteeing that there will never be a non-returned hypothesis that is "significantly" better than the worst hypothesis in our solution. More precisely, we will use the following problem formulated along the lines of PAC (probably approximately correct) learning:
Definition 2 (Approximate n-best hypotheses problem) Let D, H, f and n as in the preceding definition. Then let δ, 0 < δ < 1, be a user-specified confidence, and ε e R+ a user-specified maximal error. The approximate n-best hypotheses problem is to find a set G H of size n such that
with confidence 1 - δ, there is no h' e H: h' «. G and f(h',D) > fmin + ε, where fmin := minheGf(h,D).
In other words, we want to find a set of n hypotheses such that, with high confidence, no other hypothesis outperforms any one of them by more than ε, where f is an arbitrary performance measure.
In order to design an algorithm for this problem, we need to make certain assumptions about the quality function f. Ideally, an algorithm should be capable of working (at least) with the kinds of quality functions that have already proven themselves useful in practical applications. If the problem is to classify database items (i.e., to find a total function mapping database items to class labels), accuracy is often used as utility criterion. For the discovery of association rules, by contrast, one usually relies on generality as primary utility criterion. Finally, for subgroup discovery, it is commonplace to combine both generality and distributional unusualness, resulting in relatively complex evaluation functions. In light of the large range of existing and possible future utility functions and in order to avoid unduly restricting our algorithm, we will not make syntactic assumptions about f. In particular, unlike [1], we will not assume that f is a single probability nor that it is (a function of) an average of instance properties. Instead, we only assume that it is possible to determine a confidence interval f that bounds the possible difference between true utility (on the whole database) and estimated utility (on the sample) with a certain confidence. We expect the confidence interval to narrow as the sample size grows. As will show in Section 4 below, finding such confidence intervals is straightforward for classification accuracy, and is also possible for all but one of the popular utility functions from association rule and subgroup discovery. More precisely, we define an confidence interval for f as follows.
Definition 3 (Utility confidence interval) Let f be a utility function, let h e H be a hypothesis. Let f(h,D) denote the true quality of h on the entire dataset, f(h,Qm) its estimated quality computed based on a sample Qm c D of size m. Then E : N x R → R is a utility confidence bound for f iff for any δ, 0 < δ ≤ 1,
PrsHffc Qm) - D)\ < Elm, δ)] > 1 - δ
Equation 1 says that E provides a two-sided confidence interval on f(h;Qm) with confidence δ. In other words, the probability of drawing a sample Qm (when drawing m transactions independently and identically distributed from D), such that the difference between true and estimated utility of any hypothesis disagree by ε or more (in either direction) lies below δ. If, in addition, for any δ,0 < δ < 1 and any ε there is a number m such that E(m,δ) < ε we say that the confidence interval vanishes. In this case, we can shrink the confidence interval (at any confidence level δ) to arbitrarily low nonzero values by using a sufficiently large sample. We sometimes write the confidence interval for a specific hypothesis h as Eh(m,δ). Thus, we allow the confidence interval to depend on characteristics of h, such as the variance of one or more random variables that the utility of h depends on. We will discuss confidence intervals for different functions of interest in Section 4; here, as a simple example, let us only note that if f is simply a probability over the examples, then we can use the Chernoff inequality to derive a confidence interval; when f is the average (over the examples) of some function with bounded range, then the Hoeffding inequality implies a confidence interval. Of course, we should also note that the trivial function E(m,δ) : = A is an error probability bound function for any f with lower bound of zero and upper bound of A, but we will see that we can only guarantee termination when the confidence interval vanishes as the sample size grows.
3 Sampling method according to the invention
According to the invention there is provided a method for sampling a database for obtaining the probably approximately n best hypotheses having the highest empirically utility of a group of potential hypotheses, comprising the steps of (see also Table 1 of this specification): a) generating all possible hypotheses based on specifications of a user as remaining hypotheses, b) checking whether enough data points were sampled so far to distinguish within the group of potential hypotheses all good looking hypotheses from bad looking hypotheses with sufficient confidence, c) if according to step b) enough data points were sampled so far then continue with step j) otherwise continue with step f), d) sampling one or more data points, e) calculating the utility of all the remaining hypotheses on the basis of the sampled data points, f) in the set of remaining hypotheses determining a set of good looking hypotheses by taking the n hypotheses that currently have the highest utility based on the data points sampled so far, whereas the other hypotheses are added to a set of bad looking hypotheses, g) checking each of the remaining hypotheses wherein i) if the currently considered hypothesis with sufficient probability is sufficiently good when compared to all bad looking hypotheses then outputting the currently considered hypothesis, removing the currently considered hypothesis from the set of remaining hypotheses and from the set of good looking hypotheses, decrementing the number of hypotheses still to be found and if the number of hypotheses still to be found is zero or the number of remaining hypotheses is equal to the number of hypotheses still to be found, then continue with step j), ii) if the currently considered hypotheses with sufficient probability is sufficiently bad when compared with all the good looking hypotheses then removing the currently considered hypothesis from the set of bad looking hypotheses from the set of remaining hypotheses and if the number of remaining hypotheses is equal to the number of hypotheses still to be found, then continue with step j), h) continue with step a), j) outputting to a user the n best hypotheses having the highest utility of all the remaining hypotheses.
In one embodiment in steps a), g)i), and g)ii the following step k) is performed: k) determining a utility confidence interval given a required maximum probability of error and a sample size based on the observed variance of each hypothesis' utility value.
In another embodiment in step a) the following step I) is performed (see step 2. of Table 1):
I) based on step k) determining the size of the utility confidence interval for the current data point sample size and the probability of error as selected by the user and dividing the size of the utility confidence interval by two and by the number of remaining hypotheses, wherein enough data points are sampled if the number as calculated above is smaller than the user selected maximum margin of error divided by two. In still another aspect of the invention in step f)i) the following steps are performed (see step 3.(e)i. of Table 1): m) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step j) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, n) for each of the bad looking hypotheses, determine the sum of its observed utility value and its error confidence interval size as determined according to step k) for the current data point sample size and the locally allowed error probability error according to step m), o) selecting the maximum value of all the sums determined in step n), p) subtracting the user selected maximum error margin from the value selected in step o), q) adding to the number obtained in step p) the size of the error confidence interval as determined according to step k) for the hypothesis currently considered for outputting based on the current data point sample size and the locally allowed error probability, r) if the number determined according to steps m) to q) is no larger than the hypothesis currently considered for outputting and this hypothesis is a good looking one, then this hypothesis is considered sufficiently good with sufficient probability as required in step g)i).
In a further aspect of the invention in step g)ii) the following steps are performed
(see step 3(e)ii. of Table 1): s) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step k) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, t) for each good looking hypothesis determine the difference between its observed utility value and its error confidence interval as determined in step k) based on the current data point sample size and the locally allowed error probability as determined in step s), u) selecting the minimum of all the differences determined in step t), v) subtract from the value selected in step u) the size of the utility confidence interval of the hypothesis considered for the removal and determined according to step k) and the locally allowed error probability as determined in step s), w) if the number determined in steps s) to v) is not smaller than the observed utility of the hypothesis considered for removal then this hypothesis is considered sufficiently bad with sufficient probability as required in step g)ii).
The general approach to designing a sampling method is to use an appropriate error probability bound to determine the required number of examples for a desired level of confidence and accuracy. When estimating a single probability, Chernoff bounds that are used in PAC theory and many other areas of statistics and computer science can be used to determine appropriate sample bounds [5]. When such algorithms are implemented, the Chernoff bounds can be replaced by tighter normal or t distribution tables.
Unfortunately, the straightforward extension of such approaches to selection or comparison problems like the n-best hypotheses problem leads to unreasonably large bounds: to avoid errors in the worst case, we have to take very large samples to recognize small differences in utility, even if the actual differences between hypotheses to be compared are very large. This problem is addressed by sequential sampling methods (that have also been referred to as adaptive sampling methods [1]). The idea of sequential sampling is that when a difference between two frequencies is very large after only a few examples, then we can conclude that one of the probabilities is greater than the other with high confidence; we need not wait for the sample size specified by the Chernoff bound, which we have to when the frequencies are similar. Sequential sampling methods have been reported to reduce the required sample size by several orders of magnitude (e.g., [2]).
In our method (see Table 1), we combine sequential sampling with the popular "loop reversal" technique found in many KDD algorithms. Instead of processing hypotheses one after another, and obtaining enough examples for each hypothesis to evaluate it sufficiently precisely, we keep obtaining examples (step 3b) and apply these to all remaining hypotheses simultaneously (step 3c). This strategy allows the algorithm to be easily implemented on top of database systems (assuming they are capable of drawing samples), and enables us to reach tighter bounds. After the statistics of each remaining hypothesis have been updated, the algorithm checks all remaining hypotheses and (step 3(e)i) outputs those where it can be sufficiently certain that the number of better hypotheses is no larger than the number of hypotheses still to be found (so they can all become solutions), or (step 3(e)ii) discards those hypotheses where it can be sufficiently certain that the number of better other hypotheses is at least the number of hypotheses still to be found (so it can be sure the current hypothesis does not need to be in the solutions). When the algorithm has gathered enough information to distinguish the good hypotheses that remain to be found from the bad ones with sufficient probability, it exits in step 3.
Indeed it can be shown that this strategy leads to a total error probability less than δ as required.
Table 1: Sequential sampling algorithm for the n-best hypotheses problem Algorithm Generic Sequential Sampling. Input: n (number of desired hypotheses), ε and δ (approximation and confidence parameters). Output: n approximately best hypotheses (with confidence 1 — δ).
1. Let n\ = n (the number of hypotheses that we still need to find) and Let Hx = H (the set of hypotheses that have, so far, neither been discarded nor accepted). Let Qo = Φ (no sample drawn yet). Let i = 1 (loop counter).
2. Let M be the smallest number such that E(M, -JX) < §.
3. Repeat until rii = 0 Or < §
(b) Query a random item of the database <&. Let Qi = Qi_ι U {qi}.
(c) Update the empirical utility / of the hypotheses in Hi.
(d) Let H be the rii hypotheses from Hi which maximize the empirical utility /.
(e) For h e Hi While n{ > 0 And \Ht\ > n{ ϊ. V f(h, Qd ≥ Ek(i, ^) + hk ™^H {ffaM + E h πfaή - e Ajid h e H* (h appears good) Then Output hypothesis h and then Delete h from Hi+i and let _i+ι = j — 1. Let H- be the new set of empirically best hypotheses. ii. Else If f(h, Qi) < Λ , {/(Λ*,Q ) - (* ap- pears poor) Then Delete h from Hi+i. Let H* be the new set of empirically best hypotheses.
(f) Increment i.
4. Output the rii hypotheses from Hi which have the highest empirical utility.
Theorem 1 The algorithm will output a group G of exactly n hypotheses such that, with confidence 1 - δ, no other hypothesis in Η has a utility which is more than ε higher than the utility of any hypothesis that has been returned: Pτ[3h € H \ G : /(Λ) > fmin x ε] < δ (2)
where fmin = minh'eG{f(h')}; assuming that I Hi > n.
The proof of Theorem 1 can be found in Appendix A.
Theorem 2 (Termination) If for any δ (0 < δ < 1) and ε > 0 there is a number m such that E(m,δ) ≤ ε, then the algorithm can be guaranteed to terminate.
Correctness of Theorem 2 follows immediately from Step 3e of the algorithm. Theorem 2 says that we can guarantee termination if the confidence interval vanishes for large numbers of examples. This is a rather weak assumption that is satisfied by most utility functions, as we will see in the next section.
4 Instantiations
In order to implement the algorithm for a given utility function we have to find a utility confidence interval E(m,δ) that satisfies Equation 1 for that specific f. In this section, we will introduce some terminology, and present a list of confidence intervals for the utility functions that are most commonly used in knowledge discovery systems. Since the database is constant, we abbreviate f(h,D) as f(h) throughout this section.
Most of the known utility functions refer to confidence, accuracy, "statistical unusualness", support or generality of hypotheses. Let us quickly put these terms into perspective. Association rules and classification rules are predictive; for some database transaction they predict the value of an attribute given the values of some other attributes. For instance, the rule "beer= 1 → chips= 1" predicts that a customer transaction with attribute beer= 1 will also likely have the attribute chips= 1. However, when a customer does not buy beer, then the rule does not make any prediction. In particular, the rule does not imply that a customer who does not buy beer does not buy chips either. The number of transactions in the database for which the rule makes a correct prediction (in our example, the number of transactions which include beer and chips) is called the support, or the generality.
Among those transitions for which the rule does make a prediction, some predictions may be erroneous. The confidence is the fraction of correct predictions among those transactions for which a prediction is made. The accuracy, too, quantifies the probability of a hypothesis conjecturing a correct attribute. However, the term accuracy is typically used in the context of classification and refers to the probability of a correct classification for a future transaction whereas the confidence refers to the database (i.e., the training data). From a sampling point of view, confidence and accuracy can be treated equally. In both cases, a relative frequency is measured on a small sample; from this frequency we want to derive claims on the underlying probability. It does not make a difference whether this probability is itself a frequency on a much larger instance space (confidence) or a "real" probability (accuracy), defined with respect to an underlying distribution on instances.
Subgroups are of a more descriptive character. They describe that the value of an attribute differs from the global mean value within a particular subgroup of transactions without actually conjecturing the value of that attribute for a new transaction. The generality of a subgroup is the fraction of all transactions in the database that belong to that subgroup. The term statistical unusualness refers to the difference between the probability p0 of an attribute in the whole database and the probability p of that attribute within the subgroup. Usually, subgroups are desired to be both general (large g) and statistically unusual (large I pO - pi ). There are many possible utility functions for subgroup discovery which trade generality against unusualness. Unfortunately, none of these functions can be expressed as the average (over all transactions) of an instance utility function. But, in Sections 4.2 through 4.4 we will show how instantiations of the GSS algorithm can solve sampling problems for these functions. We would like to conclude this subsection with a remark on whether a sample should be drawn with or without replacement. When the utility function is defined with respect to a finite database, it is, in principle, possible to draw the sample without replacement. When the sample size reaches the database size, we can be certain to have solved the real, not just the approximate, n best hypothesis problem. So it should be possible to give a tighter utility confidence bound when the sample is drawn without replacement. Consider the simple case when the utility is a probability. When the sample is drawn with replacement, the relative frequency corresponding to the target probability is governed by the binomial distribution whereas, when the sample is drawn without replacement, it is governed by the hyper-geometrical distribution and we can specify a tighter bound. However, for sample sizes in the order of magnitude that we envision, the only feasible way of calculating both the hyper-geometrical distribution and the binomial distribution is to use a normal approximation. But the normal approximation of both distributions are equal and so we cannot realize the small advantage that drawing without replacement seems to promise. The same situation arises with other utility functions.
4.1 Instance-Averaging Functions
This simplest form of a utility function is the average, over all example instances, of some instance utility function fmst(h,qι) where q, e D. The utility is then defined as
(the average over the whole database) and the estimated utility is
/(ft. Qm) — m ∑qiEQm Qi) (average over the example queries). An easy example of an instance-averaging utility is classification accuracy (where finst(h,q is 0 or 1). Besides being useful by itself, this class of utility functions serves as an introductory example of how confidence intervals can be derived. We assume that the possible range of utility values lies between 0 and A. In the case of classification accuracy, Λ equals one.
We can use the Hoeffding inequality to bound the chance that an arbitrary (bounded) random variable X takes a value which is faraway from its expected value E(X) (Equation 3). When X is a relative frequency and E(X) the corresponding probability, then we know that Λ =1. This special case of the Hoeffding inequality is called Chernoff's inequality.
ε2
Fr[\X - E(X) \ < ε] ≥ l - 2 eκp { -2m-rj } (3)
We now need to define a confidence interval that satisfies Equation 1, where the Hoeffding inequality serves as a tool to prove Equation 1. We can easily see that Equation 4 satisfies this condition.
In Equation 5 we insert Equation 4 into Equation 1. We apply the Hoeffding inequality (Equation 3) in Equation 6 and obtain the desired result in Equation 7. FT \f(h; Qm) - f(h)\ > E(m, δ)
For implementation purposes, the Hoeffding inequality is less suited since it is not very tight. For large m, we can replace the Hoeffding inequality by the normal distribution, referring to the central limit theorem. f(h,Qm) - f(h) is a random variable with mean value 0; we further know that f(h,Qm) is bounded between zero and Λ. In order to calculate the normal distribution, we need to refer to the true variance of our random variable. In step 3, the variance is not known since we do not refer to any particular hypothesis. We can only bound the variance from above and thus obtain a confidence interval E which is tighter than Hoeffding's/Chernoff's inequality and still satisfies Equation 1. f(h,Qm) is the average of m values, namely
m Jmst i Qi)-
The empirical variance
is maximized when
and the individual fιnst(h,qι) are zero for half the instances qi and Λ for the other half of all instances. In this case,
St ^ Λ
2sfm '
Consequently,
2 frTι(ft Qm)-tth)) A
is governed by the standard normal distribution which implies that Equation 8 satisfies Equation 1. z is the inverse standard normal distribution that can be looked up in a table.
In steps 3(e)i and 3(e)ii, we refer to specific hypotheses h and can therefore determine the empirical variance of ff Qm). We can define Eh(m,δ) as in Equation 10.
E(m, δ) = _£ 3Λ (9)
(10)
Note that we have simplified the situation a little. We have confused the true variance σ (the average squared distance from the true mean f(h)) and the empirical variance sh in Equation 10. The empirical variance possesses one degree of freedom less than the true variance and, to be quite accurate, we would have to refer to Student's t distribution rather than the normal distribution. Empirically, we observed that the algorithm does not start to output or discard any hypotheses until the sample size has reached the order of a hundred. In this region, Student's distribution can well be approximated by the normal distribution and we can keep this treatment (and the implementation) simple.
Let us now determine a worst-case bound on m (the number of queries that our sampling algorithm issues). The algorithm exits the for loop (at the latest) when
_5 (: TO. < I
2\H\ — 2 "
We can show that this is the case with certainty when
m > ^ 2Λ: log IN
In Equation 11, we expand our definition E. The Λ and log-terms cancel out in Equation 12; we can bound the confidence interval to ε/2 in Equation 13 as required for the algorithm to exit in step 3e.
ε
(13) 2 But note that our algorithm will generally terminate much earlier; firstly, because we use the normal distribution (for large m) rather than the Hoeffding approximation and, secondly, our sequential sampling approach will terminate much earlier when the n best hypotheses differ considerably from many of the \bad" hypotheses. The worst case occurs only when all hypotheses in the hypothesis space are equally good which makes it much more difficult to identify the n best ones.
4.2 Functions that are Linear in g and (p - p0)
The first class of nontrivial utility functions that we study weight the generality g of a subgroup and the deviation of the probability of a certain feature p from the default probability pO equally. Hence, these functions multiply generality and distributional unusualness of subgroups. Alternatively, we can use the absolute distance I p - p01 between probability p and default probability p0. The multi-class version of this function is
where p0ι is the default probability for class i.
Theorem 3 Let
■*■ /(ft) = g(p- Po) and /(ft, Q) = g(j) - pα) or
2. /(ft) = g\p - po| and /(ft, Q) = g|p - p0| or
Then Pr[\ (h, Qm) - f(h)\ < E(m, δ)]>l-δ when
lalT , : E(m,δ) = 3 * — 1 l 1og 7 4 y 2m o (14)
large m : E(m.δ) = J~4 I ^ i~4-' (15)
%/πi 4m Eh(m,δ) = ^-'(Sβ+Sp+^ -SfiSp) (16)
Proof. (3.1) In Equation 17, we insert Equation 14 into Equation 1. We refer to the union bound in Equation 18. Then, we exploit that ε2 ≤ ε for ε < 1 in Equation 19. The simple observation that g ≤ 1 and (p - p0) < 1 leads to Equation 20. Equations 21 and 22 are based on elementary transformations. In Equation 23, we refer to the union bound again. The key observation here is that ab cannot be greater than (c + ε) (d + ε) unless at least a>c + εorb>d + ε. The Chernoff inequality (which is a special case of the Hoeffding inequality 3 for Λ = 1) takes us to Equation 24.
< 2Pr P)-ff(p-Po)> (18)
< 2Pr (19)
< 2Pτ - po) - fl(p - Pθ)
< 2Pr poj-gip- o)
< 4 exp —2m ~ = δ (24)
2m °tf
Let us now prove the normal approximation of the above confidence bound. We start in Equation 25 by inserting Equation 16 into Equation 1. sg and sp denote the variances of g and p, respectively. We also cover Equation 15 in this proof. The variances can be bounded from above:
Hence,
S *ga " O Pr) ~r Z § SrtSm J *X ΔZj -7
We expand the definition of f and apply the union bound in Equation 26. Equation 27 follows from g < 1 and p - p0 < 1 and Equation 28 is just a factorization of
jξjf " Z _i.Sg.
Again, note that ab cannot be greater than (c + ε) (d + ε) unless a >c + ε or b > d + ε. Applying the union bound in 29 proves the claim.
Qm) - /(ft) I > Z _ g + sp 4- Z sSgSp)]
< 2Pr - Pu) ~ g(p - Pu) > +«ι-|(θfl + sp + (25)
< 2Pr - Po) ~ g( - Po) > 9Zi-i*8 + (P - Pα -f SP + ( -f J ssse (26)
< 2Pr - Po) > (fl + χsa) (P ~ Po + Si-iSp) (27)
< 2 (Fr g > g -r + Pr > + (28)
-(H)- (29)
This completes the proof for Theorem (3.1).
(3.2) Instead of having to estimate p, we need to estimate the random variable I p - Po 1 . We define sp to be the empirical variance of I p - p0 1 ■ Since this value is bounded between zero and one, all the arguments which we used in the last part of this proof apply analogously. (3.3) Here, the random variable is
This variable is also bounded between zero and one and so the proof is analogous to case (3.1). This completes the proof.
Theorem 4 For all function f(h) covered by Theorem 3, the sampling algorithm will terminate after at most
18 , 8\ m = — ε. log (30) δ database queries (but usually much earlier).
Proof. The algorithm terminates in step 3 when
^ [}ι 2\E\ J ≤ 2 " We will show that this is always the case when
i ≥ m = log ^L.
We insert the sample bound (Equation 30) into the definition of E for linear functions (Equation 14), after the log-terms rule out each other in Equation 31 we obtain the desired bound of ε/2.
This completes the proof. 4.3 Functions with squared terms
Squared terms [7] are introduced to put more emphasis on the difference between p and the default probability.
Theorem 5 Let
1. /(ft) = g2(j) - po) and /(ft, Q) = f(β - p0) or
& /(Λ) = g2\p - ol and /(ft, Q) = g2\p - pa\ or
3. /(ft) = ff2 J |ft - 0i | or
Then Pr[f(h, Qm) - /(ft, Q) < E(m, δ)} > 1 - δ when
small m : S(m, <S) (33)
large : E(m, δ) (34)
-3ft(ro, d)
Proof. (5.1) f(h) = g2(p - p0). As usual, we start in Equation 37 by combining the definition of E (Equation 33) with Equation 1 which specifies the property of E that we would like to prove. In Equation 37 we exploit that g < 1 and p - p0 < 1. In Equation 38 we add g2(p - p0) to both sides of the inequality an start factorizing. In Equation 39 we have identified three factors. The observation that a2b cannot be greater than (c + ε)(c +ε)(d + ε) unless at least a > c + ε or b > d + ε and the union bound lead to Equation 40; the Chernoff inequality completes this part of the proof. P
29iog) +(p-po) (- io ) 2o (37)
< 2Pr r(p-Pd)> fl + P~Po +
< 2 I Pr g-g> 1 1 i 4 4- Pr P-p>vil0gr] (40)
< 4exp{-2 (^log )}=δ (41)
Let us now look at the normal approximation. First, we will make sure that Equation 34 is a special case of Equation 35 (variance bounded from above). The variance of both g and p is at most
2ι m'
This takes us from Equation 35 to Equation 42. Equation 43 equals Equation 34.
2s<A-f + s (zιχf + SPZI- + 2sff Sp(sι-f )2 +
In Equation 44 we want to see if the normal approximation (Equation 35) satisfies the requirement of Equation 1. We add g2(p - p0) to both sides of the equation and start factorizing the right hand side of the inequality in Equations 45 and 46. The union bound takes us to Equation 47; Equation 48 proves the claim.
Pr[\f(KQm)-f(h)\>E(m,,δ)} (44) = P \g2iβ - Po) - (p - Po)| > 2sΛ_ + 4( _ )2 +sp 1_ + 2sgSp(z1_6_f -f jføi-f )3]
< 2Pr [g2(β - o) > (g2 + 2$e,«1_i + ( -|)2) (P + «-§)] (45)
< 2Fr [g2(p - po) > fø + _|) (S + V-f )( + Vι-§)] (46)
< 2 (Fr [5 - 5 > _ ] + Pr [p - p > i-*] ) (47)
(48)
This proves case (5.1). For cases (5.2) and (5.3), note that the random variables |p - Pol and τ;∑i=ιc(p— ;
(both bounded between zero and one) play the role of p and the proof is analogous to the first case (5.1).
Theorem 6 For all functions f(h) covered by Theorem 5, the sampling algorithm will terminate after at most
98 _ 8123* m = -r- log -L-=- 49) ε2 δ
Proof. The algorithm terminates in step 3 when
δ ε 32|iϊ|J — The utility functions of Theorem 5 are bounded between zero and one. Hence, we can assume that ε ≤ 1 since otherwise the algorithm might just return n arbitrarily poor hypotheses and still meet the requirements of Theorem 1. This means that the algorithm cannot exit until
(or n hypotheses have been returned). For
to be 1/2 or less, each of the three terms in Equation 33 has to be below 1. Note that if ε < 1 then ε2 < ε. We can therefore bound E as in Equation 51.
Now we will show that E lies below ε/2 when m reaches the bound described in Equation 49. We insert the sample bound into the exit criterion in Equation 52. The log-terms rule out each other and the result is ε/2 as desired.
This completes the proof. 4.4 Functions based on the binomial test
The Binomial test heuristic is based on elementary considerations. Suppose that the probability p is really equal to p0 (i.e., the corresponding subgroup is really uninteresting). How likely is it, that the subgroup with generality g displays a frequency of on the sample Q with a greater difference 1 - p01? For large I Q I x
9r ~ Po) is governed by the normal distribution with mean value of zero and variance at most
1 y "
The probability density function of the normal distribution is monotonic, and so the resulting confidence is order-equivalent to
(m being the support) which is factor equivalent to
Several variants of this utility function have been used.
Theorem 7 Let
- Po) or
■ /(Λ) = - Pol or
3. /(ft) = β~ ∑ i tø - p0i |.
Then Pr[\f(h, Qm) - /(h)| < E(m3 <5)] > 1 - δ when
Proof. (7.1) In Equation 57, we insert Equation 54 into Equation 1 (the definition of E). We refer to the union bound in Equation 58 and exploit that
As usual, we factor the right hand side of the inequality in Equation 59 and use the union bound in Equation 60. Now in Equation 61 we weaken the inequality a little. Note that
x > /x — y when y > 0.
Hence, subtracting the lengthy term in Equation 61 decreases the probability of the inequality (which we want to bound from above). The reason why we subtract this term is that we want to apply the binomial equation and factor
We do this in the following steps 62 and 63 which are perhaps a little hard to check without a computer algebra system. Adding
and taking both sides of the inequality to the square leads to Equation 64, the Chernoff inequality leads to the desired default of δ.
= 2Pr Po) - s( - o) > έl0 + V2il0g + (57)
1 4
+2 exp { —2m-— log (61)
I 2m δ
Now we still need to prove the normal approximations (Equations 55 and 56). As usual, we would like Equation 55 to be a special case of Equation 55 with the variances bounded from above. Equation 65 confirms that this is the case since
This derivation is quite analogous to the previous one. We multiply the terms on the right hand side by factor which are less or equal to one (Equation 67) and then factor the right hand side (Equation 68). We subtract a small number from
in Equation 69 and factor
in Equation 70 and Equation 71. Basic manipulations and the Chernoff inequality complete the proof in Equation 73.
Pr[\ (h,Qm)-f(h)\>E(mX)} < 2Pr ' Po) - (p - Po) > (66)
< 2Pr ff( ~ Po) - - (p - o)-V2ι-f + ss _ :!_ (67)
< > [ β + (P - Po + Vu-fSp) (68)
< azιχ + 2Pr [P-P> sPzιχ] (69)
< 2Pr δ (72)
+ 2
< 2Pr [§ - g > sfl«ι_ ] + = = rf (73)
This completes the proof for Theorem (7.1). The proofs of cases (7.2) and (7.2) are analogous; instead of p we need to estimate respectively. Both random variables are bounded between zero and one and so all our previous arguments apply. This completes the proof of Theorem 7.
Theorem 8 For all functions f(h) covered by Theorem 7, the sampling algorithm will terminate after at most
database queries (but usually much earlier).
Proof. Proving the last theorem was a little tiring, so let us first see how we can find a simpler bound for E (Equation 54) which will help us to prove a sample size bound without having to think too hard. The middle term of Equation 55 dominates the expression since, for ε < 1 it Is true that ε > > ε .
Hence, Equation 75 provides us with an easier bound.
The algorithm terminates in step 3 when
Considering the sample bound in Equation 74, Equation 76 proves that this is the case with guarantee. Note that, since we bounded the confidence interval quite sloppily, we expect the algorithm to terminate considerably earlier. £
This completes the proof.
4.5 Negative results
Several independent impurity criteria have led to utility functions which are factor-equivalent to
/(ft) = XX - Po) 2.
1-5 e.g., Gini diversity index and twoing criterion, and the chi-square test. Note that it is also order-equivalent to the utility measure used in Inferrule. Unfortunately, this utility function is not bounded and a few examples that have not been included in the sample can impose dramatic changes on the values of this function. This motivates our negative result.
Theorem 9 There is no algorithm that satisfies Theorem 1 when
Proof. We need to show that
is unbounded for any finite m. This is easy since
goes to infinity when g approaches 1 or 1 - ε (Equation 78).
g + ε 9 (78)
1 - tø + e) 1 - 5 fø + ε - l)tø - -L)
This implies that, even after an arbitrarily large sample has been observed (that is smaller than the whole database), the utility of a hypothesis with respect to the sample can be arbitrarily far from the true utility. But one may argue that
Λ demanding f(h,Q) to be within an additive constant ε is overly restricted. However, the picture does not change when we require f(h,Q) only to be within a multiplicative constant, since
goes to infinity when g + ε approach 1 or g approaches zero (Equation 79).
g + ε j § = (g + ε)(l - g) „
1 - fø + ε) 1 - g g(l - g - ε)
This means that no sample suffices to bound f(h,Qm) - f(h) with high confidence when a particular f(h,Qm) is measured. When a sampling algorithm uses all but very few database transactions as sample, then the few remaining examples may still impose huge changes on f(h,Qm) which renders the use of sampling algorithms prohibitive. This completes the proof.
5 Experiments
In our experiments, we want to study the order of magnitude of examples which are required by our algorithm for realistic tasks. Furthermore, we want to measure how much of an improvement our sequential sampling algorithm achieves over a static sampling algorithm that determines the sample size with worst-case bounds.
We implemented a simple subgroup discovery algorithm. Hypotheses consist of conjunctions of up to k attribute value tests. For discrete attributes, we allow tests for any of the possible values (e.g., "color=green"); we discretize all continuous attributes and allow for testing whether the value of such attributes lies in an interval (e.g., "size e[2.3, 5.8]").
We also implemented a non-sequential sampling algorithm in order to quantify the relative benefit of sequential sampling. The non-sequential algorithm determines a sample size M like our algorithm does in step 2, but using the full available error probability δ rather than only δ/2. Hence, the non-sequential sampling algorithm has a lower worst-case sample size than the sequential one but never exits or returns any hypothesis before that worst-case sample bound has been reached. Sequential and non-sequential sampling algorithm use the same normal approximation and come with identical guarantees on the quality of the returned solution.
For the first set of experiments, we used a database of 14,000 fruit juice purchase transactions. Each transaction is described by 29 attributes which specify properties of the purchased juice as well as attributes of the customer (e.g., age and job). The task is to identify subgroups of customers that differ from the overall average with respect to their preference for cans, recyclable bottles, or non-recyclable bottles. For this problem, we studied hypothesis spaces of size 288 (k = 1, hypotheses test one attribute for a particular value), 37,717 (k = 2, conjunctions of two tests), and 3,013,794 (k = 3, conjunctions of three tests). Since E has only a minor (logarithmic) influence on the resulting sample size, all results presented in Figure 1 were obtained with δ = 0.1. We varied the utility function; the target attribute has three possible values, so we used the utility functions = § ∑ i fa - p0 .
Figure 1 shows the sample size of the non-sequential algorithm as well as the sample size required before the sequential algorithm returned the first (out of ten) hypothesis and the sample size that the sequential algorithm required to return the last (tenth) hypothesis and terminate. In every single experiment that we run, the sequential sampling algorithm terminated significantly earlier than the non-sequential one, even though the latter possesses a lower worst-case sample bound. As " becomes small, the relative benefit of sequential sampling can reach orders of magnitude. Consider, for instance, the linear utility function and k = 1, ε = .1, δ = .1. We can return the first hypothesis after 9,800 examples whereas the non-sequential algorithm returns the solution only after 565,290 examples. The sample size of the sequential algorithm is still reasonable for k = 3 and we expect it not to grow too fast for larger values as the worst- case bound is logarithmic in I H I - i.e., linear in k.
For the second set of experiments, we used the data provided for the KDD cup 1998. The data contains 95,412 records that describe mailings by a veterans organization. Each record contains 481 attributes describing one recipient of a previous mailing. The target fields note whether the person responded and how high his donation to the organization was. Our task was to find large subgroups of recipients that were particularly likely (or unlikely) to respond (we used the attribute "Target B" as target and deleted "Target D"). We discretized all numeric attributes (using five discrete values); our hypothesis space consists of all 4492 attribute value tests.
Figure 2 displays the sample sizes that our sequential sampling algorithm, as well as the non-sequential sampling algorithm that comes with exactly the same guarantee regarding the quality of the solutions required. Note that we use a logarithmic (logio) scale on the y axis. Although it is fair to say that this is a large-scale problem, the sample sizes used by the sequential sampling algorithm are in a reasonable range for all three studied utility functions. Less than 10,000 examples are required when ε is as small as 0.002 for f = gl p - p01 and f = g2| p Po I and when ε is 0.05 for
The relative benegit of sequential over non-sequential sampling is quite signigicant. For instance, in Figure 2a (ε = 0.002) the non-sequential algorithm requires over 107 examples (of course, much more than are available) whereas the sequential one needs still less than 104.
6 Discussion and Related Results
Learning algorithms that require a number of examples which can be guaranteed to suffice for finding a nearly optimal hypothesis even in the worst case have early on been criticized as being impractical. Sequential learning techniques have been known in statistics for some time [6]. [3] have introduced sequential sampling techniques into the machine learning context by proposing the "Hoeffding Race" algorithm that combines loop-reversal with adaptive Hoeffding bounds. A general scheme for sequential local search with instance-averaging utility functions has been proposed by Greiner [2].
Sampling techniques are particularly needed in the context of knowledge discovery in databases where often much more data are available than can be processed. A non-sequential sampling algorithm for KDD has been presented by Toivonen [5]; a sequential algorithm by Domingo et al. [1]. A preliminary version of the algorithm presented in this paper has been discussed in [4]. This preliminary algorithm, however, did not use utility confidence bounds and its empirical behavior was less favorable than the behavior of the algorithm presented here. Our algorithm was inspired by the local searching algorithm of Greiner [2] but differs from it in a number of ways. The most important difference is that we refer to utility confidence bounds which makes it possible to handle all utility functions that can be estimated with bounded error even though they may not be an average across all instances. In classification learning, error probabilities are clearly the dominating utility criterion. This is probably the reason why all sampling algorithms that have been studied so far are restricted to instance averaging utility functions. In many areas of machine learning and knowledge discovery (such as association rule and subgroup discovery), instance averaging utility functions are clearly inappropriate. The sampling algorithm of Domingo et al. [1] allows for utility criteria which are a function (with bounded derivative) of an average over the instances. This, too, does not cover popular utility functions (such as g| p - Po l) which depend on two averages (g and I p - p0 l) across the instances. Our algorithm is more general and works for all utility criteria for which a confidence interval can be found. We presented a list of instantiations for the most popular utility function for knowledge discovery tasks and showed that there is no solution for one function. Another minor difference between our algorithm and the one of [1] is that (when the utility confidence bound vanishes) our algorithm can be guaranteed to terminate with certainty (not just high probability) when it has reached a worst-case sample size bound.
So far, learning and discovery algorithms return the best hypothesis or all hypotheses over a certain utility threshold. Often, in particular in the context of knowledge discovery tasks, a user is interested in being provided with a number of the best hypotheses. Our algorithm returns the n approximately best hypotheses.
The approach that we pursue differs from the (PAC-style) worst-case approach by requiring smaller samples in all cases that are distinct from the worst case (in which all hypotheses are equally good). Instead of operating with smaller samples, it is also possible to work with a fixed-size sample but guarantee a higher quality of the solution if the observed situation differs from this worst case. This is the general idea of shell decomposition bounds and self-bounding learning algorithms.
Although we have discussed our algorithm only in the context of knowledge discovery tasks, it should be noted that the problem which we address is relevant in a much wider context. A learning agent that actively collects data and searches for a hypothesis (perhaps a control policy) which maximizes its utility function has to decide at which point no further improvement can be achieved by collecting more data. The utility function of an intelligent agent will generally be more complicated than an average over the observations. Our sequential sampling algorithm provides a framework for solving such problems.
As it is stated currently, our algorithm represents all considered hypotheses explicitly. It can therefore only be applied practically when the hypothesis space is relatively small. This is the case for most knowledge discovery tasks. The space of all association rules or subgroups over a certain number of attributes (which grows singly exponential in the number of monomials allowed) is much smaller than, for instance, the space of all decision trees (growing doubly exponential). However, most hypothesis spaces possess a symmetric structure which renders it unnecessary to represent all hypotheses explicitly. Although there are 2n decision trees with n fixed leaf nodes it is trivial to assign optimal class labels in O(n) steps without representing all 2π alternatives. Similarly, the histogram of error rates of a set of decision trees or rule sets can be determined in time logarithmic in the number of hypotheses. We are confident that our sampling algorithm can be applied analogously for complex and structured hypothesis spaces without explicit representation of all hypotheses.
By giving worst-case bounds on the sample size (and proving that there is no sampling algorithm for some utility functions) our results also give an indication as to which of the many utility functions appear preferable from a sampling point of view.
References
[1] C. Domingo, R. Gavelda, and O. Watanabe. Adaptive sampling methods for scaling up knowledge discovery algorithms. Technical Report TR-C131, Dept. de LSI, Politecnica de Catalunya, 1999. [2] Russell Greiner. PALO: A probabilistic hill-climbing algorithm. Artificial Intelligence, 83(1-2), July 1996.
[3] O. Maron and A. Moore. Hoeffding races: Accelerating model selection search for classifocation and function approximating. In Advances in Neural Information Processing Systems, pages 59-66, 1994.
[4] T. Scheffer and S. Wrobel. A sequential sampling algorithm for a general class of utility functions. In Proceedings of the International Conference on Knowledge Discovery and Data Mining, 2000.
[5] H. Toivonen. Sampling large databases for association rules. In Proc. VLDB Conference, 1996.
[6] A. Wald. Sequential Analysis. Wiley, 1947.
[7] Stefan Wrobel. An algorithm for multi-relational discovery of subgroups. In Proc. First European Symposion on Principles of Data Mining and Knowledge Discovery (PKDD-97), pages 78-87, Berlin, 1997, and EP-A-0 887 749.

Claims

1. Method for sampling a database for obtaining the probably approximately n best hypotheses having the highest empirically utility of a group of potential hypotheses, comprising the steps of: a) generating all possible hypotheses based on specifications of a user as remaining hypotheses, b) checking whether enough data points were sampled so far to distinguish within the group of potential hypotheses all good looking hypotheses from bad looking hypotheses with sufficient confidence, c) if according to step b) enough data points were sampled so far then continue with step j) otherwise continue with step f), d) sampling one or more data points, e) calculating the utility of all the remaining hypotheses on the basis of the sampled data points, f) in the set of remaining hypotheses determining a set of good looking hypotheses by taking the n hypotheses that currently have the highest utility based on the data points sampled so far, whereas the other hypotheses are added to a set of bad looking hypotheses, g) checking each of the remaining hypotheses wherein i) if the currently considered hypothesis with sufficient probability is sufficiently good when compared to all bad looking hypotheses then outputting the currently considered hypothesis, removing the currently considered hypothesis from the set of remaining hypotheses and from the set of good looking hypotheses, decrementing the number of hypotheses still to be found and if the number of hypotheses still to be found is zero or the number of remaining hypotheses is equal to the number of hypotheses still to be found, then continue with step j), ii) if the currently considered hypotheses with sufficient probability is sufficiently bad when compared with all the good looking hypotheses then removing the currently considered hypothesis from the set of bad looking hypotheses from the set of remaining hypotheses and if the number of remaining hypotheses is equal to the number of hypotheses still to be found, then continue with step j), h) continue with step a), j) outputting to a user the n best hypotheses having the highest utility of all the remaining hypotheses.
2. Method according to claim 1, wherein in steps a), g)i) and g)ii) the following step k) is performed: k) determining a utility confidence interval given a required maximum probability of error and a sample size based on the observed variance of each hypothesis' utility value.
3. Method according to claim 2, wherein in step a) the following step I) is performed:
I) based on step k) determining the size of the utility confidence interval for the current data point sample size and the probability of error as selected by the user and dividing the size of the utility confidence interval by two and by the number of remaining hypotheses, wherein enough data points are sampled if the number as calculated above is smaller than the user selected maximum margin of error divided by two.
4. Method according to claim 2 or 3, wherein in step f)i) the following steps are performed: m) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step j) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, n) for each of the bad looking hypotheses, determine the sum of its observed utility value and its error confidence interval size as determined according to step k) for the current data point sample size and the locally allowed error probability error according to step m), o) selecting the maximum value of all the sums determined in step n), p) subtracting the user selected maximum error margin from the value selected in step o), q) adding to the number obtained in step p) the size of the error confidence interval as determined according to step k) for the hypothesis currently considered for outputting based on the current data point sample size and the locally allowed error probability, r) if the number determined according to steps m) to q) is no larger than the hypothesis currently considered for outputting and this hypothesis is a good looking one, then this hypothesis is considered sufficiently good with sufficient probability as required in step g)i).
5. Method according to any one of claims 2 to 4, wherein in step g)ii) the following steps are performed: s) determine a locally allowed error probability based on the probability of error selected by the user divided by two and the number of remaining hypotheses and the smallest data point sample size that makes the error confidence interval according to step k) smaller than or equal to the user selected maximum error margin when determined based on the user selected error probability divided by two and the size of the initial set of hypotheses, t) for each good looking hypothesis determine the difference between its observed utility value and its error confidence interval as determined in step k) based on the current data point sample size and the locally allowed error probability as determined in step s), u) selecting the minimum of all the differences determined in step t), v) subtract from the value selected in step u) the size of the utility confidence interval of the hypothesis considered for the removal and determined according to step k) and the locally allowed error probability as determined in step s), if the number determined in steps s) to v) is not smaller than the observed utility of the hypothesis considered for removal then this hypothesis is considered sufficiently bad with sufficient probability as required in step g)ii).
EP01960677A 2000-08-19 2001-08-18 Finding the most interesting patterns in a database quickly by using sequential sampling Expired - Lifetime EP1346293B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01960677A EP1346293B1 (en) 2000-08-19 2001-08-18 Finding the most interesting patterns in a database quickly by using sequential sampling

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP00117900 2000-08-19
EP00117900 2000-08-19
EP01960677A EP1346293B1 (en) 2000-08-19 2001-08-18 Finding the most interesting patterns in a database quickly by using sequential sampling
PCT/EP2001/009541 WO2002017133A2 (en) 2000-08-19 2001-08-18 Finding the most interesting patterns in a database quickly by using sequential sampling

Publications (2)

Publication Number Publication Date
EP1346293A2 true EP1346293A2 (en) 2003-09-24
EP1346293B1 EP1346293B1 (en) 2006-06-28

Family

ID=8169592

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01960677A Expired - Lifetime EP1346293B1 (en) 2000-08-19 2001-08-18 Finding the most interesting patterns in a database quickly by using sequential sampling

Country Status (5)

Country Link
US (1) US7136844B2 (en)
EP (1) EP1346293B1 (en)
AT (1) ATE331990T1 (en)
DE (1) DE60121214T2 (en)
WO (1) WO2002017133A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873724B2 (en) * 2003-12-05 2011-01-18 Microsoft Corporation Systems and methods for guiding allocation of computational resources in automated perceptual systems
US7440586B2 (en) * 2004-07-23 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Object classification using image segmentation
US8504606B2 (en) * 2005-11-09 2013-08-06 Tegic Communications Learner for resource constrained devices
US7716144B2 (en) * 2007-03-22 2010-05-11 Microsoft Corporation Consistent weighted sampling of multisets and distributions
US8412564B1 (en) * 2007-04-25 2013-04-02 Thomson Reuters System and method for identifying excellence within a profession
US7912946B2 (en) * 2008-01-25 2011-03-22 International Business Machines Corporation Method using footprints in system log files for monitoring transaction instances in real-time network
US7908365B2 (en) * 2008-01-25 2011-03-15 International Business Machines Corporation System using footprints in system log files for monitoring transaction instances in real-time network
CN111352840B (en) * 2020-02-28 2023-08-15 抖音视界有限公司 Online behavior risk assessment method, device, equipment and readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519608A (en) * 1993-06-24 1996-05-21 Xerox Corporation Method for extracting from a text corpus answers to questions stated in natural language by using linguistic analysis and hypothesis generation
GB9401816D0 (en) * 1994-01-31 1994-03-23 Mckee Neil H Accessing data held in large databases
US6278989B1 (en) * 1998-08-25 2001-08-21 Microsoft Corporation Histogram construction using adaptive random sampling with cross-validation for database systems
US6282570B1 (en) * 1998-12-07 2001-08-28 International Business Machines Corporation Monitoring a large parallel database through dynamic grouping and sequential sampling
US6532458B1 (en) * 1999-03-15 2003-03-11 Microsoft Corporation Sampling for database systems
US6542886B1 (en) * 1999-03-15 2003-04-01 Microsoft Corporation Sampling over joins for database systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0217133A3 *

Also Published As

Publication number Publication date
WO2002017133A3 (en) 2003-06-26
US20050114284A1 (en) 2005-05-26
US7136844B2 (en) 2006-11-14
DE60121214T2 (en) 2007-05-24
DE60121214D1 (en) 2006-08-10
ATE331990T1 (en) 2006-07-15
WO2002017133A2 (en) 2002-02-28
EP1346293B1 (en) 2006-06-28

Similar Documents

Publication Publication Date Title
Scheffer et al. Finding the most interesting patterns in a database quickly by using sequential sampling
US8005769B2 (en) Computer-implemented method of generating association rules from data stream and data mining system
US6931418B1 (en) Method and system for partial-order analysis of multi-dimensional data
Jin et al. Data discretization unification
US7177854B2 (en) Dynamic update cube and hybrid query search method for range-sum queries
US7647293B2 (en) Detecting correlation from data
Ghoting et al. Loaded: Link-based outlier and anomaly detection in evolving data sets
US5713016A (en) Process and system for determining relevance
US7577638B2 (en) Sampling for queries
US8762393B2 (en) Method and system of clustering for multi-dimensional data streams
US5787424A (en) Process and system for recursive document retrieval
US20040003004A1 (en) Time-bound database tuning
US7149735B2 (en) String predicate selectivity estimation
EP1346293A2 (en) Finding the most interesting patterns in a database quickly by using sequential sampling
Pagallo et al. Two algorithms that learn DNF by discovering relevant features
Bhat et al. Finding aliases on the web using latent semantic analysis
Lin et al. Interactive mining of probabilistic frequent patterns in uncertain databases
Minartz et al. Multivariate correlations discovery in static and streaming data
US10482128B2 (en) Scalable approach to information-theoretic string similarity using a guaranteed rank threshold
Meretakis et al. A study on the performance of large bayes classifier
Gotoh et al. Topic-based mixture language modelling
Wang et al. Near-linear time local polynomial nonparametric estimation with box kernels
Müller Selected problems in cardinality estimation
Pan Differentially-private Continual Releases against Dynamic Databases
Jamil et al. Recognizing credible experts in inaccurate databases

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030215

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DERANGEWAND

17Q First examination report despatched

Effective date: 20031217

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060628

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20060628

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060628

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 60121214

Country of ref document: DE

Date of ref document: 20060810

Kind code of ref document: P

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060818

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060928

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060928

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20061009

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: HEPP, WENGER & RYFFEL AG

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20061128

ET Fr: translation filed
NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWAN

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20070329

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060929

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060628

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060818

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060628

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 16

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 18

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 60121214

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20200825

Year of fee payment: 20

Ref country code: DE

Payment date: 20200824

Year of fee payment: 20

Ref country code: FR

Payment date: 20200820

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 20200819

Year of fee payment: 20

Ref country code: CH

Payment date: 20200825

Year of fee payment: 20

Ref country code: BE

Payment date: 20200820

Year of fee payment: 20

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 60121214

Country of ref document: DE

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20210817

REG Reference to a national code

Ref country code: BE

Ref legal event code: MK

Effective date: 20210818

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK07

Ref document number: 331990

Country of ref document: AT

Kind code of ref document: T

Effective date: 20210818

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20210817