기계학습
Monte Carlo Method(몬테카를로 방법)
코코빵댕이
2022. 12. 25. 11:46
몬테카를로 방법은 큰수의 법칙을 따르는 반복된 무작위 추출에 의해 함수의 값을 수치적으로 근사하는 알고리즘을 의미합니다.
다시 말해 일련의 난수를 반복적으로 생성하면서 시뮬레이션 하면서 최적에 가까운 값으로 근사하는 셈입니다.

$Q(s_t,a_t) = \int_{s_{t+1}:a_\infty }G_t \times P(S_{t+1}:a_\infty|S_t,a_t)dS_{t+1}:a_\infty$
$ = \frac{1}{N}\sum_{i=1}^{N}G_t^i$
여기서 각 $G$는 $R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+....$입니다.
이 수치를 구하기 위해서는 다수번의 episode를 수행하면서 각 $P(S_{t+1}:a_\infty|S_t,a_t)$는 최적의 $P^*(S_{t+1}:a_\infty|S_t,a_t)$에 가까워 집니다.
최초의 Agent는 다시말해 정해진 Q-value와 같은 사전 정보가 없으므로 완전 random의 형태로 시뮬레이션을 수행하며 근사할 확률분포 내에서 탐색을 수행합니다.