Categorical Distribution¶
Categorical distributions over finite sets.
This module provides: - Categorical: Distribution over n states with probabilities summing to 1 - Bernoulli: Special case for binary variables (equivalent to Categorical(2)) - Bernoullis: Product of n independent Bernoulli distributions
Class Hierarchy¶
Categorical¶
- class Categorical(n_categories: int)[source]¶
Bases:
AnalyticCategorical distribution over \(n\) states.
The categorical distribution describes discrete probability distributions over \(n\) states with probabilities \(\eta_i\) where \(\sum_{i=0}^n \eta_i = 1\).
\[p(k; \eta) = \eta_k\]As an exponential family:
Base measure: \(\mu(k) = 0\)
Sufficient statistic: One-hot encoding for \(k > 0\)
Log partition: \(\psi(\theta) = \log(1 + \sum_{i=1}^d e^{\theta_i})\)
Negative entropy: \(\phi(\eta) = \sum_{i=0}^d \eta_i \log(\eta_i)\)
- from_probs(probs: Array) Array[source]¶
Construct the mean parameters from the complete probabilities, dropping the first element.
- sufficient_statistic(x: Array) Array[source]¶
Compute the sufficient statistic \(\mathbf{s}(x)\) of an observation.
- log_partition_function(params: Array) Array[source]¶
Compute the log-partition function \(\psi\) at the given natural parameters.