Venn Predictor

Venn Predictor (or Venn Machine) is a multiprobability classification system. The term multiprobability means that we announce several probability distributions for the new label rather than a single one.

Venn Predictor divides the old examples into categories, puts the current examples into one of the categories, and then uses the frequencies of labels in the chosen category as probabilities for the current object's label.

We observe a sequence of examples, where each example is a pair (object, label). Objects are drawn from a measurable space called the object space, xnX, and labels are drawn from a measurable space called the label space, ynY . Their cartesian product, Z=X×Y is called the example space.

Venn Predictor deals with the case of classification, i.e., the case when Y is finite. Let us consider a general multiprobability prediction protocol. At each step of the protocol Reality announces xnX , Predictor announces PnP(Y) (where P(Y) is the set of all probability distributions on Y), and then Reality announces ynY.

To define Venn Predictor formally, we need to introduce the concept of taxonomy. This is a sequence An,n=1,2,, where each An is a measurable finite partition of the set Zn-1×Z. We write An(ω) for the element of the partition An that contains ωZn-1×Z. Venn Predictor can be defined for every taxonomy {An}n. Let us consider the case when we have observed examples (x1,y1),(x2,y2),,(xn-1,yn-1) and a new object, xn. We denote zi:=(xi,yi). Let us consider the case when the current object has label y and let us write (for now) zn=(xn,y). At each step of the protocol Venn Predictor divides the examples z1,,zn into categories assigning zi and zj to the same category if and only if An({z1,,zi-1,zi+1,,zn},zi)=An({z1,,zj-1,zj+1,,zn},zj), where {z1,,zn} denotes a multiset (a bag), i.e., a set of elements where each element has a multiplicity, i.e., a natural number indicating how many memberships it has in the multiset.

The category T containing zn=(xn,y) is nonempty (it contains at least this one element). Let py be the empirical probability distribution on the labels in this category: py(yʹ):={(x*,y*)T:y*=yʹ}T; this is a probability distribution on Y. Venn Predictor determined by taxonomy {An}n is the multiprobability predictor Pn:={py:yY}. The set Pn consists of between one and Y distinct probability distributions on Y.

There are many Venn Predictors, one for each taxonomy. Some of them perform better then the others on particular datasets.