모든 문제에 대해서 정해진 형태나 답은 없습니다. 자신이 원하는 대로, 남들에게 잘 설득할 수 있는 형태로 나타낼 수 있으면 됩니다.
그림 2.1에서 각 슬롯 머신의 보상 분포를 보다시피 분포의 평균은 랜덤하고 편차는 동일한 형태를 볼 수 있습니다. 슬롯머신들의 평균과 편차는 정해져 있고 어떤 슬롯 머신을 선택했을 때 보상 분포에 따라 랜덤하게 값을 반환하는 함수를 만드세요.
교재에 주어진 알고리즘에 따라 코드를 작성하고 코드를 실행했을 때, 최종적으로 보상 분포의 평균이 가장 큰 슬롯머신을 선택하는지 확인하세요.
구현하여 확인한 데이터를 원하는대로 시각화하세요.
입실론 값에 따라서 최적의 값으로 수렴하는 속도를 확인 할 수 있다. x축은 시행횟수, y축은 반환값을 평균값, optimized는 보상 분포의 평균이 가장 큰 값을 나타낸다.
위에서 구현한 것을 바탕으로 긍정적 초깃값 알고리즘의 개념을 추가합니다. 앞에서 했던 과정과 같이 수행하고 비교합니다.
긍정적 초기값과 입실론 탐욕법에 따라 최적의 값으로 수렴하는 속도를 확인 할 수 있다. x축은 시행횟수, y축은 반환값의 평균, optimized는 보상 분포의 평균이 가장 큰 값을 나타낸다.
위에서 구현한 것을 바탕으로 경사도 다중 선택 알고리즘의 개념을 사용합니다. 앞에서 했던 과정과 같이 수행하고 비교합니다.
경사도 다중 선택 알고리즘에 따라 가중치별로 최적으로 수렴하는 것을 볼 수 있다. x축은 시행횟수, y축은 반환값의 평균, optimized는 보상 분포의 평균이 가장 큰 값을 나타낸다.
예제 3.5과 같은 환경에서 벨만 방정식(식 3.14)을 이용하여 무작위 정책(동일한 확률로 action이 선택됨)에 대한 상태 가치 함수를 업데이트 하는 코드를 만드세요. 정책은 상태 가치가 높아지는 방향으로 선택되면 됩니다.
이번에는 무작위 정책이 아니라 최적 정책을 사용하기 위해 최적 벨만 방정식(식 3.20)을 이용하여 최적 정책(행동 가치가 가장 높은 action을 선택)에 대한 최적 행동 가치 함수를 업데이트 하는 코드를 만드세요. 최적 상태 가치 함수 $v_*$는 action 중에서 행동 가치가 가장 높은 값입니다.(78페이지 가장 위에 있는 수식)