SlideShare ist ein Scribd-Unternehmen logo
1 von 39
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
작업을 진행한다.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
 
20191019 sinkhorn
20191019 sinkhorn20191019 sinkhorn
20191019 sinkhorn
 
Multi-armed Bandits
Multi-armed BanditsMulti-armed Bandits
Multi-armed Bandits
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement Learning
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
Proximal Policy Optimization
Proximal Policy OptimizationProximal Policy Optimization
Proximal Policy Optimization
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 
Doing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPODoing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPO
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
 

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

강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
 

Ähnlich wie 은닉 마르코프 모델, Hidden Markov Model(HMM) (11)

[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
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
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)
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 
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
 

Mehr von 찬희 이

Mehr von 찬희 이 (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 작업을 진행한다.

Hinweis der Redaktion

  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. 수식 샘플 넣기