은닉마르코프모델(HMM, Hidden Marcov Model)

개념
- 시스템이 은닉된 상태와 관찰 가능한 결과의 두 가지 요소로 이루어졌다고 보는 통계 기반의 모델

I. 은닉마르코프모델의 개요

가. 은닉마르코프모델의 정의

- 시스템이 은닉된 상태와 관찰 가능한 결과의 두 가지 요소로 이루어졌다고 보는 통계 기반의 모델.

- 순차 데이터나 문맥 의존 데이터를 인식하는 가장 대표적인 모델, 확률을 이용한 모델.

나. 특징

- 은닉 상태: 상태를 직접적으로 볼 수 없고 상태들로부터 야기된 결과들만을 관찰 가능

- 마르코프 체인: 각 시행 결과가 바로 앞의 시행 결과에만 영향을 받는 일련의 확률적 시행

- 순차 데이터: 시간성을 갖는 데이터, 대부분 가변 길이를 가짐

- 문맥 의존 데이터: 명시적으로 시간성을 갖지는 않지만 단어 간에 앞 뒤 관계가 있는 문장 속의 단어나 단어 속의 문자들

 

Ⅱ. 은닉 마르코프 모델 구성

가. 구성도

예제 설명

은닉 마르코프 모델 예

직접 볼 수 없는 지역의 날씨 상태를 예측하려고 함. (전화로 결과를 관찰 가능)

은닉 상태에는 비옴, 맑음(은닉변수)

관찰 결과에는 걷기, 쇼핑, 청소

(관찰자는 관찰 결과와 은닉 상태간의 확률적인 관계를 알고 있음. 즉, 은닉 마르코프 모델의 모수가 알려져 있음)

나. 마르코프의 대표적인 아키텍처

구분

아키텍처

설명

어고딕 (Ergodic) 모델

 

완결연결구조

좌우 (Left to Right) 모델

상태 전이가 왼쪽에서 오른쪽으로 일어남, 음성인식에서 사용

다. 매개 변수

구분

설명

상태 전이 확률

오늘 비가 왔을 때 내일 날씨가 맑을 확률

관측 확률

비가 올 때 집에 있을 확률, 비가 올 때 외출할 확률

초기상태 확률 벡터

  1. 을 기동시킬 때 어느 상태에서 시작할 지를 결정하는데 이용

- HMM에서는 상태를 은닉

라. 매개 변수와 3가지 문제점

구분

문제점

적용가능 방법

확률평가 문제

모델에서 관측값이 여러 개 일 때 각 출력 될 확률이 얼마인지 효과적으로 계산할 수 있어야 함

각 확률값에 따라 최적의 모델을 다수의 모델로부터 선택할 수 있기 때문

동적 프로그래밍 이용

(forward, backward 알고리즘)

최적상태 열을 찾는 문제(디코딩)

가장 최적의 숨겨져 있는 상태열을 어떻게 찾아낼 것인지 문제

동적 프로그래밍 이용

(Viterbi 알고리즘)

파라미터 추정 (학습)

  • (likelihood)를 최대화 하는 모델의 각 파라미터 추정은?- 곧, 관측열을 가장 잘 설명하는 모델의 파라미터들을 어떻게 최적화하여 구할 지의 문제- '학습의 문제'라고도 함 (성능을 결정하는 중요한 사항).

EM 알고리즘

(Baum-Welch 알고리즘)

 

Ⅲ. 은닉 마르코프 모델 활용과 실제 적용

활용: 음성 인식, DNA 분석 영역에서 활용

적용: 복잡한 계산을 위해 동적 계획법 (동적 테이블) 등을 활용하여 수행

댓글