상세 컨텐츠

본문 제목

Markov Model (MM)에 대해 알아보자

카테고리 없음

by 김지똥 2025. 2. 11. 02:58

본문

1.Markov Model (MM, 마르코프 모델)

Markov Model (MM, 마르코프 모델)은 "현재 상태가 다음 상태를 결정하는 확률 모델"이다.

 

이게 무슨 말일까??

 

아래 그림을 보고 이해해보자. 

 

 

https://sites.google.com/site/machlearnwiki/RBM/markov-chain

 

MM은 다르게 말하면 각 상태(State) 간 전이(Transition)확률적으로 결정되는 모델이다.

 

위 그림에서 상태는 A, B, C 이고 각각의 상태로 이동하는 전이는 확률적으로 결정되어 있다.

 

또한 이전 상태가 무엇이었는지에 상관없이, 현재 상태에서 정해진 확률에 따라만 이동하기 때문에 MM을 잘 설명하는 그림이라고 할 수 있다.

 

그런데 왜 과거는 중요하지 않은 걸까?

 

과거가 있기에 현재도 있고 미래도 있는 것인데 말이다.

 

이것이 Markov Property (마르코프 성질)이다.

 

Markov Property (마르코프 성질)은  현재 상태가 미래 상태를 결정하며, 과거는 중요하지 않다는 성질이다.
즉, "다음 상태는 현재 상태에만 의존하고, 과거 상태와는 독립적이다."라는 것이다.

수식으로 나타내면 다음과 같다.

다음 상태 

즉, 현재 상태 Xt를 알면, 다음 상태 를 예측하는 데 과거 상태 Xt−1,Xt−2,...는 필요 없다는 것이다.

 

 

그렇다면 좀 더 나은 이해를 위해  예시로도 알아보자.

 

우리가 오늘 날씨를 알고 있을 때, 내일 날씨를 예측한다고 해보자.

  • 맑음 
  • 흐림 
  • 비 

마르코프 성질을 적용하면

"어제가 맑았고, 그제도 맑았고, 사흘 전에도 맑았으면, 내일도 맑을 가능성이 높을까?"

아니다
이전 며칠간 날씨가 어땠는지는 중요하지 않고, 오직 오늘 날씨만 중요하다!

 

(1) 과거 상태를 고려하는 경우 (비마르코프 모델)

 

과거의 날까지 고려해야 하기 때문에 계산량이 많아진다.

 

(2) Markov Model 적용 (과거 무시)

현재 상태만 고려하면 되기 때문에 계산량이 비마르코프 모델과 비교하여 적어진다.

 

이러한 이유로 과거는 중요하지 않다.

 

그렇다면 이러한 질문도 가능하다.

과거가 필요 없으면, 정보가 부족해지지 않을까?

이에 대한 설명은 다음과 같다.

(1) 핵심 정보는 현재 상태에 다 들어있다.

 

  • 현재 상태 자체가 이전 상태들의 영향을 받아 결정된 값이기 때문에, 굳이 과거를 추가로 볼 필요가 없다.
  • 예를 들어, 오늘의 날씨는 어제의 영향을 받았을 것이고, 어제의 날씨는 그제의 영향을 받았을 것이다.
    그래서 어제, 그제 등 과거를 다 포함하지 않아도, 현재 상태를 보면 이미 과거의 정보가 포함되어 있다.

(2) 과거까지 다 고려하면 계산이 너무 복잡해진다.

  • 만약 과거까지 고려한다면, 모든 상태의 조합을 다 계산해야 한다.
  • 상태가 많아질수록 계산량이 기하급수적으로 늘어난다.
  • 그래서 "현재 상태만 보면 충분하다"는 가정(Markov Property)을 사용해서 문제를 간단하게 만들 수 있다.

2. MM의 핵심 개념

(1) 상태(State)

  • MM에서는 시스템이 특정한 "상태"에 있을 수 있다.
  • 예를 들어, 날씨를 모델링한다고 하면:
    • 상태 1: 맑음 
    • 상태 2: 흐림 
    • 상태 3: 비 

(2) 상태 전이 확률 (Transition Probability)

  • 한 상태에서 다른 상태로 이동할 확률을 의미한다.
  • 예를 들어, "오늘 맑음 ☀️일 때 내일 흐림 ☁️으로 바뀔 확률" 과 같은 것이다.

 

 

오늘 날씨 내일 맑음 내일 흐림 내일 비
맑음 0.7 0.2 0.1
흐림 0.3 0.4 0.3
0.2 0.5 0.3

 

 

3. Markov Model 예제 (날씨 예측)

Markov Model 의 성질을 바탕으로 날씨 예측도 가능하다.

 

  • 마르코프 성질에 따라 현재 상태에서 확률적으로 다음 상태를 선택한다.
  • 주사위를 굴리듯 확률에 따라 상태를 정할 수 있다.

5일간의 시뮬레이션 예시를 보면

 

  • 2일 차: 1일 차가 맑음이었으므로, 70% 확률로 맑음 유지됨.
  • 3일 차: 2일 차가 맑음이었으므로, 20% 확률로 흐림이 됨.
  • 4일 차: 3일 차가 흐림이었으므로, 30% 확률로 비가 됨.
  • 5일 차: 4일 차가 비이었으므로, 50% 확률로 흐림 유지됨.

4. Markov Model의 특징

(1) 과거의 상태는 중요하지 않다.

  • 예를 들어, "오늘이 흐림이면 내일 날씨는 오늘 날씨에만 의존"한다.
  • 그저 하루 전의 상태만 중요하고, 그보다 더 이전의 데이터는 반영되지 않다.

(2) 확률 기반으로 상태가 결정된다.

  • 동일한 초기 상태에서 시작해도, 확률에 따라 다른 결과가 나올 수 있다.

(3) 간단하지만 강력한 모델이다.

  • 날씨 예측뿐만 아니라, 주식 시장 예측, 공장 공정 분석, 텍스트 예측 등 여러 분야에서 사용된다.