Markov Models
랜덤 변수 사이의 밀접한 관계가 그래프 도식으로 표현된 베이즈 넷을 무한한 길이로 나타냈다고 가정해보자. 일련의 노드가 이어진 일종의 사슬과 같은 형태로 나타낼 수 있을 것이다.
마르코프 모델은 특히 그런 상태의 노드 하나가 현재 상태의 랜덤 변수 값을 담고 있으며, 연속된 노드를 통해 어떻게 값이 달라지는지 알려준다. 중요한 관건은 초깃값 노드와 트랜지션 함수
만 주어진다면 특정 타임 스탬프 노드값이 어떤지 알 수 있다는 점이다.
Pr(W0)을 초깃값 분포라고 할 때, 타임 스탬프 1에 올 랜덤 변수의 값은 자연스럽게 Pr(Wi+1∣Wi)가 된다. 조건부 확률을 통해 다음 타임 스탬프 값을 구할 수 있다는 뜻은 물론 t=i+1
이 t=i
에 의존적임을 뜻한다.
어떻게 생각해보면 당연하다. 트랜지션 모델을 통해 확률 분포를 얻어내는 조건부 확률 수식에서 베이스가 되는 식이 한 차례 전의 상태이기 때문이다.
그런데 이보다 중요한 포인트는 t=i+1
상태의 랜덤 노드 값은 t=i
를 제외한 다른 모든 노드와는 관계가 없다는 것이다.
- 마르코브 특성(
Markov Property
) / 메모리리스 특성 (memoryless property
): t=i+1
의 값을 구하기 위해서는 t=i
값과 (트랜지션 모델만) 있으면 된다.
마르코브 특성을 가정한다면 결합 확률 분포를 간략화할 수 있다.
Pr(W0,W1,...,Wn)=Pr(W0)Pr(W1∣W0)Pr(W2∣W1)...Pr(Wn∣Wn=1)=Pr(W0)i=0∏n−1Pr(Wi+1∣Wi)
마르코프 모델의 또다른 중요한 특성은 트랜지션 모델이 시간과 관계 없이 일정한, 일종의 정지된 프로세스라는 것이다. Pr(Wi+1∣Wi)은 모든 타임 스탬프 i에 있어서 동일하다.
정리하자면, 마르코브 모델의 타임 스탬프 t=i
에 존재하는 랜덤 변수 값을 구하려면 초깃값과 트랜지션 모델 두 개만 주어지면 된다.
1. The Mini-Forward Algorithm
마르코프 모델의 특성을 통해 타임 스탬프 t
에서의 결합 분포를 모두 계산할 수도 있지만, 연산 비용이 크다. 다른 모든 변수에 대해서 합계를 구하는 marginalize
과정이 필요하기 때문이다. 변수 j
가 각각 d
개의 값을 취할 수 있을 때 시간 복잡도 O(dj)가 요구된다.
보다 효율적으로 t=i+1
타임 스탬프의 결합 분포를 구하는 방법을 알아보자.
t=i+1
타임 스탬프의 분포를 얻으려면 Pr(Wi)를 통해 타임 스탬프 t=i
단계의 확률 분포를 확인해야 한다.
t=0
초깃값 확률 분포부터 반복적으로 트랜지션 모델을 적용해 다음 단계 t=i+1
의 확률 분포 값을 계산하자.
초깃값과 트랜지션 모델을 적용해 Pr(W1)을 구해보자.
Pr(W1=sun)=w0∑Pr(W1=sun∣w0)Pr(w0)=0.6∗0.8+0.1∗0.2=0.5
Pr(W1=rain)=w0∑Pr(W1=rain∣w0)Pr(w0)=0.4∗0.8+0.9∗0.2=0.5
- Pr(Wi+1)=wi∑Pr(wi,Wi+1)=wi∑Pr(Wi+1∣wi)Pr(wi)
이 효율적인 테크닉을 통해 t=i
에서의 확률 분포를 빠르게 계산할 수 있다. 그런데 이때 트랜지션 모델만 보고서도 다음에 어떤 값이 올지 알 수도 있다.
위 날씨 계산 모델에서는 t=0
에서 t=1
으로 타임 스탬프가 1 증가했을 때 비가 올 확률이 훨씬 늘어났음을 알 수 있다. 어떤 모델에서는 계속해서 타임 스탬프가 증가하더라도 랜덤 노드의 값이 바뀌지 않는 구간이 있을 것이다.
2. Stationary Distribution
어떤 타임 스탬프에서 랜덤 노드 값이 변화하지 않고 수렴할까? 정상 분포(stationary distribution
) 계산을 통해 이 문제를 풀 수 있다. 정상 분포는 곧 Pr(Wt+1)=Pr(Wt)인 타임 스탬프 t
인 지점이다.
다시 미니-포워드 알고리즘에서 타임 스탬프 t
구간의 확률 분포 값을 구한 것을 가져와보자. 정상 분포 지점에서는 모두 같은 값이기 떄문에 =
관계로 표현할 수 있다.
- Pr(Wt+1)=Pr(Wt)=wt∑Pr(Wt+1∣wt)Pr(wt)
이 식을 통해 날씨가 맑거나 비가 올 확률이 수렴하는 구간을 구해보자.
Pr(Wt=sun)=Pr(Wt+1=sun∣Wt=sun)Pr(Wt=sun)+Pr(Wt+1=sun∣Wt=rain)Pr(Wt=rain)=0.6∗Pr(Wt=sun)+0.1∗Pr(Wt=rain)
Pr(Wt=rain)=Pr(Wt+1=rain∣Wt=sun)Pr(Wt=sun)+Pr(Wt+1=rain∣Wt=rain)Pr(Wt=rain)=0.4∗Pr(Wt=sun)+0.9∗Pr(Wt=rain)
특정 타임 스탬프 t
에서의 각 상태별 확률을 모두 더하면 1이라는 점을 기억하자. 정상 분포의 성질을 사용해 구한 위 식과 함께 이차 방정식처럼 풀면 각 확률 값을 구할 수 있다.
Pr(Wt=sun)=0.2,Pr(Wt=rain)=0.8
정상 확률 분포라는 마르코브 모델의 특성을 통해 강력한 일반화가 가능하다.
- Pr(Wt)=wt∑Pr(Wt+1∣wt)Pr(wt)
Wt를 이루는 도메인의 크기 k번만 방정식을 풀면 위 식을 얻을 수 있다.