공부 정리 블로그
4. The Bellman Equation and Dynamic Programming(2/3) - Dynamic Programming - Value Iteration 계산 본문
4. The Bellman Equation and Dynamic Programming(2/3) - Dynamic Programming - Value Iteration 계산
따옹 2022. 10. 22. 06:04Dynamic Programming - Value Iteration
V값을 계산 iterative하게 진행(계속해서 반복해서 값을 update)
1. 초기값을 random값으로
2. value값을 가지고 Q table 만듦.
3. 앞의 iteration과 뒤의 iteration차이가 거의 없을 때까지 반복
한 번 더 value값으로 Q값을 계산 - 목적은? action을 정하기 위해, policy를 정하기 위해
차이가 threshold(1e-20)값 이하면 그만 하겠다.
gamma = 0.99
value_tabel = np.zeros(env.observation_space.n) #16개 벡터를 0으로 초기화
for s in range(env.observation_space.n) : #각 state에 대하여 값 4개 짜리 vector, '_' terminal 값이냐 아니냐
1. sum[prob*(r + gamma * update_value_table[s_]) #2값을 대입
2. for prob, s_, r, _ in env.P[s][a] #계산
3. for a in range(env.action_space.n) #4개에 대하여
discount vector
gamma : hyper parameter
gamma를 높은 값인 0.9로 준 경우, 목적지에서 멀 수록 가치 떨어짐
목적은? 목적지에 가까워질 수록 가치가 높고 가치가 점점 낮아짐 r의 역할
빙빙 돌지 않고 목적지에 도착할 수 있음 / r을 너무 작게 하면 학습 효과가 떨어짐
'대학원 수업 > 강화학습' 카테고리의 다른 글
6. Monte Carlo method(1/3) - prediction (0) | 2022.10.22 |
---|---|
5. The Bellman Equation and Dynamic Programming(3/3)-Dynamic Programming - Policy 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 |
9. Temporal Difference Learning(1/2) (0) | 2022.10.12 |