ทำไมอัลกอริทึม EM จึงจำเป็นต้องทำซ้ำ?


9

สมมติว่าคุณมีประชากรที่มีหน่วยแต่ละคนมีตัวแปรสุ่มแลมบ์ดา) คุณสังเกตn = N-n_0ค่าสำหรับหน่วยใด ๆ ที่x_i> 0 เราต้องการการประมาณการของ\ แลมบ์ดาNXiPoisson(λ)n=Nn0Xi>0λ

มีวิธีการสักครู่และวิธีหาโอกาสสูงสุดแบบมีเงื่อนไขในการรับคำตอบ แต่ฉันต้องการลองใช้อัลกอริทึม EM ฉันได้อัลกอริทึม EM เป็น

Q(λ1,λ)=λ(n+nexp(λ1)1)+log(λ)i=1nxi+K,
ที่1 subscript บ่งบอกถึงค่าจากการวนซ้ำก่อนหน้าของอัลกอริทึมและKเป็นค่าคงที่ด้วยความเคารพ พารามิเตอร์ (จริง ๆ แล้วฉันคิดว่าnในเศษส่วนในวงเล็บควรเป็นn+1แต่ดูเหมือนจะไม่ถูกต้องเป็นคำถามอีกครั้ง)

เพื่อให้เป็นรูปธรรมนี้สมมติว่าn=10 , xi=2020 แน่นอนว่าNและn0ไม่มีการตรวจสอบและλจะถูกประเมิน

เมื่อฉันทำซ้ำฟังก์ชันต่อไปนี้เสียบค่าสูงสุดของการทำซ้ำก่อนหน้านี้ฉันได้คำตอบที่ถูกต้อง (ตรวจสอบโดย CML, MOM และการจำลองแบบง่าย):

EmFunc <- function(lambda, lambda0){
  -lambda * (10 + 10 / (exp(lambda0) - 1)) + 20 * log(lambda)
}

lambda0 <- 2
lambda  <- 1

while(abs(lambda - lambda0) > 0.0001){
  lambda0 <- lambda
  iter    <- optimize(EmFunc, lambda0 = lambda0, c(0,4), maximum = TRUE)
  lambda  <- iter$maximum
}

> iter
$maximum
[1] 1.593573

$objective
[1] -10.68045

แต่นี่เป็นปัญหาง่ายๆ มาเพิ่มให้สูงสุดโดยไม่ทำซ้ำ:

MaxFunc <- function(lambda){
  -lambda * (10 + 10 / (exp(lambda) - 1)) + 20 * log(lambda)
}

optimize(MaxFunc, c(0,4), maximum = TRUE)
$maximum
[1] 2.393027

$objective
[1] -8.884968

ค่าของฟังก์ชั่นสูงกว่าในขั้นตอนการทำซ้ำและผลลัพธ์ที่ไม่สอดคล้องกับวิธีการอื่น ๆ เหตุใดขั้นตอนที่สองจึงให้คำตอบที่แตกต่างและ (ฉันเข้าใจ) คำตอบที่ไม่ถูกต้อง

คำตอบ:


6

เมื่อคุณพบฟังก์ชันวัตถุประสงค์ของคุณสำหรับอัลกอริทึม EM ฉันถือว่าคุณปฏิบัติต่อจำนวนหน่วยด้วยซึ่งฉันจะเรียกเป็นพารามิเตอร์แฝงของคุณ ในกรณีนี้ผม (อีกครั้ง) สมมติแสดงให้เห็นถึงรูปแบบการลดลงของมูลค่าที่คาดว่าจะมากกว่าของความเป็นไปได้ให้1} นี้ไม่ได้เป็นเช่นเดียวกับความน่าจะเต็มเพราะที่เป็น treadted ตามที่กำหนดxi=0yQy λ1λ1

ดังนั้นคุณไม่สามารถใช้สำหรับโอกาสเต็มรูปแบบเนื่องจากมันไม่มีข้อมูลเกี่ยวกับการเปลี่ยนเปลี่ยนการกระจายของ (และคุณต้องการเลือกค่าที่มีโอกาสมากที่สุดของเช่นกันเมื่อคุณเพิ่มโอกาสเต็มรูปแบบ) นี่คือเหตุผลที่เป็นไปได้สูงสุดเต็มรูปแบบสำหรับตัดทอนศูนย์แตกต่าง Poisson จากฟังก์ชั่นและทำไมคุณจะได้รับที่แตกต่างกัน (และไม่ถูกต้อง) คำตอบเมื่อคุณเพิ่มแลมบ์ดา)QλyyQf(λ)=Q(λ,λ)

ตัวเลขการเพิ่มจะทำให้ฟังก์ชั่นวัตถุประสงค์อย่างน้อยมีขนาดใหญ่เท่ากับผลลัพธ์ EM ของคุณและอาจใหญ่กว่าเนื่องจากไม่มีการรับประกันว่าอัลกอริทึม EM จะมาบรรจบกันสูงสุด - มันควรจะมารวมกันเท่านั้นฟังก์ชันโอกาสสูงสุด!f(λ)f

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.