EM 알고리즘이 반복되어야하는 이유는 무엇입니까?


9

각각 랜덤 변수 가있는 단위 의 모집단이 있다고 가정합니다 . 모든 단위에 대해 값을 관찰 합니다. 의 추정치를 원합니다 .NXiPoisson(λ)n=Nn0Xi>0λ

답변을 얻는 방법과 조건부 최대 가능성 방법이 있지만 EM 알고리즘을 시도하고 싶었습니다. EM 알고리즘을 여기서 아래 첨자는 알고리즘의 이전 반복 값을 나타내며 는 매개 변수. (실제로 괄호 안의 분수 의 은 이어야한다고 생각 하지만 정확하지는 않습니다. 다른 시간에 대한 질문입니다).

Q(λ1,λ)=λ(n+nexp(λ1)1)+log(λ)i=1nxi+K,
1Knn+1

이를 구체적으로 만들기 위해 , 이라고 가정하십시오 . 물론 과 은 관찰되지 않으며 는 추정됩니다.n=10xi=20Nn0λ

이전 반복의 최대 값을 연결하여 다음 함수를 반복하면 정답에 도달합니다 (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 알고리즘에 대한 목적 함수를 찾았을 때 으로 단위 수를 처리했다고 가정합니다 .이 매개 변수는 잠복 매개 변수로 라고 부릅니다 . 이 경우, 는 주어진 가능성의 에 대한 기대 값의 감소 된 형태를 나타낸다고 가정 합니다. 이 주어진대로 밟기 때문에 이것은 완전한 가능성과 동일하지 않습니다 .xi=0yQy λ1λ1

따라서 변경하면 의 분포가 어떻게 변하는 지에 대한 정보가 포함되어 있지 않으므로 완전 가능성에 대해 를 사용할 수 없습니다 ( 전체 가능성을 최대화 할 때 가장 가능성이 높은 값을 선택하려고 함 ). 이것이 제로 잘린 포아송에 대한 최대 가능성이 함수와 다른 이유이며, 를 최대화 할 때 다른 (그리고 잘못된) 대답을 얻는 이유 입니다.QλyyQf(λ)=Q(λ,λ)

수치 극대화 반드시 EM 알고리즘의 최대 수렴 것이라는 보장이 없기 때문에 당신의 EM 결과 큰, 아마도 더 큰 같은 적어도 목적 함수가 발생합니다 - 그것은 단지에 수렴 해야하는 최대 우도 함수!f(λ)f

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.