Distribution#
StructuredDistribution#
- class supar.structs.dist.StructuredDistribution(scores: Tensor, **kwargs)[source]#
Base class for structured distribution \(p(y)\) Eisner 2016,Goodman 1999,Li & Eisner (2009).
- Parameters:
scores (torch.Tensor) – Log potentials, also for high-order cases.
- property log_partition#
Computes the log partition function of the distribution \(p(y)\).
- property marginals#
Computes marginal probabilities of the distribution \(p(y)\).
- property max#
Computes the max score of the distribution \(p(y)\).
- property argmax#
Computes \(\arg\max_y p(y)\) of the distribution \(p(y)\).
- property mode#
Returns the mode of the distribution.
- sample()[source]#
Obtains a structured sample from the distribution \(y \sim p(y)\). TODO: multi-sampling.
- property entropy#
Computes entropy \(H[p]\) of the distribution \(p(y)\).
- cross_entropy(other: StructuredDistribution) Tensor [source]#
Computes cross-entropy \(H[p,q]\) of self and another distribution.
- Parameters:
other (StructuredDistribution) – Comparison distribution.
- kl(other: StructuredDistribution) Tensor [source]#
Computes KL-divergence \(KL[p \parallel q]=H[p,q]-H[p]\) of self and another distribution.
- Parameters:
other (StructuredDistribution) – Comparison distribution.