In the mathematical theory of probability, the Indian buffet process (IBP) is a stochastic process defining a probability distribution over sparse binary matrices with a finite number of rows and an infinite number of columns.
This distribution is suitable to use as a prior for models with potentially infinite number of features.
The form of the prior ensures that only a finite number of features will be present in any finite set of observations but more features may appear as more data points are observed.
binary matrix indicating the presence or absence of a latent feature.
The IBP places the following prior on
is the number of non-zero columns in
is the number of ones in column
-th harmonic number, and
is the number of new dishes sampled by the
controls the expected number of features present in each observation.
In the Indian buffet process, the rows of
correspond to customers and the columns correspond to dishes in an infinitely long buffet.
The first customer takes the first
-th customer then takes dishes that have been previously sampled with probability
is the number of people who have already sampled dish
This process is infinitely exchangeable for an equivalence class of binary matrices defined by a left-ordered many-to-one function.
is obtained by ordering the columns of the binary matrix
from left to right by the magnitude of the binary number expressed by that column, taking the first row as the most significant bit.