본문 바로가기

Library/Bioinformatics

Hidden Markov Model 2

Hidden Markov Model(HMM)에는 중요한 세 가지 문제가 있는데, Evaluation Problem, Decoding Problem, Learning Problem이 그것이다. 각각의 문제에서는 주어지는 것과 찾아야 하는 것은 다음과 같다. 여기서 HMM m이란 것은, HMM을 구성하는 각 인자들이 주어졌다는 뜻이다.


1. Evaluation Problem
GIVEN : HMM m, sequence x
FIND : Prob[x | m]

2. Decoding Problem
GIVEN : HMM m, sequence x
FIND : sequence π of states that max Prob[x, π | m]

3. Learning Problem
GIVEN : HMM m, unspecified transition / emmision prob., sequence x
FIND : parameters θ = (e(i)(.), a(ij) that max P[x | θ]


다시 정리하자면, Evaluation Problem은 HMM m과 시퀀스 x가 주어졌을 때 이 시퀀스를 관찰할 수 있는 확률을 계산하는 문제이고, Decoding Problem은 HMM m과 시퀀스 x가 주어졌을 때 시퀀스 x를 방출한 상태의 시퀀스를 알아내는 문제이다. 마지막으로 Learning Problem은 HMM에서 가장 어려운 문제 유형에 속하는데, HMM의 인자(parameter)를 알아내는 문제이다. HMM의 인자들이 모두 주어진다고 할 수도 없고, 얼마나 많은 인자들을 알아내야 하느냐에 따라 문제의 난이도가 결정된다.

일반적으로, Evaluation Problem을 해결하는 것으로 Forward 알고리즘이 있고, Decoding Problem을 해결하는 것으로 Viterbi(backward) 알고리즘이 있다. 그리고 마지막 Learning Problem을 해결하는 방법으로는 Forward - Backward 알고리즘(a.k.a. Baum-Welch)이 알려져 있다.