데이터 과학

강화학습 MDP 알고리즘 본문

인공지능/HMM

강화학습 MDP 알고리즘

티에스윤 2021. 9. 12. 21:41

강화학습에서 MDP (Markov Decision Process) 알고리즘을 간단하게 표현한 소스가 있어서 소개합니다. 

 

순차적인 문제를 해결하기 위한 방법으로 표현하는 방법으로 수학적인 표기는 다음과 같습니다.

 

S: set of states  (상태)
A: set of actions (행동)
R: reward function (보상)
P: transition probability function (상태 확률)
γ: discount for future rewards (감가율) 

 

수학적 표기 방법은 다음과 같습니다. 

 

P[St+1 | St] = P[St+1 | S1, ….. , St],

 

 

소스는 다음과 같습니다. 케라스 설치는 되어 있어야 합니다. 

 

!pip install kaggle-environments

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from kaggle_environments import make, evaluate
import keras
import collections
import sys
import os

 

결과는 다음과 같이 나오겠습니다. 

Using TensorFlow backend

 

아래 파일 소스를 주피터 노트북에서 실행하면 됩니다. 

 

mdp.py
0.00MB

 

 

이후에 실행 환경을 지정해야 하는데 다음 소스를 입력해 보면 게임화면이 나타납니다. 

 

env = make("rps", configuration={"episodeSteps": 1000}, debug="True")

env.reset()

env.run(["mdp.py", "statistical"])

env.render(mode="ipython", width=400, height=400)

 

 

이 내용은 Kaggle에 올라온 아래 소스를 적어 놓은 것입니다. 강화학습에 관심이 있으면 MDP와 벨만 방정식에 대해 학습을 해야 합니다. 

 

https://www.kaggle.com/rxngrxng/beginner-s-template-markov-decision-process

 

Beginner's Template: Markov Decision Process

Explore and run machine learning code with Kaggle Notebooks | Using data from Rock, Paper, Scissors

www.kaggle.com

 

'인공지능 > HMM' 카테고리의 다른 글

Baum-Welch 알고리즘  (0) 2023.05.04
은닉 마르코프 모델  (0) 2021.10.04