¿Qué es el gradiente-log-normalizador?

9

En la wiki, la función softmax se define como el gradiente-log-normalizador de la distribución de probabilidad categórica . Aquí se encuentra una explicación parcial del log-normalizador , pero ¿qué significa gradiente-log-normalizador ?

tashuhka
fuente

Respuestas:

5

Usando la notación de la página de wikipedia ( https://en.wikipedia.org/wiki/Exponential_family ), una familia exponencial es una familia de distribuciones de probabilidad que tienen pmfs / pdfs que se pueden escribir como (notando que , puede ser valor vectorial): donde son los parámetros naturales, son las estadísticas suficientes, y A (\ theta) es el normalizador de registro (a veces llamado la función de partición de registro). La razón por la que A (\ theta) se llama normalizador de registro, ya que se puede verificar que, en el caso continuo, para que este sea un pdf válido, debemos tener θx

fθ(x)=h(x)exp[η(θ)Tt(x)A(θ)]
η(θ)=ηt(x)A(θ)A(θ)
A(θ)=log[h(x)exp[η(θ)Tt(x)]dx],
y en el caso discreto, para que sea un pmf válido , debemos tener
A(θ)=log[xh(x)exp[η(θ)Tt(x)]].
En cada caso, notamos que h(x)exp[η(θ)Tt(x)]dx y xh(x)exp[η(θ)Tt(x)] son las constantes de normalización de las distribuciones, de ahí el nombre normalizador de registro.

Ahora para ver la relación específica entre la función softmax y la distribución categórica dimensional, tendremos que usar una parametrización específica de la distribución. Es decir, deje que sea ​​tal que y , y define (dejando ). El pmf para esta distribución es (dejando que sea ​​un vector caliente, es decir, y para ): kθ1,,θk10<θ1,,θk1i=1k1θi<1θk=1i=1k1θiθ=(θ1,,θk)x=(x1,,xk)xi=1xj=0ij

fθ(x)=i=1kθixi.
Para escribir esto como una familia exponencial, tenga en cuenta que , , y , entonces: h(x)=1η(θ)=(log[θ1/θk],,log[θk1/θk],0)t(x)=(x1,,xk)A(θ)=log[θk]
fθ(x)=exp[(log[θ1/θk],,log[θk1/θk],0)T(x1,,xk)(log[θk])].

Ahora vamos a escribir sugestivamente , para que podamos escribir . Entonces el normalizador de registro se convierte en Tomando la derivada parcial con respecto a , encontramos revelando que el gradiente del normalizador de registro es de hecho la función softmax: η(θi)=log[θi/θk]=ηiθi=eηij=1keηj

A(η)=log[eηkj=1keηj]=log[1j=1keηj]=log[j=1keηj].
ηi
ηiA(η)=eηij=1keηj,
A(η)=[eη1j=1keηj,,eηkj=1keηj].
aleshing
fuente
¡¡Guau!! Esa fue una gran explicación y tiene total sentido. Gracias :)
tashuhka
¡He estado buscando esta derivación durante mucho tiempo! Me pregunto, ¿en qué contexto tuvo que desarrollar este conocimiento? ¿Viste esto como parte de un curso o libro de texto? Seguí encontrando referencias a esta relación en Internet, pero en realidad nadie dio los detalles.
zipzapboing
1
@zipzapboing ¡En realidad no conocía esta propiedad del softmax hasta que vi la pregunta de OP! Sin embargo, tuve un curso de estadísticas de nivel de Casella y Berger (donde se introducen familias exponenciales y algunas de sus otras propiedades), lo que me permitió saber que probar la propiedad no sería tan difícil con la parametrización correcta.
aleshing