org.knowceans.dirichlet.sandbox
Class StickBreakingProcess
java.lang.Object
org.knowceans.dirichlet.sandbox.StickBreakingProcess
public class StickBreakingProcess
- extends java.lang.Object
StickBreakingProcess implements Sethurahman's stick breaking process (SBP),
which can be described as follows: A stick of length b is broken into two
parts whose lengths are distributed according to a beta distribution b'_k ~
Beta(1, gamma) with a concentration parameter gamma.
The SBP is a metaphor for the masses of the clusters that a Dirichlet process
samples into: Sampling from a G ~ DP(gamma, G0) can be imagined as chosing
either a known sample theta_k from the base measure G0 or, depending on the
concentration parameter gamma, picking a new sample theta_K+1 ~ G0 from the
base measure, with the sample index k and the total number of distinct
observed states K. The likelihoods of the resulting states (infinitely
growing in number as infinitely many new data points are observed) are
described by the SBP: G = sum_k beta_k delta(theta_k) with the Kronecker (or
Dirac?) delta representing a spike in the pdf at theta_k.
Teh at al.'s paper "Hierarchical Dirichlet Processes" in NIPS17 has a good
overview presentation of the DP and its metaphors. Further information on the
properties can be found in Navarro et al.'s paper on "Modelling individual
differences using Dirichlet processes" (preprint for J. Math. Psych ., 2005),
aside from the original, but rather complex derivations by Blackwell and
MacQueen (1973), Fergusson (1973) and Antoniak (1974).
- Author:
- heinrich
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StickBreakingProcess
public StickBreakingProcess()