SlideShare a Scribd company logo
Hidden Markov Model
이찬희
2019. 08. 22.
Sequence Labeling Problem
Sequence Labeling Problem
- 문제를 해결하기 위한 모델
HMM
Hidden
Markov Model
CRFs
Continuous
Random Fields
RNN
Recurrent
Neural Network
LSTM
Long Short-
Term Memory
Sequence Labeling Problem
- 문제를 해결하기 위한 모델
HMM
Hidden
Markov Model
CRFs
Continuous
Random Fields
RNN
Recurrent
Neural Network
LSTM
Long Short-
Term Memory
참고 자료
• 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
Markov Chain
State sequence 생성을
확률적으로 표현하는 모델
State transition에 대한 가정이 있음
HMM은 Markov Chain을 확장한 모델
Markov Chain
State sequence 생성을
확률적으로 표현하는 모델
State transition에 대한 가정이 있음
HMM은 Markov Chain을 확장한 모델
단어, 태그, 기호 등이
될 수 있음 (예. 품사)
Markov Assumption
Markov Assumption
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
시간 i 시점의 State
Markov Assumption
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
미래 과거 현재
Markov Chain
Markov Chain의 구성 요소
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
π = Initial probability distribution
(State 초기 확률)
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
Hidden Markov Model(HMM)
Observation sequence에 따른
State sequence 생성을
확률적으로 표현하는 모델
State → (Observation, State)
Observation sequence의 등장에
맞춰 가정이 확장됨
Hidden Markov Model(HMM)
Observation sequence에 따른
State sequence 생성을
확률적으로 표현하는 모델
State → (Observation, State)
Observation sequence의 등장에
맞춰 가정이 확장됨
Markov Chain
State sequence 생성을
확률적으로 표현하는 모델
HMM - Assumptions
Observation은 같은 시간의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
𝑃 𝑜𝑖 𝑞1, … , 𝑞𝑖, … , 𝑞 𝑇, 𝑜1, … , 𝑜𝑖, … , 𝑜 𝑇 = 𝑃(𝑜𝑖|𝑞𝑖)
Markov Assumption
Output Independence
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
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
자체를 표현하는 기호
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
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 자체를 표현하는 기호
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 자체를 표현하는 기호
HMM Training
학습 데이터에 따른 진행 과정
1. Observation sequence, State vocabulary
+ State sequence를 알고 있을 때
• 쉬움, 학습 데이터에서 Observation과
State의 등장빈도를 통해 A, B를 추정
• 예시. 세종 형태분석 말뭉치를 사용한 학습
2. Observation sequence, State vocabulary
만 알고 있을 때
• 어려움, 각 시간마다 확률을 계산, 수렴할
때까지 반복하며 A, B를 업데이트
• Real HMM
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 자체를 표현하는 기호
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘))
𝐶𝑜𝑢𝑛𝑡(𝑞𝑖)
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝐶𝑜𝑢𝑛𝑡 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗
𝐶𝑜𝑢𝑛𝑡 𝑞𝑖
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개
각 시간마다 확률을 계산, 수렴할 때까지 반복
HMM Training – Real HMM
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝑡=1
𝑇−1
𝜉𝑡 𝑖, 𝑗
𝑡=1
𝑇−1
𝑘=1
𝑁
𝜉𝑡 𝑖, 𝑘
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘
𝑇
𝛾𝑡 𝑗
𝑡=1
𝑇
𝛾𝑡 𝑗
𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀
𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀)
• Transition Probability Matrix A
• Observation Likelihood Matrix B
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 𝒒𝒋일 확률
HMM Training – Real HMM
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆
𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆)
• Q: 아래 식을 어떻게 구하는가? • A
Forward-Backward Algorithm
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를 계산
HMM Training
– Real HMM – Forward-Backward Algorithm
Forward-Backward Algorithm 예시
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 𝑡
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를
포함한 확률임에 유의
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를
포함한 확률임에 유의
HMM Training
– Real HMM – Forward Algorithm
Forward algorithm 진행 절차
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를
포함하지 않는 확률임에 유의
HMM Training
– Real HMM – Backward Algorithm
Backward algorithm 진행 절차
HMM Training
– Real HMM – Transition Probability Matrix A
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 유도
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝑡=1
𝑇−1
𝜉𝑡 𝑖, 𝑗
𝑡=1
𝑇−1
𝑘=1
𝑁
𝜉𝑡 𝑖, 𝑘
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 =
𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗, 𝑂 𝜆
𝑃 𝑂 𝜆
=
𝛼 𝑡 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1 𝑗
𝑘=1
𝑁
𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
−
𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗, 𝑂 λ = 𝛼 𝑡 𝑖 𝑎𝑖𝑗 𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1 𝑗
𝑃 𝑂 𝜆 =
𝑘=1
𝑁
𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
HMM Training
– Real HMM – Observation Likelihood Matrix B
𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆) 유도
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘
𝑇
𝛾𝑡 𝑗
𝑡=1
𝑇
𝛾𝑡 𝑗
𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆)𝛾𝑡 𝑗 = 𝑃 𝑞𝑡 = 𝑗 𝑂, 𝜆 =
𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆
𝑃 𝑂 𝜆
=
𝛼 𝑡 𝑗 𝛽𝑡+1 𝑗
𝑘=1
𝑁
𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆 = 𝛼 𝑡 𝑗 𝛽𝑡 𝑗
𝑃 𝑂 𝜆 =
𝑘=1
𝑁
𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
HMM Likelihood Computation
HMM 𝜆을 사용하여
Observation sequence의 등장 확률.
즉, 𝑷(𝑶|𝝀)를 구하는 것
Forward Algorithm을 사용하여 구해주면 됨
HMM Training 설명에서
이미 포함된 내용이므로 넘어감
HMM Decoding
HMM 𝜆와 Observation sequence에 따른
Hidden state sequence를 찾는 과정
Forward Algorithm과 유사한 Viterbi Algorithm을 사용
시간 t일 때 State 𝑞𝑖 확률을
가장 높게 만들어주는 경로를 찾고
기억하는 과정을 반복적으로 수행
HMM Decoding
Viterbi algorithm 𝑣 𝑡 𝑗 = max
𝑞1,…,𝑞 𝑡−1
𝑣 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡) 예시
𝑞2 = 𝑐의
Best path pointer: H
Best path probability: 0.064
HMM Decoding
Viterbi algorithm, forward algorithm과의 비교
Forward AlgorithmViterbi Algorithm
정리
• 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
작업을 진행한다.

