2013년 11월 22일 금요일

Monte-Carlo simulation

fMRI 논문을 읽다 보면 지긋지긋하게 나오는 몬테카를로 시뮬레이션에 대해서 알아 봅시다. 개념만 보아 둬도 될 것 같습니다. (세부적인 것은 너무 어려워서 뭔 말인지 모르겠음)

몬테카를로 계산이란?

몬테카를로 방법은 통계적 문제를, 난수(Random Number)를 사용한 무작위적인 표본을 이용하여 해결하는 방법이다. 몬테카를로 방법의 장점 중의 하나는 계산 알고리즘이 다른 수학적 방법에 비해 간단하다는 것을 들 수 있다. 또한, 주로 5~10% 정도의 오차를 허용할 수 있는 공학적인 문제들을 해결하는 데 효과적으로 이용될 수 있다.
몬테카를로 방법(Monte Carlo method)은 난수를 이용하여 함수의 값을 확률적으로 계산하는 알고리즘을 부르는 용어이다. 수학이나 물리학 등에 자주 사용되며, 계산하려는 값이 닫힌 형식으로 표현되지 않거나 복잡한 경우에 근사적으로 계산할 때 사용된다. 스타니스와프 울람이 모나코의 유명한 도박의 도시 몬테카를로의 이름을 본따 명명하였다.
변수의 관계가 확실하여 예측치를 정확하게 찾을 수 있는 확정모형(deterministic model)과는 달리, 기획일의 많은 부분은 결과를 정확하게 예측할 수 없는 확률모형(stochastic model)이다. 일반적으로 확정모형에서는 분석적 해(analytical solution)을 찾는 것이 가능하다. 그러나 확률모형에서는 분석적인 방법으로 해를 찾는 것이 불가능 한 경우가 많다. 이 경우에는 수치적(numerical)으로 일련의 난수를 반복적으로 발생해서 시뮬레이션을 하면 답을 찾을 수 있는데 이것이 몬테카를로 시뮬레이션이다.

기본 사상은 각각의 단위 변수의 패턴을 알아내서, 의사결정을 위한 그 단위 변수의 조합의 패턴을 추정하는 것이다.다시말해, 각각의 변수의 확률분포를 통합해서 목표로 하는 값의 확률분포를 알아내는 것이다.그림을 보면 이게 무슨말인지 쉽게 이해할 것이다.


그럼 단위 변수들의 확률모델은 어떻게 알아내느냐고? 그건 최소한 의사결정을 위한 목표값의 확룔모델을 알아내는 것보다는 몇갑절 쉽고 정확하다. 범위와 그 속성을 알면 누구나 동감할 만한 수준의 패턴을 찾아낼 수 있기 때문이다.

그럼 단위 변수들의 확률모델은 어떻게 알아내느냐고? 그건 최소한 의사결정을 위한 목표값의 확룔모델을 알아내는 것보다는 몇갑절 쉽고 정확하다. 범위와 그 속성을 알면 누구나 동감할 만한 수준의 패턴을 찾아낼 수 있기 때문이다.
 몬테카를로 방법을 이용하여 해결할 수 있는 문제들이 어떤 것들이 있는가에 대해 살펴보면, 난수 인자에 의해서 제어될 수 있는 모델이라면 어떤 것이든 다룰 수 있다. 두 번째로, 확률을 가지고 있지 않은 많은 수학적 문제들에 대해서 이 방법은 컴퓨터를 이용한 통계적 추출 시도를 통해서 적절한 확률적 모델을 만들어서 문제를 해결할 수 있도록 해준다. 1930년 엔리코 페르미 중성자의 특성을 연구하기 위해 이 방법을 사용한 것으로 유명하다.
 맨해튼 계획의 시뮬레이션이나 수소폭탄의 개발에서도 핵심적인 역할을 담당하였다. 알고리즘의 반복과 큰 수의 계산이 관련되기 때문에 몬테카를로는 다양한 컴퓨터 모의 실험 기술을 사용하여 컴퓨터로 계산하는 것이 적합하다.





댓글 없음:

댓글 쓰기