¿Cómo tomo muestras de una distribución discreta (categórica) en el espacio de registro?

12

Supongamos que tengo una distribución discreta definida por el vector modo que la categoría se dibujará con probabilidad \ theta_0 y así sucesivamente. Luego descubro que algunos de los valores en la distribución son tan pequeños que desbordan la representación de números de coma flotante de mi computadora, por lo que, para compensar, hago todos mis cálculos en el espacio logarítmico. Ahora tengo un log de vector de espacio de registro (\ theta_0), log (\ theta_1), ..., log (\ theta_N) .θ0,θ1,...,θN0θ0log(θ0),log(θ1),...,log(θN)

¿Es posible tomar muestras de la distribución de manera tal que se mantengan las probabilidades originales (la categoría i se dibuja con probabilidad θi ) pero sin abandonar el espacio logarítmico? En otras palabras, ¿cómo tomo muestras de esta distribución sin desbordamientos?

Josh Hansen
fuente

Respuestas:

15

Es posible tomar muestras de la distribución categórica dadas las probabilidades de registro sin dejar espacio de registro utilizando el truco Gumbel-max . La idea es que si se le dan probabilidades de registro no normalizadas α1,,αk , eso se puede traducir a las probabilidades apropiadas usando la función softmax

pi=exp(αi)jexp(αj)

luego, para tomar muestras de dicha distribución, puede usar el hecho de que si g_1, \ dots, g_k \ sim \ mathcal {G} (0)g1,,gkG(0) son muestras independientes tomadas de la distribución estándar de Gumbel parametrizada por la ubicación m ,

F(Gg)=exp(exp(g+m))

entonces se puede mostrar (ver referencias a continuación) que

argmaxi{gi+αi}exp(αi)jexp(αj)maxi{gi+αi}G(logiexp{αi})

y podemos tomar

z=argmaxi{gi+αi}

como una muestra de distribución categórica parametrizada por probabilidades. Este enfoque fue descrito con mayor detalle en las entradas de blog de Ryan Adams y Laurent Dinh ; además, Chris J. Maddison, Daniel Tarlow y Tom Minka dieron un discurso ( diapositivas ) sobre la conferencia de Sistemas de Procesamiento de Información Neural (2014) y escribieron un artículo titulado A * Muestreo que generalizó esas ideas (ver también Maddison, 2016; Maddison, Mnih y Teh, 2016; Jang y Poole, 2016), quienes se refieren a Yellott (1977) mencionando el suyo como uno de los que primero describieron esta propiedad.p1,,pk

Es bastante fácil implementarlo usando el muestreo de transformación inversa tomando donde se extrae de la distribución uniforme en . Ciertamente, no son los algoritmos más eficientes en tiempo para el muestreo de la distribución categórica, pero le permite permanecer en el espacio logarítmico, lo que puede ser una ventaja en algunos escenarios.u i ( 0 , 1 )gi=log(logui)ui(0,1)


Maddison, CJ, Tarlow, D. y Minka, T. (2014). A * muestreo. [En:] Avances en los sistemas de procesamiento de información neuronal (pp. 3086-3094).

Yellott, JI (1977). La relación entre el axioma de elección de Luce, la teoría del juicio comparativo de Thurstone y la doble distribución exponencial. Revista de psicología matemática, 15 (2), 109-144.

Maddison, CJ, Mnih, A. y Teh, YW (2016). La distribución concreta: una relajación continua de variables aleatorias discretas. preimpresión arXiv arXiv: 1611.00712.

Jang, E., Gu, S. y Poole, B. (2016). Reparametrización categórica con Gumbel-Softmax. preimpresión de arXiv arXiv: 1611.01144.

Maddison, CJ (2016). Un modelo de proceso de Poisson para Monte Carlo. preimpresión arXiv arXiv: 1602.05986.

Tim
fuente
5

Aquí hay una forma común de evitar el desbordamiento / desbordamiento.

Deje .m=maxilog(θi)

Let .θi=exp(log(θi)m)

Puede muestrear desde .θ=[θ1,θ2,...]

Siddharth Gopal
fuente
1
Esto funciona siempre que la diferencia entre un valor cualquiera y el valor máximo no sea demasiado grande. Cuando eso sucede, exppuede perder precisión y generar distribuciones como [1.0, 3.45e-66, 0.0, 7.54e-121] . Me gustaría esperar una respuesta que sea robusta incluso en ese caso. Pero por ahora estoy votando tu respuesta.
Josh Hansen