110 likes | 270 Views
Algorithms for Hidden Markov Models. 고려대학교 자연어처리연구실 한 경 수 1999. 1. 23. 개요 - HMM 의 3 가지 문제. 모델의 학습 문제 (training problem) 관측열의 확률 가 최대가 되도록 모델의 인자 ( ) 를 조정하는 문제 HMM Training 모델의 평가 문제 (evaluation problem) 관측열과 모델이 주어졌을 때 , 주어진 모델에서 주어진 관측열이 발생할 확률 을 구하는 문제
E N D
Algorithms for Hidden Markov Models 고려대학교 자연어처리연구실 한 경 수 1999. 1. 23.
개요 - HMM의 3가지 문제 • 모델의 학습 문제(training problem) • 관측열의 확률 가 최대가 되도록 모델의 인자()를 조정하는 문제 • HMM Training • 모델의 평가 문제(evaluation problem) • 관측열과 모델이 주어졌을 때, 주어진 모델에서 주어진 관측열이 발생할 확률 을 구하는 문제 • Computing HMM Output Probabilities • 모델의 구조 추정 문제(estimation problem) • 주어진 관측열( )에 대해 숨겨진 최적의 상태열( )을 찾는 문제 • Finding the Most Likely Path Algorithms for HMM
Viterbi Algorithm(1/2) Finding the Most Likely Path • 정의 • 주어진 관측열에 대한 최적의 경로(상태열)를 찾는 알고리즘 • 길이 n의 관측열 에 대해 상태열 (n+1)을 찾는 알고리즘 • 특징 • 각 time tick마다 모든 가능 상태에 대한 최적의 상태열과 그 확률을 구하여 저장 • 최적의 전체 상태열만으로는 불충분 • linear time에 최적의 상태열 탐색 가능 (4.1) (4.2) (4.3) Algorithms for HMM
(4.4) (4.5) Viterbi Algorithm(2/2) Finding the Most Likely Path • 방식 • Forward algorithm • time tick t에 모든 상태에 도달하는 최적의 상태열을 알면, t+1에서 한 상태로의 최적 상태열은 t에서의 최적 상태열 중의 하나에 대한 확장이다. • Backward algorithm (4.6) (4.7) : 상태 에서 출발하여 단어열 를 생성하는 최대의 확률을 갖는 상태열 Algorithms for HMM
Forward Probability Computing HMM Output Probabilities • 정의 • 특징 • 를 모두 알면, 관측열의 발생 확률 를 쉽게 구할 수 있다. • 관측열을 따라 단어 단위로 앞쪽에서부터 뒤쪽으로 보면서 linear time에 를 계산해 낼 수 있다. (4.8) (4.9) (4.10) (4.11) (4.12) Algorithms for HMM
Backward Probability Computing HMM Output Probabilities • 정의 • 특징 • 관측열의 발생 확률 • backward probability 계산 (4.13) (4.16) (4.15) (4.18) Algorithms for HMM
Markov Chain의 전이 확률 추정 HMM Training • 문제 정의 • 전이 확률이 없는 Markov Chain과 그것으로 생성된 대표 텍스트가 주어졌을 때, 전이 확률을 추정해 내는 문제 • 전이 확률 추정 • 출발점이 상태 s인 전이 t를 취할 추정 확률은 s에서 출발하는 모든 전이를 취하는 횟수에 대한 전이 t를 취하는 횟수의 비율 (4.19) C: 전이 카운트(transition count) 함수 Algorithms for HMM
HMM의 전이 확률 추정(1/3) HMM Training • 어려운 점 • 관측열을 생성하는데 어떤 전이들이 사용되었는지를 알 수 없으므로 전이 카운트(transition count)를 직접 구할 수 없다. • 학습 알고리즘 1 • 경로(상태열)의 확률 이용 • 모든 전이가 사용되었다고 가정 • 경로의 확률을 이용한 비례배분(prorate)을 통해 전이 카운트 계산 (4.20) (4.21) : 을 출력하는 상태열 에서 전이 의 출현 횟수 Algorithms for HMM
HMM의 전이 확률 추정(2/3) HMM Training • 재추정(re-estimation) • 상태열의 확률을 구하려면 전이 확률을 먼저 알아야 한다. • 절차 • HMM 인자(parameter)에 대해 추측(guess). • 추측된 인자를 이용해서 상태열의 확률 계산 • 식 (4.21)을 이용하여 전이 카운트 계산 • 식 (4.19)를 이용하여 HMM 인자(전이 확률)를 재추정 • 모든 전이의 확률이 변함 없거나, 학습 코퍼스에 부여된 확률이 변화가 없을 때까지 2-4단계 반복 • Figure 4.8 • 평가 • 모든 가능한 상태열에 대해 계산이 이루어지므로 관측열의 길이에 대해 복잡도가 exponentially 증가 Algorithms for HMM
HMM의 전이 확률 추정(3/3) HMM Training • 개선된 알고리즘 2 • Baum-Welch algorithm(forward-backward algorithm) • 전이 카운트 • 각 time tick에서 해당 전이를 사용한 학습 단어열의 확률을 모든 가능한 time tick에 대해 총합하여 계산 • 절차 • HMM 인자(parameter)에 대해 추측(guess). • 추측된 인자를 이용해서 , 값 계산 • 식 (4.27)을 이용하여 전이 카운트 계산 • 식 (4.19)를 이용하여 HMM 인자(전이 확률)를 재추정 • 모든 전이의 확률이 변함 없거나, 학습 코퍼스에 부여된 확률이 변화가 없을 때까지 2-4단계 반복 (4.27) Algorithms for HMM
HMM 학습의 한계 HMM Training • Critical Point 문제 • 학습열에 대한 확률이 최대가 되도록 하기 위해 어느 방향으로 가야할지 명확히 알 수 없는 곳 • critical point에 빠지면 더 이상 확률을 개선 시킬 수 없다. • 해결책: 확률 값에 노이즈 첨가 • 과적응(overfitting) 문제 • 학습열에 의존적 • 학습열이 대표성이 있어야 학습 결과의 확률도 대표성을 갖을 수 있다. • local maximum 문제 • 학습 알고리즘은 hill-climbing과 비슷 • 전체적으로 최적의 인자를 찾지 못하고 local maximum에 빠질 수 있다. Algorithms for HMM