¿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 ?

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].

¡¡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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.