Günlük alanındaki ayrık (kategorik) bir dağıtımdan nasıl örnek alabilirim?


12

vektörü tarafından tanımlanan ayrık bir dağılımım olduğunu varsayalım böylece kategori olasılık vb. çizilir . Daha sonra dağıtımdaki bazı değerlerin o kadar küçük olduğunu keşfettim ki bilgisayarımın kayan noktalı sayı gösterimini alt üst ediyorlar, bu yüzden telafi etmek için tüm hesaplamalarımı log-space'de yapıyorum. Şimdi bir log-space vektör . 0θ0,θ1,...,θN0θ0log(θ0),log(θ1),...,log(θN)

Orijinal olasılıkları tutabilecek şekilde (kategori olasılık ile çizilmiş ) ancak hiç log-space bırakmadan dağıtımdan örnekleme yapmak mümkün müdür ? Başka bir deyişle, bu dağıtımdan taşma olmadan nasıl örnek alabilirim?iθi

Yanıtlar:


15

Gumbel-max hile kullanarak log alanı bırakmadan log olasılıkları verilen kategorik dağılımdan örnekleme yapmak mümkündür . Fikir, eğer normal olmayan günlük olasılıkları , softmax işlevi kullanılarak uygun olasılıklara çevrilebilirα1,,αk

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

bu tür bir dağıtımdan örnek almak için, , konumu ile parametrelenen standart Gumbel dağılımından alınan bağımsız örnekler ise ,g1,,gkG(0)m

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

sonra gösterilebilir (aşağıdaki referanslara bakın)

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

ve alabiliriz

z=argmaxi{gi+αi}

olasılıkları ile kategorize edilen kategorik dağılım parametrelerinden bir örnek olarak . Bu yaklaşım ile blog girişlerinde daha ayrıntılı olarak nitelendirildi Ryan Adams ve Laurent Dinh , dahası Chris J. Maddison, Daniel Tarlow ve Tom Minka bir speach verdi ( slaytlar üzerine) Sinir Bilgi İşleme Sistemleri konferansında (2014) başlıklı bir makale yazdı A * Bu fikirleri genelleştiren örnekleme (ayrıca bkz. Maddison, 2016; Maddison, Mnih ve Teh, 2016; Jang ve Poole, 2016), Yellott'a (1977) bu mülkü ilk tarif edenlerden biri olarak bahsetmektedir.p1,,pk

O kullanarak uygulamak oldukça kolaydır örnekleme dönüşümü ters alarak nereye üzerinde düzgün dağılımdaki çizer vardır . Kesinlikle kategorik dağıtımdan örnekleme için en zaman tasarruflu algoritmalar değildir, ancak bazı senaryolarda bir avantaj olabilecek log-space'de kalmanıza izin verir.gi=log(logui)ui(0,1)


Maddison, CJ, Tarlow, D. ve Minka, T. (2014). A * örnekleme. [İç:] Sinir Bilgi İşleme Sistemlerindeki Gelişmeler (s. 3086-3094).

Yellott, JI (1977). Luce'ın seçim aksiyomu, Thurstone'un karşılaştırmalı yargı teorisi ve çifte üstel dağılım arasındaki ilişki. Matematiksel Psikoloji Dergisi, 15 (2), 109-144.

Maddison, CJ, Mnih, A. ve Teh, YW (2016). Beton Dağılımı: Ayrık Rasgele Değişkenlerin Sürekli Gevşemesi. arXiv ön baskı arXiv: 1611.00712.

Jang, E., Gu, S. ve Poole, B. (2016). Gumbel-Softmax ile Kategorik Yeniden Parametreleme. arXiv ön baskı arXiv: 1611.01144.

Maddison, CJ (2016). Monte Carlo için bir Poisson süreç modeli. arXiv ön baskı arXiv: 1602.05986.


5

Aşağıda, taşma / taşmayı önlemenin yaygın bir yolu vardır.

Let .m=maxilog(θi)

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

den örnek alabilirsiniz .θ=[θ1,θ2,...]


1
Bu, herhangi bir değer ile maksimum arasındaki fark çok büyük olmadığı sürece çalışır - bu olduğunda, exphassasiyet kaybedebilir ve [1.0, 3.45e-66, 0.0, 7.54e-121] gibi dağıtımlara yol açabilir. . Bu durumda bile sağlam bir cevap beklemek istiyorum. Ama şimdilik cevabınızı onaylıyorum.
Josh Hansen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.