본문 바로가기

데이터사이언스/머신러닝

마르코프 프로세스란?

1. 확률 과정(Stochastic Process)

  확률 과정 \(S_{t}\)는 시간t의 흐름에 따라 변화하는 random variable의 집합이다. 특정 시간 t에 비가 오거나 오지 않는 상태 s를 예로 들 수 있다. 상태 s와 그 이후의 상태 s'가 주어진다면,  s에서 s'으로 상태가 바뀔 가능성은 다음과 같이 나타낼 수 있다.

 

$$ 𝑃𝑠𝑠 ′ = ℙ[𝑆𝑡+1 = 𝑠 ′ |𝑆𝑡 = 𝑠] $$ 

 

상태 전환 행렬 P는 모든 상태 s에서 이후 상태 s'으로 바뀔 가능성을 정의한다. 행렬 P에서 행은 현재 상태, 열은 다음 상태를 나타내고 값은 해당 전환이 일어날 확률을 나타낸다. 행렬 모든 값의 합은 1이 된다.

 

2. 마르코프 성질

 마르코프 성질은 미래는 과거 상태의 영향을 받지 않고, 현재에 의해서만 결정된다는 성질이다. 수식으로 나타내면 다음과 같다. 

 

$$ ℙ[𝑆𝑡+1|𝑆𝑡 ] = ℙ[𝑆𝑡+1|𝑆1, 𝑆2, . . . , 𝑆𝑡 ] $$

 

 마르코프 성질을 가지는 예시로 체스를 들 수 있다. 체스 판의 현재 상태만 안다면 이전 상황이 어땠는지와 상관없이 전략을 세울 수 있다. 반대로 마르코프 성질을 가지지 않는 예로 달리는 자동차를 들 수 있다. 만약 도로를 달리는 자동차의 사진을 본다면 그 차가 어떤 속도로 달리고 있는지, 어디로 향하고 있는지 알 수 없다. 하지만 t - 10초부터 t초 까지의 사진을 가지고 있다면 다음 상태를 예측하기 쉬워지고, 마르코프한 상태에 가까워질 수 있다. 실제로 DeepMind에서 강화학습을 이용해 Atari 게임을 학습시킬 때 t-1, t-2, t-3 시점의 데이터를 같이 제공해주었다고 한다.

 

3. 마르코프 프로세스

 마르코프 프로세스는 마르코프 성질을 가지고 있는 확률 과정이라고 할 수 있다. 현재 상태에 의해서만 다음 상태가 정해지며, 이 상태들 사이를 이동하는 과정인 것이다. 마르코프 프로세스는 상태의 집합 S, 각 상태에서 다른 상태로 변할 확률을 나타낸 행렬 \(P_{ss'}\)로 나타낼 수 있다.