Efficient algorithms for modifying and sampling from a categorical distribution

06/27/2019
by   Daniel Tang, et al.
0

Probabilistic programming languages and other machine learning applications often require samples to be generated from a categorical distribution where the probability of each one of n categories is specified as a parameter. If the parameters are hyper-parameters then they need to be modified, however, current implementations of categorical distributions take O(n) time to modify a parameter. If n is large and the parameters are being frequently modified, this can become prohibitive. Here we present the insight that a Huffman tree is an efficient data structure for representing categorical distributions and present algorithms to generate samples as well as add, delete and modify categories in O((n)) time. We demonstrate that the time to sample from the distribution remains, in practice, within a few percent of the theoretical optimal value. The same algorithm may also be useful in the context of adaptive Huffman coding where computational efficiency is important.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/03/2016

Categorical Reparameterization with Gumbel-Softmax

Categorical variables are a natural choice for representing discrete str...
research
04/07/2022

Categorical Distributions of Maximum Entropy under Marginal Constraints

The estimation of categorical distributions under marginal constraints s...
research
04/05/2022

Free gs-monoidal categories and free Markov categories

Categorical probability has recently seen significant advances through t...
research
10/13/2018

Categorical Aspects of Parameter Learning

Parameter learning is the technique for obtaining the probabilistic para...
research
04/28/2022

On the Normalizing Constant of the Continuous Categorical Distribution

Probability distributions supported on the simplex enjoy a wide range of...
research
12/14/2020

Morphology on categorical distributions

The categorical distribution is a natural representation of uncertainty ...

Please sign up or login with your details

Forgot password? Click here to reset