A maximum-entropy (exponential-form) model on a large sample space.
The model expectations are not computed exactly (by summing or integrating over a sample space) but approximately (by Monte Carlo estimation). Approximation is necessary when the sample space is too large to sum or integrate over in practice, like a continuous sample space in more than about 4 dimensions or a large discrete space like all possible sentences in a natural language.
Approximating the expectations by sampling requires an instrumental distribution that should be close to the model for fast convergence. The tails should be fatter than the model.
Methods
beginlogging(filename[, freq]) | Enable logging params for each fn evaluation to files named ‘filename.freq.pickle’, ‘filename.(2*freq).pickle’, ... |
clearcache() | Clears the interim results of computations depending on the |
crossentropy(fx[, log_prior_x, base]) | Returns the cross entropy H(q, p) of the empirical |
dual([params, ignorepenalty, ignoretest]) | Computes the Lagrangian dual L(theta) of the entropy of the |
endlogging() | Stop logging param values whenever setparams() is called. |
entropydual([params, ignorepenalty, ignoretest]) | Computes the Lagrangian dual L(theta) of the entropy of the |
estimate() | This function approximates both the feature expectation vector |
expectations() | Estimates the feature expectations E_p[f(X)] under the current |
fit(K[, algorithm]) | Fit the maxent model p whose feature expectations are given |
grad([params, ignorepenalty]) | Computes or estimates the gradient of the entropy dual. |
log(params) | This method is called every iteration during the optimization process. |
lognormconst() | Estimate the normalization constant (partition function) using |
logparams() | Saves the model parameters if logging has been |
logpdf(fx[, log_prior_x]) | Returns the log of the estimated density p(x) = p_theta(x) at the point x. |
normconst() | Returns the normalization constant, or partition function, for the current model. |
pdf(fx) | Returns the estimated density p_theta(x) at the point x with feature statistic fx = f(x). |
pdf_function() | Returns the estimated density p_theta(x) as a function p(f) taking a vector f = f(x) of feature statistics at any point x. |
resample() | (Re)samples the matrix F of sample features. |
reset([numfeatures]) | Resets the parameters self.params to zero, clearing the cache variables dependent on them. |
setcallback([callback, callback_dual, ...]) | Sets callback functions to be called every iteration, every function evaluation, or every gradient evaluation. |
setparams(params) | Set the parameter vector to params, replacing the existing parameters. |
setsampleFgen(sampler[, staticsample]) | Initializes the Monte Carlo sampler to use the supplied |
setsmooth(sigma) | Specifies that the entropy dual and gradient should be computed with a quadratic penalty term on magnitude of the parameters. |
settestsamples(F_list, logprob_list[, ...]) | Requests that the model be tested every ‘testevery’ iterations |
stochapprox(K) | Tries to fit the model to the feature expectations K using |
test() | Estimate the dual and gradient on the external samples, keeping track of the parameters that yield the minimum such dual. |