머신러닝

머신러닝 4주차 (03/24) - 정책 평가, 반복 정책 평가

vitamin3000 2025. 4. 7. 22:10

 

이번 포스트에서는 정책 평가와 반복 정책 평가에 대해 알아보자.

 

정책 평가

정의 : 어떤 정책을 이용해서 상태 가치를 계산한다

 

지금까지 상태가치를 재귀함수를 이용해 구해왔다.

어떤 상태의 가치를 구하기 위해서는 그 상태에서 가능한 모든 행동 중에서 하나를 선택해 연결된 다음 상태로 이동하고 보상을 받는다.

그리고 다시 그다음 상태에서 가능항 행동 중에서 가치가 가장 높은 행동 하나를 선택해 연결된 다음 상태로 이동하고 보상을 받고.. (행동 선택 -> 이동 -> 보상)을 모든 행동에 대해 끊임 없이 반복했다.

 

그러나 이렇게 계산하면 조금만 복잡해도 엄청나게 , 때로는 계산 불가능할 정도로 많아진다.

 

계산량을 줄이기 위한 방법으로 아래의 반복 정책 평가가 있다.

 

반복 정책 평가

정의 : 연결된 모든 상태를 재귀적으로 탐색하지 않고, 오직 연결된 다음 상태의 상태가치만을 이용해 상태가치를 계산하는 과정을 무한히 반복하는 것

즉 현재 가치와 다음 상태의 가치만을 생각한다

 

따라서 탐색 depth는 1로 모든 상태를 탐색하는 기존 정책 평가에 비해 계산량이 적지만 정확도는 낮다.

 

* 이때 반복 횟수인 k가 증가할 때마다 다음 방문 가치는 계속해서 변경됨에 주의하라

 

반복 정책 평가를 구현하는 방법으로는 아래의 두 가지가 있다

두 가지 모두 초기 값은 0으로 설정한다.

1. 상태가치를 저장하는 상태가치 테이블 2개(현재 가치, 미래 가치)를 이용하는 방법

기존의 값이 변경되지 않음을 보장하기 위해 프로그래밍 적으로 생각했을 때 두 개가 필요하다

2. 상태가치 테이블 1개만 사용, 

메모리를 줄일 수 있다는 장점이 있지만

기존의 값과 새로운 값이 섞이는 k의 스텝이 맞지 않는 경우가 발생한다.

 

위의 두 가지 상태가치 테이블 모두 최적해를 찾을 수 있음이 보장되어 있다.