liveBook · Manning

Categorical distribution

As explained in Causal AI

Categorical is a Pyro distribution object representing a categorical probability distribution.

A categorical distribution models a discrete outcome selected from a finite set of categories. The categories may be named values such as ice cream, frozen yogurt, and sherbet, or encoded as indices such as 0, 1, and 2. Its parameters assign a probability to each possible outcome. section 2.1.7

Categorical distributions are discrete: their probability distribution function gives P(X = x) for a specific outcome. A Bernoulli distribution is the two-outcome special case, while a discrete uniform distribution assigns equal probability to every category. section 2.1.7

Constructing and sampling a Pyro distribution

In Pyro, provide category probabilities as a tensor: Categorical(probs=torch.tensor([.45, .30, .25])). Calling .sample() randomly generates one category index, such as tensor(1.). Repeated calls can produce different outputs. section 2.1.7 section 2.2.2

Listing 2.3 Canonical parameters in Pyro
import torch
from pyro.distributions import Bernoulli, Categorical, Gamma, Normal    #1

print(Categorical(probs=torch.tensor([.45, .30, .25])))    #2
print(Normal(loc=0.0, scale=1.0))
print(Bernoulli(probs=0.4))
print(Gamma(concentration=1.0, rate=2.0))

Use the Pyro parameter listing to compare Categorical with Bernoulli, Normal, and Gamma distribution objects. section 2.1.7

How Causal AI covers it

How deep it goes
Defines categories, probabilities, discrete notation, and Pyro sampling, but does not develop categorical inference or parameter estimation.
Examples
Uses food categories, probabilities [.45, .30, .25], Pyro construction, and sampled indices such as tensor(1.).
What it assumes
Assumes familiarity with discrete outcomes and probability notation while distinguishing discrete probabilities from continuous densities.
What you can do after
Apply it via Pyro by constructing a Categorical object with probabilities and calling sample() for random category generation.
How it connects
Connects categorical distributions to Bernoulli distributions, discrete uniform distributions, probability distribution functions, and random generation.

Also explained in

Compare how 3 books explain categorical distribution →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Causal AI. The section links point to the parts of the book it draws on.