공부 정리 블로그
시계열 데이터3 - HMM 본문
마코프 모델 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일간 그곳 날씨는?
무엇을 기준으로 최적을 판단할 것인가?
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 |