> On Mar 8, 2016, at 9:49 PM, Andrew Gelman <
gel...@stat.columbia.edu> wrote:
>
> Hi I don’t know if this will help, but . . .
>
>
> 1. MML vs GMO
>
> MML is a goal. GMO is an algorithm.
>
> MML is marginal maximum likelihood (more generally, marginal maximum penalized likelihood). GMO is gradient-based marginal optimization, an algorithm (or class of algorithms) for reaching the MML solution using a particular approach to computing a simulation-based estimate of the gradient of the marginal likelihood function. The GMO algorithm is similar to the ADVI algorithm in that it approximates the gradient directly, in contrast to the usual MML algorithms with approximate the marginal lilkelihood and then go from there. It turns out it can make sense to go for the gradient directly, as we can then make use of the path sampling identity.
>
> MML is to GMO as VB is to ADVI.
If I understood all the correctiosn to my language earlier,
MML is just this bit
phi* = argmax_phi p(phi | y)
and the following bit is something I shouldn't call "MML":
alpha* = argmax_alpha p(alpha, phi* | y)
but which has no name.
> 2. Averaging and optimization in GMO
>
> Conditional on the hyperparameters, GMO computes a simulation-based estimate of the gradient of the marginal likelihood. This is the gradient of an integral, thus an integral of a gradient, thus it’s an integral. But the way we simulation-estimate this integral is to start with a conditional mode-based approximation. That’s why I say that GMO has an external optiimzation routine and an internal optimization routine. Really, it has an internal numerical integration routine, but it operates by first performing a conditional optimization. It would be possible to run GMO without doing an internal optimzation; for example, the internal integral could be estimated using Nuts. I’ve just been assuming that the mode-based approximation will be faster.
>
> So, the internal integration is a necessary part of GMO. The internal optimzation is not necessary, but it’s how we’ve been doing things. The internal optimization is only there as a way to set up the internal integration.
I also got that part of the algorithm, at least at a high
level, by analogy to ADVI, which Alp wrote in language I
could follow.
But I thought GMO went even further in taking the MML + alpha* thing
point estimate (phi*, alpha*) and created a multivariate normal
approximation of the unconstrained posterior with mean (phi*, alpha*)
and covariance given by the inverse Hessian at (phi*, alpha*).
Then you take a bunch of draws from that multivariate normal and
importance weight them, then transform back to the constrained space.
Now if I take the importance-weighted average of the constrained draws,
I'm not guaranteed to get (phi*, alpha*) as the posterior mean.
So that'd be a rather different algorithm than MML. But
ADVI really is just an algorithm for computing a particular
variational approximation and otherwise, the solution is the
usual variational approximation.
- Bob
>
>
>> On Mar 8, 2016, at 5:25 PM, Michael Betancourt <
betan...@gmail.com> wrote:
>>
>>
>>> I asked Andrew how GMO was different from MML and didn't
>>> understand the response (we've been going in circles in email
>>> on the same topic --- statisticians and computer scientists
>>> don't speak the same pseudocode).
>>>
>>> I asked Andrew why he wanted GMO when we had ADVI and
>>> I think it came down to his not understanding and/or trusting
>>> ADVI (Andrew's comments are always subtly hedged, so I'm
>>> sure I'm doing him and ADVI a disservice trying to summarize).
>>
>> 1) The two algorithms answer two different questions.
>>
>> ADVI tries to estimate _all_ marginal _means_.
>>
>> MML tries to estimate _any_ marginal expectation with
>> respect to _a few chosen parameters_ (typically hyperparameters
>> in a hierarchical model).
>>
>> 2) Consequently the two algorithms lives on different points
>> of the speed/accuracy frontier. Which is better for a given
>> application depends on the details of that application, which
>> means we’re entering into “expert-level knowledge needed”
>> territory.
>
>