Median trick

From testwiki
Jump to navigation Jump to search

The median trick is a generic approach that increases the chances of a probabilistic algorithm to succeed.Template:Sfn Apparently first used in 1986Template:Sfn by Jerrum et al.Template:Sfn for approximate counting algorithms, the technique was later applied to a broad selection of classification and regression problems.Template:Sfn

The idea of median trick is very simple: run the randomized algorithm with numeric output multiple times, and use the median of the obtained results as a final answer. For example, if an algorithm takes a set of data as input, and has sublinear runtime, then the same algorithm can be run repeatedly (or in parallel) over randomly sampled subsets of input data, and, per Chernoff inequality, the median of the results will converge to solution rapidly.Template:Sfn Similarly, for the algorithms that are sublinear in space (e.g., counting the distinct elements of a stream), different randomizations of the algorithm (say, with different hash functions) may be used for repeated runs over the same data.Template:Sfn

Statement

Given a set of independent random variables X1,…,Xn, and an unknown deterministic number Y.

Suppose that each random variable Xi falls within [Y±ϵ] with probability ≥p where p>1/2 is a constant, then the median trick states that Med(Xi)∈[Y±ϵ] with probability ≥1−e−2n(p−1/2)2.

In other words, in order to ensure that Y∈[Med(Xi)±ϵ] with probability ≥1−δ, it suffices to use ln⁡1δ2(p−1/2)2 samples.

Template:Math proof

References

Template:Reflist

Sources

Template:Algorithm-stub