convex optimization problem, as we show in Appendix A. There we also give a closed- form gradient and Hessian for the GLYPH<22>$_{h}$ update, as well as closed-form gradients for the 6$_{h}$ update under two different parametrizations. To finish with empirical Bayes, we explain how to obtain approximate MLEs O GLYPH<16> and O GLYPH<127> . Notice the variational inference procedure (13) yields an optimal value GLYPH<21> GLYPH<3> for fixed GLYPH<16> and GLYPH<127> . We alternate this variational inference step with a complementary optimization over GLYPH<16> and GLYPH<127> . In fact, these optimizations constitute a version of the expectation-maximization (EM) algorithm for computing MLEs. The standard E-step, where we compute the posterior expected complete log likelihood, is replaced with a variational E-step, where the expected complete log likelihood is approximated using q .GLYPH<12>$_{1:}$$_{H}$ j GLYPH<21> $^{GLYPH<3>}$/ . The variational EM algorithm alternates between the following steps until O GLYPH<16> , O GLYPH<127> , and the variational parameters stabilize: It can be shown that the variational E-step finds a new value of GLYPH<21> which moves the lower- bounding function L .GLYPH<21> I GLYPH<16> ; GLYPH<127>/ towards the true log-likelihood log p . D j GLYPH<16> ; GLYPH<127>/ from below. The M-step maximizes this adjusted lower-bounding function over GLYPH<16> and GLYPH<127> , as a surro- gate for the true log-likelihood. We then re-tighten and re-maximize until convergence. Appendix A gives details on initialization and the M-step update. Fully Bayesian inference in the mixed multinomial logit model requires calculations under the posterior p .GLYPH<12>$_{1:}$$_{H}$ ; GLYPH<16> ; GLYPH<127> j D / given in (7). In one sense, the setting is simpler than empir- ical Bayes: there are no unknown top-level parameters to estimate. All we need is to extend the previous section’s variational inference procedure to include GLYPH<16> and GLYPH<127> . Appendix A.4 9 3.2 Variational hierarchical Bayes E-step (variational). Using the current O GLYPH<16> and O GLYPH<127> , run the block coordinate ascent algorithm as described in Appendix A, yielding new variational parameter values f GLYPH<22> GLYPH<3> 1: $_{H}$; 6 GLYPH<3> 1: $_{H}$g . M-step. Using the current variational parameter values, update the empirical Bayes pa- rameter estimates: . O GLYPH<16> ; O GLYPH<127>/ argmax$_{GLYPH<16> ;GLYPH<127>}$ L .GLYPH<22> GLYPH<3> 1: $_{H}$; 6 GLYPH<3> 1: $_{H}$I GLYPH<16> ; GLYPH<127>/ .