공부 정리 블로그

시계열 데이터3 - HMM 본문

대학원 수업/패턴인식

시계열 데이터3 - HMM

따옹 2022. 12. 19. 01:04

마코프 모델 HMM 차이

마코프 - state별로 하나씩 상태가 있음

HMM - 각각 state에서 어떤 관측값이 있을지 확률값으로 나타남

하나의 관측값에서 여러가지 상태값이 확률로 나타남

어떤 상태의 행렬이 나타남에 따라 관측값이 다르게 나타남

모든 가능한 상태값 들 중 가장 큰 확률을 가지는 상태의 관측값을 선택

 

모델이 주어졌을 때, 어떤 관측값에 대한 확률을 추론할 수 있음

 

아키텍쳐

HMM은 가중치 방향 그래프로 표현

-노드가 상태

-상태로 사용할 것이 명확한 경우도 있지만 그렇지 않은 경우도 있음

대표적인 아키텍쳐

어고딕(반복적인 state가 나타나는 모델), 좌우 모델(음성 인식 적당)

HMM의 구성요소

세 가지 문제

평가 : 모델 theta가 주어진 상황에서, 관측벡터 O를 얻었을때, P(O|theta)? / 동적 프로그래밍

디코딩 : 모델이 주어진 상황에서 관측벡터 O를 얻었을 때, 최적 상태열은? (가장 가능성이 높은 날씨) / 동적 프로그래밍(Viterbi 알고리즘)

학습 : 훈련집합 X={O1,,,,On}이 주어졌을때, HMM의 매개 변수 theta는? / EM 알고리즘(Baum-Welch 알고리즘)

평가 문제란?

모델 theta가 주어진 상황에서, 관측 벡터 O를 얻었을 때, P(O|theta)?

예) 그녀가 일주일 연속으로 쇼핑만 할 확률은?

 

평가 문제

HMM에서는 O를 관측한 상태 열을 모른다.

우선 O를 관측한 열을 안다고 가정하고 그것을 Q=(q1,,,,,qr)이라 함

답은 구할 수 있지만

상태 열의 개수는 2**4 = 16가지

일반적으로 상태의 수가 n이고 관측 열 O의 길이가 Tfkaus, N**T가지의 상태 열

각각의 상태 열은 2T-1번의 곱셈. 따라서 시간 복잡도는 (N**T T)

 

보다 효율적인 알고리즘이 있음

기본 아이디어는 동적 프로그래밍에 의한 중복 계산 제거

 

디코딩

모델 theta가 주어진 상황에서, 관측 벡터  O를 얻었을 때, 그것의 최적 상태열은?

 산책-산책-청소를 했다면 3일간 그곳 날씨는?

무엇을 기준으로 최적을 판단할 것인가?

phi, a 값 고려하지 않아서 최적이 아님

 

Viterbi 알고리즘

 

 

학습문제는?

관측 벡터 O가 주어져 있을 때, HMM의 매개 변수 theta는?

즉 O의 발생 활률을 최대로 하는 theta를 찾는 문제

평가와 디코딩의 반대 작업

평가와 디코딩 같은 분석적 방법 대신 수치적 방법으로 접근

 

 

전채적으로 EM알고리즘 사용!

초기값은 랜덤 / 멈춤 조건 필요

특성

수렴, 욕심 알고리즘이므로 전역 최적점 보장 x

 

어고딕과 좌우 모델

크기문제(어고딕) 다중 관측 학습(좌우 모델)

 

HMM은 생성 모델

모델로부터 값을 생성할 수 있을 때, generative model

HMM을 예측 목적으로 사용, 분류기로 사용

그러기 위해서 적절한 아키텍쳐를 선택해야함

그녀의 삶(ergodic), 음성 인은 어떤 모델?(left-right)

상태의 개수를 적절히 해야함

 

 

 

 

 

 

 

'대학원 수업 > 패턴인식' 카테고리의 다른 글

특징추출2- 주성분 분석  (0) 2022.12.19
특징 추출1- 퓨리에 변환  (0) 2022.12.19
시계열 데이터1 - Markov chain  (0) 2022.12.19
질적 분류2 - 스트링 인식기  (0) 2022.12.18
질적 분류 decision tree  (1) 2022.12.18