샘플링 비용


9

다음과 같은 시뮬레이션 문제가 발생했습니다. {ω1,,ωd} 알려진 실수의 분포 {1,1}d 에 의해 정의

P(X=(x1,,xd))(x1ω1++xdωd)+
어디 (z)+ 의 긍정적 인 부분을 나타냅니다 z. 이 분포를 대상으로하는 Metropolis-Hastings 샘플러는 생각할 수 있지만 알고리즘의 순서를 줄이기 위해 많은 수의 제로 확률을 사용하는 효율적인 직접 샘플러가 있는지 궁금합니다.O(2d)O(d).

답변:


4

여기 꽤 명백한 재귀 샘플러가 있습니다. O(d) 가장 좋은 경우 (무게 측면에서) ωi)이지만 최악의 경우 지수입니다.

우리가 이미 선택했다고 가정 x1,,xi1, 선택하고 싶다 xi. 우리는 계산해야합니다

w(x1,,xi1,xi)=xi+1{1,1}xd{1,1}(j=1dωjxj)+
그리고 선택 xi=1 확률로
w(x1,,xi1,1)w(x1,,xi1,1)+w(x1,,xi1,1).
분모는 샘플의 유효한 선택에 대해 0이 아닙니다. x1,,xi1.

물론, 문제는 계산하는 방법입니다 w(x1,,xi).

우리가 가지고 있다면 C:=j=1iωjxjj=i+1d|ωj|그런 다음 ωx0 어떠한 것도 x 주요 항목 x1:i, 그래서 w 된다 :

xi+1xdωx=ω(xi+1xdx)=j=1iωj(xi+1xdxj)2dixj+j=i+1dωj(xi+1xdxj)0=2diC.

반대의 경우 Cj=i+1d|ωj|우리는 ωx0 그래서 w(x1,,xi)=0.

그렇지 않으면, 우리는 w(x1,,xi)=w(x1,,xi,1)+w(x1,,xi,1).

메모리는 문제가 아니며 모든 하위 계산을 캐시에 넣을 수 있다고 가정합니다. w(1), w(1)트리에서 – "좋은"사례 중 하나에 도달 한 시점까지 모든 통화는 일정한 시간이 걸립니다. (어쨌든이 전체 트리를 계산하여 선택해야합니다.x1.) 그런 다음이 나무가 w 계산이 이루어지고 샘플러는 O(d)시각. 문제는 트리를 구축하는 데 걸리는 시간 또는 그와 동등한 크기입니다.


우리는 물론 "좋은"사례를 더 빨리 칠 것입니다. ωi 정렬 ω1ω2ωd.

가장 좋은 경우 |ω1|>j=2d|ωj|. 그런 다음 즉시 "좋은"사례를 발견했습니다.w(1) 또는 w(1)그래서 w 나무 구조는 일정한 시간이 걸리고 전체 샘플러는 O(d) 시각.

최악의 (정렬 된) 경우 ω1=ω2==ωd. 그렇다면 문제는 전체 트리가 얼마나 큽니까?

글쎄, 종료하는 첫 번째 경로는 물론 (1,1,,1)(1,1,,1) 길이의 d/2. 따라서 나무는 그 깊이까지 완성되므로 최소한O(2d/2)노드. (더 많은 것이 있습니다; 당신은 아마 도박꾼의 파멸 문제에 사용 된 것과 같은 논쟁으로 그것을 찾을 수 있지만, 나는 2 분의 인터넷 검색에서 그것을 찾을 수 없었고 특히 신경 쓰지 않았습니다. 2d/2 충분히 나쁘다 ...)

설정 값이 매우 큰 경우 ωi이것은 아마도 합리적으로 실용적인 접근법 일 것입니다. 만약ωi 모두 비슷한 크기이며, 아마도 여전히 지수적이고 너무 비쌉니다. d.


이 Viterbi 유형의 제거에 감사드립니다. "반대 경우"라고 쓰면
Cij=i+1d|ωj|
나는 당신이 첫 번째 사례의 보완을 의미하지 않는다고 생각합니다.
Cij=i+1d|ωj|
시안

1
아니요, 보완이 아닙니다. 매우 크면 잘림이 적용되지 않음, 매우 작을 때 항상 적용됨을 알 수 있으며 그 사이에는 반복 적용 여부를 파악하기 위해 반복해야합니다.
Dougal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.