Multinomial-Dirichlet model ที่มีการแจกแจง hyperprior ในพารามิเตอร์ความเข้มข้น


10

ฉันจะพยายามอธิบายปัญหาในมือโดยทั่วไปที่สุด ฉันกำลังสร้างแบบจำลองการสังเกตเป็นการกระจายอย่างมีนัยสำคัญกับพารามิเตอร์ความน่าจะเป็นเวกเตอร์ทีต้า

จากนั้นผมถือว่า theta พารามิเตอร์เวกเตอร์ต่อไปนี้ก่อน Dirichletกระจายกับพารามิเตอร์\α1,α2,,αk

เป็นไปได้หรือไม่ที่จะกำหนดให้มีการแจกแจงเหนือพารามิเตอร์ ? มันจะต้องเป็นการกระจายหลายตัวแปรเช่นการแจกแจงแบบแบ่งหมวดหมู่และแบบดิริชเล็ตหรือไม่? ดูเหมือนว่าอัลฟาจะเป็นบวกเสมอดังนั้นแกมม่าไฮเพอร์ไพน์จึงควรทำงานα1,α2,,αk

ไม่แน่ใจว่ามีใครลองปรับรุ่น overparametrized (อาจจะ) แต่ดูเหมือนว่าสมเหตุสมผลสำหรับฉันที่จะคิดว่าอัลฟ่าไม่ควรได้รับการแก้ไข แต่มาจากการกระจายแกมม่า

โปรดพยายามให้ข้อมูลอ้างอิงบางอย่างแก่ฉัน, ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่ฉันสามารถลองวิธีการดังกล่าวในทางปฏิบัติ


ใช่มันเป็นไปได้และมันได้ทำไปแล้ว โดยทั่วไปเรียกว่าแบบจำลองลำดับชั้นแบบเบย์ โดยเฉพาะอย่างยิ่งก่อนหน้านี้ควรคำนึงถึงการพึ่งพาที่เป็นไปได้

@Procrastinator ขอบคุณ คุณมีการอ้างอิงสำหรับโมเดลลำดับชั้นแบบเบย์ที่ดีในการจัดการกับแบบจำลองนี้หรือไม่? ขอบคุณ
Dnaiel

@Procrastinator: คุณเคยได้รับเอกสาร / รายงานหรือเอกสารเกี่ยวกับการสมัครงานเกี่ยวกับแบบจำลองลำดับชั้นแบบเบย์หรือไม่?
Zhubarb

คำตอบ:


12

ฉันไม่คิดว่านี่เป็นรูปแบบ "เกินจริง" ฉันจะเถียงว่าโดยการวางตำแหน่งก่อนหน้า Dirichlet paramaters คุณกำลังมุ่งมั่นน้อยลงเกี่ยวกับผลลัพธ์เฉพาะใด ๆ โดยเฉพาะอย่างยิ่งที่คุณรู้สำหรับการแจกแจงสมมาตร dirichlet (เช่น ) การตั้งค่า ) ให้ความน่าจะเป็นก่อนการกระจายพหุคูณแบบพหุนามในขณะที่ให้ความน่าจะเป็นมากกว่า การแจกแจงมัลติโนเมียลที่ราบรื่น α < 1 α > 1α1=α2=...αKα<1α>1

ในกรณีที่ไม่มีความคาดหวังที่แข็งแกร่งสำหรับการกระจายแบบหลายจุดแบบกระจายหรือแบบหนาแน่นการวาง hyperprior เหนือการกระจายของ Dirichlet ทำให้แบบจำลองของคุณเพิ่มความยืดหยุ่นในการเลือกระหว่างพวกเขา

ตอนแรกฉันมีความคิดที่จะทำสิ่งนี้จากบทความนี้ Hyperprior ที่พวกเขาใช้นั้นแตกต่างจากที่คุณแนะนำเล็กน้อย พวกเขาสุ่มตัวอย่างความน่าจะเป็นเวกเตอร์จาก dirichlet จากนั้นขยายสเกลด้วยการดึงจากเลขชี้กำลัง (หรือแกมม่า) ดังนั้นรูปแบบคือ

βDirichlet(1)λExponential()θDirichlet(βλ)

Dirichlet พิเศษนั้นใช้เพื่อหลีกเลี่ยงความสมมาตร

ฉันเคยเห็นผู้คนใช้ Gamma ไฮเปอร์ก่อนหน้าสำหรับ Dirichlet ในบริบทของโมเดลมาร์คอฟที่ซ่อนเร้นด้วยการแจกแจงการกระจายแบบหลายช่องทาง แต่ดูเหมือนฉันไม่สามารถหาข้อมูลอ้างอิงได้ นอกจากนี้ดูเหมือนว่าฉันได้พบ hypers ที่คล้ายกันที่ใช้ในโมเดลหัวข้อ


ขอบคุณคำตอบที่ดี! ฉันมีการติดตาม Q สั้น ๆ แบบจำลองนี้จะอนุญาตให้มีความแปรปรวนที่แตกต่างกันสำหรับแต่ละครั้งหรือไม่ ฉันมีคำถามนี้เนื่องจากพารามิเตอร์แลมบ์ดาถูกใช้ร่วมกันในทุกแท็กดังนั้นพวกเขาจึงใช้พารามิเตอร์การปรับขนาดเดียวกันทั้งหมดดังนั้นฉันจึงสงสัยว่าในกรณีของการกระจายเกินจริงแบบจำลองจะให้ความยืดหยุ่นเช่นนั้น ปรีชา / ความรู้ของคุณที่นี่ได้รับการชื่นชมอย่างมาก! ขอบคุณ!
Dnaiel

