공부 정리 블로그
5. The Bellman Equation and Dynamic Programming(3/3)-Dynamic Programming - Policy Iteration 본문
5. The Bellman Equation and Dynamic Programming(3/3)-Dynamic Programming - Policy Iteration
따옹 2022. 10. 22. 06:32Dynamic Programming-
model based - policy, 등을 알고있는 상태
(<-> monte carlo)
policy iteration
모든 경우의 수를 다 구하지 않고
policy를 하나만 정하고 거기로 부터 그 policy에대한 각 state에 대한 value값 정하고
그 value값으로 부터 policy를 update (뭐가 이리 복잡누..)
1. policy를 random하게 정함 pi0
그때 그때 random하게 정하는 건 아니고 '한' policy를 random하게 정함
2. 그 policy에 대한 state value값 정함
3. 정해진 value들로 부터 새로운 policy pi1 update
4. 반복
밖 - policy를 계속 없데이트
안 - value를 iterative하게 정함
코드 구현
vlaue_table = np.zeros(env.observation_space.n) #초기는 모두 0으로 세팅
내부, value값 update
a = policy[s] #action은 내가 사용하는 policy에서 정해짐
내가 정한 policy에 대해서 value update
모든 가능한 action에 대해서 구한 다음 maximum을 취하는
왜 두 가지가 있는 걸까? 둘 중 하나만 하지
value iteration - 모든 action에 대해서 Q값을 구한 다음 max를 취함
policy iteration - policy를 정해놓고 그 policy에 대해서만 V값을 계산
action이 너무 많은 상태일 때, value iteration으로 하는 거보다
policy 를 정하는 게 좀 더 빠르게 계산할 수 있음
'대학원 수업 > 강화학습' 카테고리의 다른 글
7. Monte Carlo(2/3) - incremental mean~on policy (0) | 2022.10.22 |
---|---|
6. Monte Carlo method(1/3) - prediction (0) | 2022.10.22 |
4. The Bellman Equation and Dynamic Programming(2/3) - Dynamic Programming - Value Iteration 계산 (0) | 2022.10.22 |
3. Bellman equation and Dynamic Programming(1/3) - The Bellman Equation (0) | 2022.10.22 |
11. The multi-Armed Bandit Problem (0) | 2022.10.19 |