More Related Content

What's hot

Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근
Sooyoung Moon
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
NAVER D2
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
Yongho Ha
 
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
Yongho Ha
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
Woong won Lee
 
Time series classification
Time series classificationTime series classification
Time series classification
Sung Kim
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
Donghun Lee
 
Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
Lee Ji Eun
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
Eunjeong (Lucy) Park
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
SANG WON PARK
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
DaeMyung Kang
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
Jongwon Han
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
Kang Pilsung
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
Dongmin Lee
 
Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)
Minho Lee
 
가깝고도 먼 Trpo
가깝고도 먼 Trpo가깝고도 먼 Trpo
가깝고도 먼 Trpo
Woong won Lee
 
카카오의 광고지능 (Intelligence on Kakao Advertising)
카카오의 광고지능 (Intelligence on Kakao Advertising)카카오의 광고지능 (Intelligence on Kakao Advertising)
카카오의 광고지능 (Intelligence on Kakao Advertising)
if kakao
 
Alphastar page 8 , Meaning of multi-agent in alphastar
Alphastar page 8 , Meaning of multi-agent in alphastarAlphastar page 8 , Meaning of multi-agent in alphastar
Alphastar page 8 , Meaning of multi-agent in alphastar
Kyoungman Lee
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
Taehoon Kim
 

What's hot (20)

Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
Time series classification
Time series classificationTime series classification
Time series classification
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
 
Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
 
Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)Causal Inference : Primer (2019-06-01 잔디콘)
Causal Inference : Primer (2019-06-01 잔디콘)
 
가깝고도 먼 Trpo
가깝고도 먼 Trpo가깝고도 먼 Trpo
가깝고도 먼 Trpo
 
카카오의 광고지능 (Intelligence on Kakao Advertising)
카카오의 광고지능 (Intelligence on Kakao Advertising)카카오의 광고지능 (Intelligence on Kakao Advertising)
카카오의 광고지능 (Intelligence on Kakao Advertising)
 
