실습 · 연습문제 2개
importance sampling으로 오프 정책 평가 importance-sampling-ope
행동 정책 가 모은 궤적 개(각 step)로 다른 정책 의 가치를 추정한다. 궤적 의 할인 이득과 importance weight는
이고, 세 값을 계산한다.
함수 is_estimate(rewards, pb, pe, gamma=1.0)를 완성해 (OIS, WIS, ESS)를 반환한다.
| 인자 | shape | 뜻 |
|---|---|---|
rewards |
(N, H) |
궤적 , 시각 의 보상 |
pb |
(N, H) |
기록된 행동을 행동 정책이 고를 확률 |
pe |
(N, H) |
같은 행동을 평가 정책이 고를 확률 |
gamma |
스칼라 | 할인율 |
테스트는 두 정책이 같을 때(가중치 1), 손으로 계산한 예(평가 정책이 하지 않는 행동이 있는 궤적은 가중치 0), 할인, 그리고 표본이 많을 때 참값 근처인지를 확인한다.
생각해 볼 것: 같은 데이터에서 를 늘리면 ESS가 어떻게 변하는가? 본문 cell 4의 결과와 비교한다.
UCB로 팔 고르기 ucb-select
UCB 규칙은 팔마다 평균 보상에 불확실성 보너스를 더한 지표
가 가장 큰 팔을 고른다. 는 팔 의 시행 수, 는 보상 합, 는 지금까지의 총 시행 수다. 이면 본문의 UCB1이다.
함수 ucb_select(counts, sums, t, c=np.sqrt(2))를 완성해 팔 번호(정수)를 반환한다.
- 한 번도 당기지 않은 팔()이 있으면 지표를 계산하지 말고 그중 번호가 가장 작은 팔을 반환한다.
- 그 밖에는 지표가 가장 큰 팔을 반환한다.
테스트는 시도하지 않은 팔 처리, 퀴즈의 예(에서 시행 5번인 팔 선택), 시행이 충분할 때의 활용, 에 따른 변화, 그리고 실제 Bernoulli 밴딧 1500번에서 대부분 최선 팔을 고르면서도 나쁜 팔을 가끔 다시 시도하는지 확인한다.
생각해 볼 것: 를 0으로 두면 어떤 알고리즘이 되고, 왜 최선 팔을 영영 놓칠 수 있는가?