Gizli Dirichlet Tahsisi ile bir dağıtım kutusunun şaşkınlığı nasıl hesaplanır?


18

Gizli Dirichlet Tahsisi (LDA) yaparken bir sınırlama örneğinin şaşkınlığını nasıl hesaplayacağım konusunda kafam karıştı. Konuyla ilgili yazılar, bana belirgin bir şeyi kaçırdığımı düşündürüyor ...

Şaşkınlık, LDA için iyi bir performans ölçüsü olarak görülmektedir. Fikir, bir ayırma örneği tutmanız, LDA'nızı verilerin geri kalanında eğitmeniz ve ardından ayırmanın şaşkınlığını hesaplamanızdır.

Şaşkınlık şu formülle verilebilir:

per(Dtest)=exp{d=1Mlogp(wd)d=1MNd}

( Büyük ölçekli görüntü veritabanlarında Görüntü erişiminden alınan Horster ve ark. .)

Burada doküman sayısı, (test numunesinde muhtemelen,) nin ağırlık d , dokümanlardaki kelime temsil d , N d belge sözcük sayısını dMwddNdd .

P ( w d ) ' nin mantıklı bir şekilde nasıl hesaplanacağı net değilp(wd)Bekletilen belgeler için konu karışımlarımız olmadığından, değil. İdeal olarak, tüm olası konu karışımları için Dirichlet'in üzerine entegre olur ve öğrendiğimiz multinomiyalleri kullanırız. Ancak bu integrali hesaplamak kolay bir iş gibi görünmüyor.

Alternatif olarak, dışarıda tutulan her belge için (öğrenilen konularımız verildiğinde) en uygun konu karışımını öğrenmeye çalışabilir ve bunu şaşkınlığı hesaplamak için kullanabiliriz. Bu yapılabilir, ancak Horter et al ve Blei et al gibi kağıtların önerdiği kadar önemsiz değildir ve sonucun yukarıdaki ideal duruma eşdeğer olacağı hemen açık değildir.

Yanıtlar:


17

Bu gerçekten de sık sık göz ardı edilen bir şey.

Bazı insanlar biraz arsız bir şey yapıyorlar: her belgedeki kelimelerin bir kısmını tutmak ve belge-konu karışımlarının yanı sıra konu-kelime karışımları göz önüne alındığında, bu tutulan kelimelerin tahmini olasılıklarını kullanarak vermek. Bekletilen belgelerdeki performansı değerlendirmediği için bu kesinlikle ideal değildir.

Bekletilen belgelerle doğru şekilde yapmak için, önerildiği gibi, "olası tüm konu karışımları için Dirichlet'in üzerine entegre olmanız" gerekir. http://people.cs.umass.edu/~wallach/talks/evaluation.pdf Bu biraz hoş olmayan integralle başa çıkmak için birkaç yöntemi gözden geçiriyor. Aslında bunu kendim denemek ve uygulamak üzereyim, çok iyi şanslar!


3
Bu soruyu araştırdığınız için teşekkürler! Wallach ve arkadaşlarının ayrıca konu modeli değerlendirmeleri hakkında bir makalesi vardır: Konu modelleri için değerlendirme yöntemleri
drevicko

1
Telaşa gerek yok. MALLET konu modelleme araç kutusunda Wallach'ın soldan sağa yöntemi için bazı kodlar buldum, eğer LDA uygulamasını kullanmaktan memnunsanız, bir sette çalıştırmak çok kolay görünmese de kolay bir kazanç LDA'nın farklı bir varyantından başka bir yerde öğrenilen konular, bu benim yapmak istediğim şey. Chib tarzı tahmincisi kağıtlarını bir rehber olarak tedarik ettikleri matlab kodunu kullanarak uyguladım, ancak bunu yaparken birkaç sorunu düzeltmek zorunda kaldım, kodu istiyorsanız bana bildirin.
Matt

Merhaba @Matt bana LDA şaşkınlık değerlendirme için matlab kod teslim etmek mümkün mü? Teşekkürler
persia prensesi

@princessofpersia Yazarın matlab koduyla bahsettiğim problemi çözdüğünü düşünüyorum, buraya bakın: homepages.inf.ed.ac.uk/imurray2/pub/09etm
Matt

0

LDA parametrelerinin Varyasyonel Çıkarım yoluyla tahmin edildiğini biliyoruz. Yani

logp(w|α,β)=E[logp(θ,z,w|α,β)]E[logq(θ,z)]+D(q(θ,z)||p(θ,z))

D(q(θ,z)||p(θ,z))=0logp(w|α,β)=E[logp(θ,z,w|α,β)]E[logq(θ,z)]

logp(w|α,β)


1
Test setindeki şaşkınlığın gerçekte nasıl hesaplanacağı konusunda daha spesifik olacak şekilde cevabı geliştirmenin mümkün olduğunu düşünüyorum.
Momo
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.