Alphastar page 8 , Meaning of multi-agent in alphastar
Alphastar page 8 , Meaning of multi-agent in alphastarAlphastar page 8 , Meaning of multi-agent in alphastar
Alphastar page 8 , Meaning of multi-agent in alphastar
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
 

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

[Probability for machine learning]
[Probability for machine learning][Probability for machine learning]
[Probability for machine learning]
강민국 강민국
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
Jeonghun Yoon
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
종현 최
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
ssuserbd1647
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1
San Kim
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
Jeonghun Yoon
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
Woong won Lee
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
Jeonghun Yoon
 
Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)
Jeonghun Yoon
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational Inference
KyeongUkJang
 

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

[Probability for machine learning]
[Probability for machine learning][Probability for machine learning]
[Probability for machine learning]
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational Inference
 

More from 찬희 이

Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
찬희 이
 
의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser
찬희 이
 
mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전
찬희 이
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
찬희 이
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기
찬희 이
 
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
찬희 이
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
찬희 이
 
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
찬희 이
 
Dependency Parser, 의존 구조 분석기
Dependency Parser, 의존 구조 분석기Dependency Parser, 의존 구조 분석기
Dependency Parser, 의존 구조 분석기
찬희 이
 
Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거
찬희 이
 
프로젝트용 PC 환경구성 이찬희
프로젝트용 PC 환경구성   이찬희프로젝트용 PC 환경구성   이찬희
프로젝트용 PC 환경구성 이찬희
찬희 이
 

More from 찬희 이 (11)

Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
 
의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser
 
mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기
 
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
 
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
 
Dependency Parser, 의존 구조 분석기
Dependency Parser, 의존 구조 분석기Dependency Parser, 의존 구조 분석기
Dependency Parser, 의존 구조 분석기
 
Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거
 
