Apa yang dimaksud dengan gradient-log-normalizer?

9

Di wiki, fungsi softmax didefinisikan sebagai gradient-log-normalizer dari distribusi probabilitas kategorikal . Penjelasan parsial untuk log-normalizer ditemukan di sini , tetapi apa yang dimaksud dengan gradient-log-normalizer ?

tashuhka
sumber

Jawaban:

5

Menggunakan notasi dari halaman wikipedia ( https://en.wikipedia.org/wiki/Exponential_family ), keluarga eksponensial adalah keluarga distribusi probabilitas yang memiliki pmfs / pdf yang dapat ditulis sebagai (mencatat bahwa , dapat berupa nilai vektor): mana adalah parameter alami, adalah statistik yang cukup, dan adalah penormalkan log (kadang-kadang disebut fungsi partisi log). Alasan disebut log normalizer, karena dapat diverifikasi bahwa, dalam kasus berkelanjutan, untuk ini menjadi pdf yang valid, kita harus memiliki θx

fθ(x)=h(x)exp[η(θ)Tt(x)A(θ)]
η(θ)=ηt(x)A(θ)A(θ)
A(θ)=log[h(x)exp[η(θ)Tt(x)]dx],
dan dalam kasus terpisah, untuk ini menjadi pmf yang valid , kita harus memiliki Dalam setiap kasus kami perhatikan bahwa dan adalah konstanta normalisasi dari distribusi, oleh karena itu nama log normalizer.
SEBUAH(θ)=catatan[xh(x)exp[η(θ)Tt(x)]].
h(x)exp[η(θ)Tt(x)]dxxh(x)exp[η(θ)Tt(x)]

Sekarang untuk melihat hubungan spesifik antara fungsi softmax dan distribusi dimensi , kita harus menggunakan parameterisasi spesifik dari distribusi. Yaitu, biarkan menjadi sedemikian rupa sehingga dan , dan tentukan (membiarkan ). PMF untuk distribusi ini adalah (membiarkan menjadi satu vektor panas, yaitu dan untuk ): kθ1,,θk-10<θ1,,θk-1saya=1k-1θsaya<1θk=1-saya=1k-1θsayaθ=(θ1,,θk)x=(x1,,xk)xsaya=1xj=0sayaj

fθ(x)=saya=1kθsayaxsaya.
Untuk menulis ini sebagai keluarga eksponensial, perhatikan bahwa , , , dan , jadi: h(x)=1η(θ)=(catatan[θ1/θk],,catatan[θk-1/θk],0)t(x)=(x1,,xk)A(θ)=log[θk]
fθ(x)=exp[(log[θ1/θk],,log[θk1/θk],0)T(x1,,xk)(log[θk])].

Sekarang mari kita menulis , sehingga kita dapat menulis . Kemudian log normalizer menjadi Mengambil turunan parsial sehubungan dengan , kami menemukan mengungkapkan bahwa gradien log normalizer memang fungsi softmax: η(θi)=log[θi/θk]=ηsayaθsaya=eηsayaj=1keηj

SEBUAH(η)=-catatan[eηkj=1keηj]=-catatan[1j=1keηj]=catatan[j=1keηj].
ηsaya
ηiA(η)=eηij=1keηj,
A(η)=[eη1j=1keηj,,eηkj=1keηj].
aleshing
sumber
Wow!! Itu penjelasan yang bagus dan sepenuhnya masuk akal. Terima kasih :)
tashuhka
Saya sudah lama mencari derivasi ini! Saya bertanya-tanya, dalam konteks apa Anda harus mengembangkan pengetahuan ini? Apakah Anda melihat ini sebagai bagian dari kursus atau buku teks? Saya terus mencari referensi untuk hubungan ini di internet tetapi tidak ada yang benar-benar memberikan detailnya.
zipzapboing
1
@zipzapboing Saya sebenarnya tidak tahu properti softmax ini sampai saya melihat pertanyaan OP! Namun saya memang memiliki kursus statistik tingkat casella dan berger (di mana keluarga eksponensial dan beberapa properti lainnya diperkenalkan) di bawah ikat pinggang saya, yang memungkinkan saya untuk mengetahui bahwa membuktikan properti tidak akan sulit dengan parameterisasi yang tepat.
aleshing