@Naiaiel บอกฉันว่าฉันเข้าใจผิดคำถามของคุณหรือไม่ แต่ใช่ด้วย dirichlet แบบสมมาตรก่อนหน้าพูดดึงออกมาจากการแจกแจงนั้นมีแนวโน้มที่จะสร้างเวกเตอร์เบาบางโดยกระจัดกระจายฉันหมายความว่าถ้าคุณจะพล็อตเวกเตอร์เป็นฮิสโตแกรมมันจะสูงมากแทนที่จะแบน ในแบบจำลองเหนือ Dirichlet พารามิเตอร์ไม่สมมาตรเพราะพารามิเตอร์ถูกดึงมาจาก dirichlet hyperprior θ θ บีตาDirichlet(0.2,0.2,0.2,0.2)θθβ
jerad

4

เพื่อสาธิตวิธีการแก้ปัญหา hyperprior นี้ฉันใช้โมเดลแกมม่า - ดิริเชต - มัลติโนเมียลใน PyMC3 แบบลำดับชั้น แกมมาก่อนสำหรับ Dirichlet มีการระบุและการเก็บตัวอย่างต่อบล็อกโพสต์เท็ดการติดตามหนี้ของ

แบบจำลองที่ฉันนำไปใช้สามารถพบได้ในส่วนสำคัญนี้แต่ก็อธิบายไว้ด้านล่าง:

นี่คือรูปแบบลำดับชั้นแบบเบส์ (การรวมกำไร) สำหรับการจัดเรตภาพยนตร์ ภาพยนตร์แต่ละเรื่องสามารถได้รับการจัดระดับจากศูนย์ถึงห้า ภาพยนตร์แต่ละเรื่องถูกจัดอันดับหลายครั้ง เราต้องการค้นหาการให้คะแนนที่ราบรื่นสำหรับภาพยนตร์แต่ละเรื่อง

เราจะเรียนรู้การกระจายก่อนหน้าระดับบนสุด (hyperprior) ในการจัดอันดับภาพยนตร์จากข้อมูล ภาพยนตร์แต่ละเรื่องจะมีภาพยนตร์ของตัวเองก่อนที่จะถูกทำให้ราบรื่นโดยระดับบนสุดนี้ก่อน อีกวิธีหนึ่งในการคิดเกี่ยวกับเรื่องนี้คือการจัดอันดับก่อนหน้าสำหรับภาพยนตร์แต่ละเรื่องจะถูกย่อลงสู่ระดับกลุ่มหรือกลุ่มที่รวมกลุ่มกัน

หากภาพยนตร์มีการแจกแจงแบบผิดปรกติวิธีนี้จะลดระดับการจัดอันดับไปเป็นสิ่งที่สอดคล้องกับสิ่งที่คาดหวัง นอกจากนี้การเรียนรู้ก่อนหน้านี้จะเป็นประโยชน์ในการบูตภาพยนตร์ด้วยการให้คะแนนเล็กน้อยเพื่อให้พวกเขามีความหมายเมื่อเปรียบเทียบกับภาพยนตร์ที่มีเรตติ้งมากมาย

รูปแบบดังต่อไปนี้:

γk=1...KGamma(α,β)

θm=1...MDirichletM(cγ1,...,cγK)

zm=1...M,n=1...NmCategoricalM(θm)

ที่อยู่:

  • KK=6
  • M
  • Nmm
  • α=1/K
  • β
  • c
  • γkk
  • θmK
  • zmnnm

1

นี่คือการสร้างแบบจำลองคอนจูเกตแบบเบส์โดยตรงก่อน ส่วนขยายตามธรรมชาติจากรุ่นเบต้า - ทวินาม ทรัพยากรที่ดีสำหรับเรื่องนี้อาจจะมาจากหนังสือ และด้านหลังก็เป็น Dirichlet และด้วยเหตุนี้การจำลองจาก dirichlet จึงให้บทสรุปที่จำเป็น


1
ขอบคุณ ฉันคุ้นเคยกับหนังสือเล่มนี้อ้างอิงที่ดีมาก ฉันลองดูมัน แต่พวกเขาไม่ได้จัดทำโมเดลลำดับชั้นแบบ Multinomial เช่นนั้นโดยตรง แต่พวกเขามีแนวคิดที่ดีมากมายที่สามารถนำไปใช้ได้
Dnaiel

1
dirichlet-multinomial เป็นรูปแบบคอนจูเกต แต่ op สอบถามเกี่ยวกับ (ไฮเปอร์ -) ก่อนหน้าพารามิเตอร์ของ Dirichlet ไม่มีคอนจูเกตมาตรฐานมาก่อนสำหรับการแจกแจงดีริชเลต์แม้ว่าจะต้องมีอยู่จริงๆ เพราะมันเป็นสมาชิกของตระกูลเลขชี้กำลัง
jerad
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.