문제 : 큰 데이터 세트보다 약간 뒤떨어지기 위해 Gibbs 샘플링을 수행하려고합니다. 불행히도 내 모델은 매우 간단하지 않으므로 샘플링 속도가 너무 느립니다. 나는 변형 또는 병렬 접근법을 고려할 것이지만, 그 전에는 ...
질문 : 모든 Gibbs 반복에서 데이터 세트에서 무작위로 (대체로) 샘플링 할 수 있는지 알고 싶습니다. 모든 단계에서 배울 수있는 인스턴스가 적습니다.
내 직감은 샘플을 변경하더라도 확률 밀도를 변경하지 않으므로 Gibbs 샘플이 트릭을 인식하지 않아야한다는 것입니다. 내가 맞아? 이것을 한 사람들에 대한 언급이 있습니까?
1
제쳐두고 : 또 다른 아이디어는 빅 데이터 세트의 임의의 하위 샘플에 대해 여러 번 분석하는 것입니다. 그렇게하면 교차 검증 할 수도 있습니다.
—
추측 :
나는 어떤 권위로도 정확한 질문에 대답 할 수 없습니다 (내 의심은 Monte Carlo와 함께 제공되는 근사 오차를 증가시킬 것이라는 점이지만) 슬픈 사실은 이것이 베이지안 MCMC 분석의 불행한 측면이라는 것입니다. 비싼. @conjectures 의견은 좋은 생각이지만 실제로 문제의 핵심은 아닙니다. 각 개인에 대해 모든 샘플을 그리는 것은 너무 비쌉니다. 내 권장 사항은 무거운 작업 (Rcpp R, Cython Python 등)에 대한 자체 C 코드를 작성하고 병렬화 (분기 종속성이없는 경우)하는 것입니다.
@conjectures Michael Jordan의 작은 부트 스트랩 가방처럼 들립니다.
—
jaradniemi 2016 년
잠재적 변수 확대를 피하기 위해 샘플러를 변경하는 것이 좋습니다. 더 이상 Gibbs 샘플러가 없지만 가능성에 대한 정규 근사를 기반으로 한 제안이 포함 된 Metropolis-Hastings 알고리즘은 정상적으로 작동합니다. 베이지안 데이터 분석 제 2 판의 16.4 절을 참조하십시오.
—
jaradniemi 2016 년
이것은 내가 당신을 위해 정확하게 요약하기에 충분히 알지 못하는 활발한 연구 분야입니다. 예를 들어 jmlr.org/proceedings/papers/v32/bardenet14.pdf 및 arxiv.org/pdf/1304.5299v4.pdf
—
Andrew M