프로젝트용 PC 환경구성 이찬희
프로젝트용 PC 환경구성   이찬희프로젝트용 PC 환경구성   이찬희
프로젝트용 PC 환경구성 이찬희
 

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

  • 3. Sequence Labeling Problem - 문제를 해결하기 위한 모델 HMM Hidden Markov Model CRFs Continuous Random Fields RNN Recurrent Neural Network LSTM Long Short- Term Memory
  • 4. Sequence Labeling Problem - 문제를 해결하기 위한 모델 HMM Hidden Markov Model CRFs Continuous Random Fields RNN Recurrent Neural Network LSTM Long Short- Term Memory
  • 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. Markov Chain State sequence 생성을 확률적으로 표현하는 모델 State transition에 대한 가정이 있음 HMM은 Markov Chain을 확장한 모델
  • 7. Markov Chain State sequence 생성을 확률적으로 표현하는 모델 State transition에 대한 가정이 있음 HMM은 Markov Chain을 확장한 모델 단어, 태그, 기호 등이 될 수 있음 (예. 품사) Markov Assumption
  • 8. Markov Assumption 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 시간 i 시점의 State
  • 9. Markov Assumption 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 미래 과거 현재
  • 10. Markov Chain Markov Chain의 구성 요소 Q = 모든 State의 집합 A = Transition probability matrix (State 사이의 Transition 확률) π = Initial probability distribution (State 초기 확률)
  • 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. Hidden Markov Model(HMM) Observation sequence에 따른 State sequence 생성을 확률적으로 표현하는 모델 State → (Observation, State) Observation sequence의 등장에 맞춰 가정이 확장됨
  • 13. Hidden Markov Model(HMM) Observation sequence에 따른 State sequence 생성을 확률적으로 표현하는 모델 State → (Observation, State) Observation sequence의 등장에 맞춰 가정이 확장됨 Markov Chain State sequence 생성을 확률적으로 표현하는 모델
  • 14. HMM - Assumptions Observation은 같은 시간의 State에만 영향을 받는다 𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1) 𝑃 𝑜𝑖 𝑞1, … , 𝑞𝑖, … , 𝑞 𝑇, 𝑜1, … , 𝑜𝑖, … , 𝑜 𝑇 = 𝑃(𝑜𝑖|𝑞𝑖) Markov Assumption Output Independence 미래는 현재에만 영향을 받고 과거에는 영향을 받지 않는다 바로 직전의 State에만 영향을 받는다
  • 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. 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. 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. 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. HMM Training 학습 데이터에 따른 진행 과정 1. Observation sequence, State vocabulary + State sequence를 알고 있을 때 • 쉬움, 학습 데이터에서 Observation과 State의 등장빈도를 통해 A, B를 추정 • 예시. 세종 형태분석 말뭉치를 사용한 학습 2. Observation sequence, State vocabulary 만 알고 있을 때 • 어려움, 각 시간마다 확률을 계산, 수렴할 때까지 반복하며 A, B를 업데이트 • Real HMM
  • 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. 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘)) 𝐶𝑜𝑢𝑛𝑡(𝑞𝑖) 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝐶𝑜𝑢𝑛𝑡 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗 𝐶𝑜𝑢𝑛𝑡 𝑞𝑖 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. 각 시간마다 확률을 계산, 수렴할 때까지 반복 HMM Training – Real HMM 𝑎𝑖𝑗 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수 = 𝑡=1 𝑇−1 𝜉𝑡 𝑖, 𝑗 𝑡=1 𝑇−1 𝑘=1 𝑁 𝜉𝑡 𝑖, 𝑘 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘 𝑇 𝛾𝑡 𝑗 𝑡=1 𝑇 𝛾𝑡 𝑗 𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀 𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀) • Transition Probability Matrix A • Observation Likelihood Matrix B
  • 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. HMM Training – Real HMM 𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆) • Q: 아래 식을 어떻게 구하는가? • A Forward-Backward Algorithm
  • 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. HMM Training – Real HMM – Forward-Backward Algorithm Forward-Backward Algorithm 예시
  • 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. 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. 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. HMM Training – Real HMM – Forward Algorithm Forward algorithm 진행 절차
  • 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. HMM Training – Real HMM – Backward Algorithm Backward algorithm 진행 절차
  • 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. HMM Training – Real HMM – Observation Likelihood Matrix B 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆) 유도 𝛽𝑗 𝑣 𝑘 = 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수 𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수 = 𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘 𝑇 𝛾𝑡 𝑗 𝑡=1 𝑇 𝛾𝑡 𝑗 𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆)𝛾𝑡 𝑗 = 𝑃 𝑞𝑡 = 𝑗 𝑂, 𝜆 = 𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆 𝑃 𝑂 𝜆 = 𝛼 𝑡 𝑗 𝛽𝑡+1 𝑗 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘) 𝑃 𝑞𝑡 = 𝑗, 𝑂 𝜆 = 𝛼 𝑡 𝑗 𝛽𝑡 𝑗 𝑃 𝑂 𝜆 = 𝑘=1 𝑁 𝛼 𝑡 𝑘 𝛽𝑡(𝑘)
  • 35. HMM Likelihood Computation HMM 𝜆을 사용하여 Observation sequence의 등장 확률. 즉, 𝑷(𝑶|𝝀)를 구하는 것 Forward Algorithm을 사용하여 구해주면 됨 HMM Training 설명에서 이미 포함된 내용이므로 넘어감
  • 36. HMM Decoding HMM 𝜆와 Observation sequence에 따른 Hidden state sequence를 찾는 과정 Forward Algorithm과 유사한 Viterbi Algorithm을 사용 시간 t일 때 State 𝑞𝑖 확률을 가장 높게 만들어주는 경로를 찾고 기억하는 과정을 반복적으로 수행
  • 37. HMM Decoding Viterbi algorithm 𝑣 𝑡 𝑗 = max 𝑞1,…,𝑞 𝑡−1 𝑣 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡) 예시 𝑞2 = 𝑐의 Best path pointer: H Best path probability: 0.064
  • 38. HMM Decoding Viterbi algorithm, forward algorithm과의 비교 Forward AlgorithmViterbi Algorithm
  • 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 작업을 진행한다.

Editor's Notes

  1. 시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
  2. 시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
  3. A, B의 초기값 설정과 Expectation-Maximization(EM) 알고리즘과 유사한 과정을 통해 수렴할 때까지 학습 Count 기반의 Maximum Likelihood Estimation(MLE)을 통해 A, B를 학습
  4. 수식 샘플 넣기