Hidden Markov Model (은닉 마르코프 모델) Start.

BioinformaticsAndMe



유전체 머신러닝 분야에서 순차적 데이터 분석의 computational sequence analysis 등에 사용되는


'은닉 마르코프 모델(Hidden Markov Model; HMM)' 에 대해 알아보자.

(다음 칼럼의 Gene Prediction & Machine Learning 파트를 이해하기 위한 밑거름)



1. Hidden Markov Model

- 정의: 통계적 마르코프 모델의 하나로, 시스템이 은닉된 상태와 관찰가능한 결과의 두 가지 요소로 이루어졌다고 보는 모델이다. 관찰 가능한 결과를 야기하는 직접적인 원인은 관측될 수 없는 은닉 상태들이고, 오직 그 상태들이 마르코프 과정을 통해 도출된 결과들만이 관찰될 수 있기 때문에 '은닉'이라는 단어가 붙게 되었다 (위키). 

- 마르코프 성질(Markov Property): 과거와 현재 상태가 주어졌을 때의 미래 상태의 조건부 확률 분포가 거 상태와는 독립적으로 현재 상태에 의해서만 결정.

- 특정 시간 t에서의 은닉 변수 x(t)의 조건부 확률 분포는 오직 은닉 변수 x(t-1)에만 의존하는 것을 관찰할 수 있다. 그 이전의 시간들(<t-1)은 x(t)에 영향을 주지 않는다. 이와 비슷하게 시간 t에서 관측된 변수 y(t)의 값은 오직 은닉 변수 x(t)에만 영향을 받는다.

transition probability(전이 확률): 시간 t-1에서의 은닉 상태가 주어졌을 때 시간 t에서의 은닉 상태가 선택될 확률분포.

- emission probability(출력 확률): 주어진 상태 x(t)에서 특정한 결과값 y(t)이 관측될 확률 분포.

- 마르코프와 히든마르코프의 차이: 'Hidden'에서 x의 state 자체는 보이지 않음. 오직 x state 각각의 관찰값 y값만 볼 수 있다.





2. 날씨를 예로 transition probability 이해하기

- 위 그림은 transition probability(전이 확률)의 개념이다.

- 날씨가 'Sunny' 와 'Rainy' 의 두가지 상태가 있고, 오늘 날씨가 Sunny였다면 내일의 날씨가 어떤 상태일지 궁금하다.

- 우리는 기존 데이터(training set)에 근거하여 Today -> Tomorrow 에서 날씨가 바뀌는 확률을 구할 수 있다 (Output format 1).

- Output format 2와 3 은 format 1과 같은 의미를 지닌다.

- 참고로 오늘 날씨에서 다음날 날씨 예측 확률의 합이 항상 1 이란 사실을 기억하자 ( 예, 0.9 (sunny) + 0.1 (rainy) = 1 ).



- 날씨가 'cloudy' 가 추가 됐을뿐, 위에서 언급한 내용과 동일한 transition probability의 내용이다.





3. 날씨의 예로 emission probability 이해하기



- 우리는 Hidden state, 즉 날씨를 볼 수 없다. 다만, 그 위에 transition probability 의 정보들만 있을 뿐이다.

- 우리가 볼 수 있는건 관찰값인 'Observed state'이다. 날씨에 따라 사람들이 착용한 선글라스, 티셔츠, 우산, 자켓만을 볼 수있다.

- 특정 날씨에 따라 어떤 아이템을 착용할 것인지의 확률도 기존 데이터(training set)에 기반해 만들 수 있다.

- 특정 state의 해당 관찰값이 보일 확률이 emission probability(출력 확률) 이다.





4. 날씨 예측하기

1) 예를 들어, 어떤 사람이 이번주동안 착용한 복장이 다음과 같다. 우산-우산-자켓-선글라스-티셔츠-우산-자켓

2) 우리는 이번주 날씨가 어땠을지 HMM 으로 예측할 수 있다.

3) 위에서 구한 transition probability 과 emission probability table 정보를 이용해, 이번주에 발생할 모든 확률을 곱한다.

4) 모든 경우의 수를 계산했을 때, '비-비-흐림-맑음-맑음-비-흐림' 이 가장 높은 확률의 PATH인 것을 확인했다.





마무리하며..

사실 HMM을 소개한 이유는 유전체 머신러닝 분야에서 Gene prediction을 설명하기 위함이었다.

따라서, 위 마무리가 많이 엉성하다. 좀 더 자세한 계산식과 결과를 살펴보고 싶다면,

이어지는 Gene Prediction & Machine Learning 파트를 살펴보는 것을 추천한다.


내용을 정리하면서 느낀점은

기계학습에서 HMM의 훌륭한 Performance를 보이기 위해선,

높은 신빈성의 학습데이터에 근거한 전이확률과 출력확률 정보를 갖는 것이 중요해 보인다.





Hidden Markov Model (은닉 마르코프 모델) End.

BioinformaticsAndMe







'Machine Learning' 카테고리의 다른 글

강화 학습(Reinforcement Learning)  (0) 2018.09.15
비지도 학습(Unsupervised learning)  (0) 2018.09.05
지도 학습(Supervised learning)  (0) 2018.08.31
Gene Prediction & Machine Learning  (1) 2018.08.05
Machine Leaning & Genomics  (0) 2018.07.28

+ Recent posts