Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

Sequence labeling problem을 해결하는 모델 중 초기 모델인 Hidden markov model에 대해 정리한다. HMM을 설명하기 위한 기본 개념에서 벗어나지 않도록 작성한 자료이다.

- Markov chain
- Markov assumption
- Hidden markov model
- HMM training: forward-backward algorithm
- HMM likelihood computation
- HMM decoding: viterbi algorithm

  • Login to see the comments

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

  1. 1. Hidden Markov Model 이찬희 2019. 08. 22.
  2. 2. Sequence Labeling Problem
  3. 3. Sequence Labeling Problem - 문제를 해결하기 위한 모델 HMM Hidden Markov Model CRFs Continuous Random Fields RNN Recurrent Neural Network LSTM Long Short- Term Memory
  4. 4. Sequence Labeling Problem - 문제를 해결하기 위한 모델 HMM Hidden Markov Model CRFs Continuous Random Fields RNN Recurrent Neural Network LSTM Long Short- Term Memory
  5. 5. 참고 자료 • D. Jurafsky and J. Martin, “Part-of-Speech Tagging,” in Speech and Language Processing, 2019. https://web.stanford.edu/~jurafsky/slp3/8.pdf • D. Jurafsky and J. Martin, “Hidden Markov Models,” in Speech and Language Processing, 2019. https://web.stanford.edu/~jurafsky/slp3/A.pdf
  6. 6. Markov Chain State sequence 생성을 확률적으로 표현하는 모델 State transition에 대한 가정이 있음 HMM은 Markov Chain을 확장한 모델
  7. 7. Markov Chain State sequence 생성을 확률적으로 표현하는 모델 State transition에 대한 가정이 있음 HMM은 Markov Chain을 확장한 모델 단어, 태그, 기호 등이 될 수 있음 (예. 품사) Markov Assumption
  8. 8. Markov Assumption 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 시간 i 시점의 State
  9. 9. Markov Assumption 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 미래 과거 현재
  10. 10. Markov Chain Markov Chain의 구성 요소 Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) π = Initial probability distribution (State 초기 확률)
  11. 11. Markov Chain Markov Chain 그림 예시 Q = 모든 State의 집합 = {HOT, COLD, WARM} A = Transition probability matrix = .6 .1 .3 .3 .8 .1 .3 .1 .6 π = Initial probability distribution → 그림에는 표현 안됨 𝑞1 𝑞2 𝑞3
  12. 12. Hidden Markov Model(HMM) Observation sequence에 따른 State sequence 생성을 확률적으로 표현하는 모델 State → (Observation, State) Observation sequence의 등장에 맞춰 가정이 확장됨
  13. 13. Hidden Markov Model(HMM) Observation sequence에 따른 State sequence 생성을 확률적으로 표현하는 모델 State → (Observation, State) Observation sequence의 등장에 맞춰 가정이 확장됨 Markov Chain State sequence 생성을 확률적으로 표현하는 모델
  14. 14. HMM - Assumptions Observation은 같은 시간의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 𝑃 𝑜𝑖 𝑞1, … , 𝑞𝑖, … , 𝑞 𝑇, 𝑜1, … , 𝑜𝑖, … , 𝑜 𝑇 = 𝑃(𝑜𝑖|𝑞𝑖) Markov Assumption Output Independence 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다
  15. 15. HMM Hidden Markov Model의 구성 요소 Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) O = Observation sequence B = Observation likelihood matrix (State에서 Observation이 발생할 확률) π = Initial probability distribution(State 초기 확률) . 𝝀 = 𝑨, 𝑩 = HMM → HMM이 학습할 대상이자, HMM 자체를 표현하는 기호
  16. 16. HMM Hidden Markov Model 그림 예시 (Observation = 팔린 아이스크림의 개수) Q = 모든 State의 집합 = {HOT, COLD} A = Transition probability matrix = .6 .4 .5 .5 O = Observation sequence → 그림에는 표현 안됨 B = Observation likelihoods = .2 .5 .4 .4 .4 .1 π = Initial probability distribution = .8 .2 팔린 아이스크림의 개수 𝑞1 𝑞2
  17. 17. HMM – Three Problems 1. Training: HMM 𝜆를 학습 2. Likelihood: Observation sequence O의 Likelihood를 계산 3. Decoding: 가장 높은 가능성의 Hidden state sequence Q를 찾는 작업 Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) O = Observation sequence B = Observation likelihood matrix (State에서 Observation이 발생할 확률) π = Initial probability distribution(State 초기 확률) . 𝜆 = 𝐴, 𝐵 = HMM → HMM이 학습할 대상이자, HMM 자체를 표현하는 기호
  18. 18. HMM Training • Training의 목표 • HMM 𝜆를 최적화하는 것 즉, 𝝀 = (𝑨, 𝑩)이기 때문에 A, B를 최적화하는 것 • Transition probability matrix A 학습 방법 • 𝑎 𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 • Observation Likelihood Matrix B 학습 방법 • 𝛽𝑗(𝑣 𝑘) = 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑖 등장 횟수 • 각 시간에서의 확률 또는 횟수를 측정하여 합계를 하여 산출 V: Observation의 Vocabulary 확률인 경우, Joint probability Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) O = Observation sequence B = Observation likelihood matrix (State에서 Observation이 발생할 확률) π = Initial probability distribution(State 초기 확률) . 𝜆 = 𝐴, 𝐵 = HMM → HMM이 학습할 대상이자, HMM 자체를 표현하는 기호
  19. 19. HMM Training 학습 데이터에 따른 진행 과정 1. Observation sequence, State vocabulary + State sequence를 알고 있을 때 • 쉬움, 학습 데이터에서 Observation과 State의 등장빈도를 통해 A, B를 추정 • 예시. 세종 형태분석 말뭉치를 사용한 학습 2. Observation sequence, State vocabulary 만 알고 있을 때 • 어려움, 각 시간마다 확률을 계산, 수렴할 때까지 반복하며 A, B를 업데이트 • Real HMM
  20. 20. HMM Training – State Sequence도 알고 있을 때 학습 데이터에서 Observation과 State의 등장빈도를 통해 추정 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘)) 𝐶𝑜𝑢𝑛𝑡(𝑞𝑖) 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝐶𝑜𝑢𝑛𝑡(𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗) 𝐶𝑜𝑢𝑛𝑡(𝑞𝑖) Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) O = Observation sequence B = Observation likelihood matrix (State에서 Observation이 발생할 확률) π = Initial probability distribution(State 초기 확률) . 𝜆 = 𝐴, 𝐵 = HMM → HMM이 학습할 대상이자, HMM 자체를 표현하는 기호
  21. 21. 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘)) 𝐶𝑜𝑢𝑛𝑡(𝑞𝑖) 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝐶𝑜𝑢𝑛𝑡 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗 𝐶𝑜𝑢𝑛𝑡 𝑞𝑖 HMM Training – State Sequence도 알고 있을 때 학습 방법 예시 (한 문장만 학습, 띄어쓰기 특별처리 없이) • 세종 형태분석 말뭉치 NNG NNB JKS VCP EF SP SF <s> 1/1 NNG 4/9 1/9 1/9 1/9 2/9 NNB 1/1 JKS 1/1 VCP 1/1 EF 1/1 SP 2/2 SF 빙수기 , 샤베트기 얼음 물통 등 ... 이 인기 다 . NNG 1/9 1/9 1/9 1/9 1/9 NNB 1/1 JKS 1/1 VCP 1/1 EF 1/1 SP 2/2 SF 1/1 • 학습 데이터 • Transition probability matrix A • Observation likelihood matrix B NNG에서 시작하는 Transition 수 = 9개 NNG → NNG Transition 수 = 4개 NNG 등장 횟수 = 9개 (NNG, 샤베트기) 등장 횟수 = 1개
  22. 22. 각 시간마다 확률을 계산, 수렴할 때까지 반복 HMM Training – Real HMM 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝑡=1 𝑇−1 𝜉𝑡 𝑖, 𝑗 𝑡=1 𝑇−1 𝑘=1 𝑁 𝜉𝑡 𝑖, 𝑘 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘 𝑇 𝛾𝑡 𝑗 𝑡=1 𝑇 𝛾𝑡 𝑗 𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀 𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀) • Transition Probability Matrix A • Observation Likelihood Matrix B
  23. 23. HMM Training – Real HMM 각 시간마다 확률을 계산, 수렴할 때까지 반복 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝑡=1 𝑇−1 𝜉𝑡 𝑖, 𝑗 𝑡=1 𝑇−1 𝑘=1 𝑁 𝜉𝑡 𝑖, 𝑘 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘 𝑇 𝛾𝑡 𝑗 𝑡=1 𝑇 𝛾𝑡 𝑗 𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀 𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀) 시간 t→t+1로 변화 시, State 𝒒𝒊→𝒒𝒋로 Transition할 확률 시간 t→t+1로 변화 시, State 𝑞𝑖에서 시작하는 모든 Transition의 확률 합계 모든 시간에 대해 합계 • Transition Probability Matrix A • Observation Likelihood Matrix B 모든 시간에 대해 합계 모든 시간 중 Observation 𝑣 𝑘일 때, (s.t. = such that, 다음과 같은) 시간 t에 State 𝒒𝒋일 확률
  24. 24. HMM Training – Real HMM 𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆) • Q: 아래 식을 어떻게 구하는가? • A Forward-Backward Algorithm
  25. 25. HMM Training – Real HMM – Forward-Backward Algorithm • Forward-Backward Algorithm = Forward Algorithm + Backward Algorithm • 두 알고리즘 모두 시간 t에 State 𝒒𝒋일 때의 Observation likelihood를 계산 • Forward Algorithm은 시작 시간부터 시간 t까지의 Observation sequence에 대한 Likelihood를 계산 • Backward Algorithm은 시간 t+1부터 종료 시간까지 Observation sequence에 대해 Likelihood를 계산
  26. 26. HMM Training – Real HMM – Forward-Backward Algorithm Forward-Backward Algorithm 예시
  27. 27. HMM Training – Real HMM – Forward-Backward Algorithm Forward-Backward Algorithm 예시 Forward Algorithm 𝛼 𝑡 𝑗 = State 𝑠𝑗일 때, Observation sequence 𝑜1, … , 𝑜𝑡의 Likelihood를 계산 Backward Algorithm 𝛽𝑡 𝑗 = State 𝑠𝑗일 때, Observation sequence 𝑜𝑡+1, … , 𝑜 𝑇의 Likelihood를 계산 State 𝑠𝑗, Time 𝑡
  28. 28. HMM Training – Real HMM – Forward Algorithm Forward Algorithm 𝛼 𝑡 𝑗 = 𝑃 𝑜1, 𝑜2, … , 𝑜𝑡, 𝑞𝑡 = 𝑗 𝜆 = 𝑖=1 𝑁 𝛼 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡) 유도과정 𝛼2 𝑗 = 𝑃 𝑜1, 𝑜2, 𝑞2 = 𝑗 𝜆 = 𝑖=1 𝑁 𝛼1 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜2 𝛼3(𝑗) = 𝑃 𝑜1, 𝑜2, 𝑜3, 𝑞3 = 𝑗 𝜆 = 𝑖=1 𝑁 𝛼2 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜3) … 𝑎 𝑡 𝑗 = 𝑖=1 𝑁 𝛼 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜3) 시간 t의 Observation likelihood를 포함한 확률임에 유의
  29. 29. HMM Training – Real HMM – Forward Algorithm 참고. Forward Algorithm 𝛼 𝑡 𝑗 의 복잡도 = 𝑂 𝑁2 + 𝑂 𝑁2 × 𝑂 𝑇 = 𝑂 𝑁2 𝑇 유도과정 𝛼2 𝑗 = 𝑃 𝑜1, 𝑜2, 𝑞2 = 𝑗 𝜆 = 𝑖=1 𝑁 𝛼1 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜2 𝛼3(𝑗) = 𝑃 𝑜1, 𝑜2, 𝑜3, 𝑞3 = 𝑗 𝜆 = 𝑖=1 𝑁 𝛼2 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜3) … 𝑎 𝑡 𝑗 = 𝑖=1 𝑁 𝛼 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜3) 시간 t의 Observation likelihood를 포함한 확률임에 유의
  30. 30. HMM Training – Real HMM – Forward Algorithm Forward algorithm 진행 절차
  31. 31. HMM Training – Real HMM – Backward Algorithm Backward Algorithm 𝛽𝑡 𝑖 = 𝑃 𝑜𝑡+1, 𝑜𝑡+2, … , 𝑜 𝑇 𝑞𝑡 = 𝑖, 𝜆 = 𝑗=1 𝑁 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1(𝑗) 유도과정 𝛽 𝑇−1 𝑖 = 𝑃 𝑜 𝑇 𝑞 𝑇−1 = 𝑖, 𝜆 = 𝑗=1 𝑁 𝑎𝑖𝑗 𝑏𝑗 𝑜 𝑇 𝛽 𝑇(𝑗) 𝛽 𝑇−2(𝑖) = 𝑃 𝑜 𝑇−1, 𝑜 𝑇 𝑞 𝑇−2 = 𝑖, 𝜆 = 𝑗=1 𝑁 𝑎𝑖𝑗 𝑏𝑗 𝑜 𝑇−1 𝛽 𝑇−1(𝑗) … 𝛽𝑡 𝑖 = 𝑗=1 𝑁 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1(𝑗) 시간 t의 Observation likelihood를 포함하지 않는 확률임에 유의
  32. 32. HMM Training – Real HMM – Backward Algorithm Backward algorithm 진행 절차
  33. 33. HMM Training – Real HMM – Transition Probability Matrix A 𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 유도 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝑡=1 𝑇−1 𝜉𝑡 𝑖, 𝑗 𝑡=1 𝑇−1 𝑘=1 𝑁 𝜉𝑡 𝑖, 𝑘 𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗, 𝑂 𝜆 𝑃 𝑂 𝜆 = 𝛼 𝑡 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1 𝑗 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘) − 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗, 𝑂 λ = 𝛼 𝑡 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1 𝑗 𝑃 𝑂 𝜆 = 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
  34. 34. HMM Training – Real HMM – Observation Likelihood Matrix B 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆) 유도 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘 𝑇 𝛾𝑡 𝑗 𝑡=1 𝑇 𝛾𝑡 𝑗 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆)𝛾𝑡 𝑗 = 𝑃 𝑞𝑡 = 𝑗 𝑂, 𝜆 = 𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆 𝑃 𝑂 𝜆 = 𝛼 𝑡 𝑗 𝛽𝑡+1 𝑗 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘) 𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆 = 𝛼 𝑡 𝑗 𝛽𝑡 𝑗 𝑃 𝑂 𝜆 = 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
  35. 35. HMM Likelihood Computation HMM 𝜆을 사용하여 Observation sequence의 등장 확률. 즉, 𝑷(𝑶|𝝀)를 구하는 것 Forward Algorithm을 사용하여 구해주면 됨 HMM Training 설명에서 이미 포함된 내용이므로 넘어감
  36. 36. HMM Decoding HMM 𝜆와 Observation sequence에 따른 Hidden state sequence를 찾는 과정 Forward Algorithm과 유사한 Viterbi Algorithm을 사용 시간 t일 때 State 𝑞𝑖 확률을 가장 높게 만들어주는 경로를 찾고 기억하는 과정을 반복적으로 수행
  37. 37. HMM Decoding Viterbi algorithm 𝑣 𝑡 𝑗 = max 𝑞1,…,𝑞 𝑡−1 𝑣 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡) 예시 𝑞2 = 𝑐의 Best path pointer: H Best path probability: 0.064
  38. 38. HMM Decoding Viterbi algorithm, forward algorithm과의 비교 Forward AlgorithmViterbi Algorithm
  39. 39. 정리 • HMM은 Sequence labeling(=classification)을 위한 모델로, Observation sequence를 통해 Hidden state sequence를 찾아낸다. • HMM은 주요 구성 요소로는 Transition probability matrix와 Observation likelihood matrix가 있다. • HMM의 학습은 학습 데이터의 State sequence 여부에 따라 다른 과정으로 진행된다. • 학습 데이터가 없는 경우 Forward-backward algorithm을 사용하여 시간 별로 Transition, observation likelihood를 계산, 합계, 반복하는 작업을 통해 모델을 추정해간다. • Training을 통해 만들어진 HMM을 사용하여 최적의 Hidden state sequence를 찾는 Decoding 작업을 진행한다.

×