2014-02-25 8 views
4

(1) 문제의 단순한 버전 :그 구성 로그 관점에서 로그 (용어의 합)을 계산하는 방법

로그 (P1 + P2 + ... + PN), 소정의 로그 (계산 방법 P1), 로그 (P2), ..., 로그 (Pn)를 생성한다. 나는 그들이 초소형이고 숫자 컴퓨터 언더 플로우를 일으킬 수 있기 때문에 원래 파이를 얻고 싶지 않습니다.

(2) 문제의 긴 버전 :

내가 조건부 확률 P (Y | E)를 계산하기 위해 베이 즈 정리를 사용하고 있습니다.

P(Y|E) = P(E|Y)*P(Y)/P(E) 

저는 1000 개의 확률을 곱합니다.

P(E|Y) = P(E1|Y) * P(E2|Y) * ... * P(E1000|Y) 

컴퓨터 수치 언더 플로우를 방지하기 위해, I 대신 1,000 P의 곱의 산출 로그 (p)를 이용 1000 로그 (p)의 합을 계산한다.

log(P(E|Y)) = log(P(E1|Y)) + log(P(E2|Y)) + ... + log(P(E1000|Y)) 

그러나 또한

P(E) = sum of P(E|Y)*P(Y) 

log(P(E)) 로그 (P(E|Y)*P(Y))의 합과 동일하지 않는 인 P (E)를 계산할 필요가있다. P(E|Y)*P(Y) (극히 작은 숫자 임)을 해결하지 않고 log(P(E))을 어떻게 얻고 추가해야합니까?

+0

당신이 분석 답가 필요하십니까보다 작 어디 그래서

log(P1+P2+...+Pn) = log(maxP) + log(1+P2/maxP + ... + Pn/maxP) 

에있는 no = max_i 파이 결과를 감안? 그렇지 않다면 log (P (E)) = log [n + sum_ {i = 1}^n log (P_i)]를 근사치로 사용할 수 있습니다. – Azrael3000

답변

1

당신은 어떤 파이 작동

log(P1+P2+...+Pn) = log(P1[1 + P2/P1 + ... + Pn/P1]) 
        = log(P1) + log(1 + P2/P1 + ... + Pn/P1]) 

를 사용할 수 있습니다. 모든 비율은 1