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
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
발표 영상 : https://youtu.be/klnfWhPGPRs
코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow
음성 합성 데모 : http://carpedm20.github.io/tacotron
발표 소개 : https://deview.kr/2017/schedule/182
딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Haezoom Inc.
인공신경망을 이용한 generative model로서 많은 관심을 받고 있는 Variational Autoencoder (VAE)를 보다 잘 이해하기 위해서, 여러 가지 재미있는 관점에서 바라봅니다. VAE 및 머신러닝 일반에 지식을 가지고 있는 청중을 대상으로 진행된 세미나 자료입니다. 현장에서 구두로 설명된 부분은 슬라이드의 회색 박스에 보충설명을 적어두었습니다.
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
발표 영상 : https://youtu.be/klnfWhPGPRs
코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow
음성 합성 데모 : http://carpedm20.github.io/tacotron
발표 소개 : https://deview.kr/2017/schedule/182
딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Haezoom Inc.
인공신경망을 이용한 generative model로서 많은 관심을 받고 있는 Variational Autoencoder (VAE)를 보다 잘 이해하기 위해서, 여러 가지 재미있는 관점에서 바라봅니다. VAE 및 머신러닝 일반에 지식을 가지고 있는 청중을 대상으로 진행된 세미나 자료입니다. 현장에서 구두로 설명된 부분은 슬라이드의 회색 박스에 보충설명을 적어두었습니다.
@PyCon Korea 2014
NLTK 덕에 파이썬으로 자연어처리를 하는 것이 편리해졌다. 단, 한국어만 분석하려하지 않는다면. 파이썬으로 한국어를 분석할 수는 없을까? 국문, 영문, 중문 등 다양한 문자가 섞여 있는 문서는 어떻게 분석을 할 수 있을까?
이 발표에서는 자연어처리의 기초적인 개념을 다룬 후, NLTK 등의 자연어처리 라이브러리와 한국어 분석을 위해 개발중인 KoNLPy를 소개한다. 또, 파이썬으로 한국어를 분석할 때 유용한 몇 가지 트릭을 공유한다.
http://konlpy.readthedocs.org
Causal Inference : Primer (2019-06-01 잔디콘)Minho Lee
- 2019-06-01 잔디컨퍼런스(잔디콘, @구글캠퍼스) 에서 발표한 자료입니다
- 데이터를 통해 인과관계를 추론하는 방법에 대해서 알아봅니다
- Potential Outcomes, Causal Graphical Models 에 대해 간단히 살펴봅니다
- 슬라이드 내에 오타가 있습니다 ㅠㅠ
- 22p, 28p : Perkson's 가 아니라 Berkson's Paradox 입니다
카카오의 광고지능 (Intelligence on Kakao Advertising)if kakao
정부환(ben.hur) / kakao
---
온라인 광고는 현재 인터넷 비즈니스 모델을 가능케하는 핵심 동인이다. 새로운 서비스가 등장하고 시장 규모가 커짐에 따라서 온라인 광고 생태계도 함께 진화하고 여러 기술적 도전이 있다. 지면 중심에서 오디언스 중심으로, 단순 광고 노출과 클릭에서 광고주의 필요를 반영한 다양한 전환으로, 그리고 수의 계약에서 실시간 자동 입찰로 온라인 광고 생태계가 진화하고 있다. 이런 변화의 흐름에서 여러 지면에 접속하는 사용자들의 성향을 즉시 분석해서 가장 적합한 광고를 실시간으로 선택하고 노출하는 것은 기술적으로 매우 어려운 문제다. 본 발표는 카카오의 광고 랭킹에 필요한 데이터와 알고리즘을 간략히 소개한다.
-------------
<Glossary>
- Audience: 광고 도메인에서 사용자 (User)를 뜻함
- Publisher: 앱이나 웹 등의 광고 지면(inventory)/매체(media)을 제공하는 사람
- SSP: Supplier-side platform
- DSP: Demand-side platform
- DMP: Data management platform
- MAT: Mobile app tracking
- Pixel: 광고의 전화을 추척하기 위해서 웹에 심어두는 스크립트
- AdX: Ad Exchange, 광고의 mediation이 이뤄지는 마켓
- RTB: Real-time bidding
- Programmatic buying: AdX에서 프로그램에 의해서 (자동으로) 광고 입찰 및 낙찰이 이뤄지는 것
- Impression: 광고 노출
- ROAS: Return on ad spending
- eCPM: effective cost per mille (1천회 노출당 기대 비용/수익)
- CPM/CPC/CPA: Cost Per mille/click/acquisition(action, conversion)
- CTR/CVR: Clickthrough rate, (post-click) conversion rate
- SGD: Stochastic gradient descent
- FTRL: Follow-the-regularized-leader
- FM/FFM/FwFM: Factorization machines / Field-aware FM / Field-weighted FM
- DCN: Deep & cross network
- LDA: Latent dirichlet allocation
- DNN: Deep neural network (DL)
- AE: Auto-encoder
- GBDT: Gradient-boosting decision tree
- Targeting: 광고주가 자신의 광고가 노출될 오디언스 (사용자)를 제한하는 것
- Retargeting: 사용자의 특정 행동 (i.e., 광고주 사이트 방문)에 반응해서 광고를 노출/제한하는 것
- LookALike: 광고주가 제공한 오디언스 그룹과 유사한 특징을 갖는 오디언스군 (유사확장타게팅)
- PPC: Pay per click 클릭당 과금액
- RIG: Relative information gain
- NE: Normalized entropy
- AUC: Area under ROC Curve
- GSP/VCG: Generalized second price auction / Vickrey-Clarke-Groves auction
- DNT: Do not track
Alphastar page 8 , Meaning of multi-agent in alphastarKyoungman Lee
RL에서 multi agent는 일종의 학습 알고리즘으로 접근해서 여러 개체를 동시에 학습시켜 협력을 하는 방식을 뜻하지만 알파스타에서 멀티에이전트는 learning framework에 가깝고 경쟁을 통해 자동화된 커리큘럼 러닝을 위한 환경(Automated curriculum learning) 이라고 생각 할 수 있다. AI의 지능을 더 발전시키기 위한 학습 방법론에 가깝다고 할 수 있다. 이에 대해 PBT나 self play , FSP 같은 이전의 deepmind의 여러가지 학습 방법론을 소개하고 알파스타에 쓰인 PFSP를 소개한다.
발표 영상: https://www.youtube.com/watch?v=Se62pRpk9A0
PDF로 받아서 보시면 더 깨끗하게 보실 수 있습니다.
지난 6개월 간 Diffusion model로 MVP를 만들면서 했던 최적화에 대한 고민과 MLops 경험을 공유합니다. 어제 DEVIEW에서 발표한 내용을 좀 더 이해하기 쉽게 수정했고, Diffusion model에 익숙치 않은 분들을 위해 전반부에 간략한 소개와 발전 과정을 정리했습니다.
최근에 Generative AI로 멋진 제품을 만들고자 하는 분들이 많아진 것 같습니다. 모두가 같은 기술에 접근할 수 있는 상황인 만큼 어떻게 다른 가치를 세상에 설득할 것인가 고민을 더 하게 되네요.
저희가 해왔던 시행 착오가 누군가에겐 도움이 되길 바랍니다!
https://symbiote-ai.com/
@PyCon Korea 2014
NLTK 덕에 파이썬으로 자연어처리를 하는 것이 편리해졌다. 단, 한국어만 분석하려하지 않는다면. 파이썬으로 한국어를 분석할 수는 없을까? 국문, 영문, 중문 등 다양한 문자가 섞여 있는 문서는 어떻게 분석을 할 수 있을까?
이 발표에서는 자연어처리의 기초적인 개념을 다룬 후, NLTK 등의 자연어처리 라이브러리와 한국어 분석을 위해 개발중인 KoNLPy를 소개한다. 또, 파이썬으로 한국어를 분석할 때 유용한 몇 가지 트릭을 공유한다.
http://konlpy.readthedocs.org
Causal Inference : Primer (2019-06-01 잔디콘)Minho Lee
- 2019-06-01 잔디컨퍼런스(잔디콘, @구글캠퍼스) 에서 발표한 자료입니다
- 데이터를 통해 인과관계를 추론하는 방법에 대해서 알아봅니다
- Potential Outcomes, Causal Graphical Models 에 대해 간단히 살펴봅니다
- 슬라이드 내에 오타가 있습니다 ㅠㅠ
- 22p, 28p : Perkson's 가 아니라 Berkson's Paradox 입니다
카카오의 광고지능 (Intelligence on Kakao Advertising)if kakao
정부환(ben.hur) / kakao
---
온라인 광고는 현재 인터넷 비즈니스 모델을 가능케하는 핵심 동인이다. 새로운 서비스가 등장하고 시장 규모가 커짐에 따라서 온라인 광고 생태계도 함께 진화하고 여러 기술적 도전이 있다. 지면 중심에서 오디언스 중심으로, 단순 광고 노출과 클릭에서 광고주의 필요를 반영한 다양한 전환으로, 그리고 수의 계약에서 실시간 자동 입찰로 온라인 광고 생태계가 진화하고 있다. 이런 변화의 흐름에서 여러 지면에 접속하는 사용자들의 성향을 즉시 분석해서 가장 적합한 광고를 실시간으로 선택하고 노출하는 것은 기술적으로 매우 어려운 문제다. 본 발표는 카카오의 광고 랭킹에 필요한 데이터와 알고리즘을 간략히 소개한다.
-------------
<Glossary>
- Audience: 광고 도메인에서 사용자 (User)를 뜻함
- Publisher: 앱이나 웹 등의 광고 지면(inventory)/매체(media)을 제공하는 사람
- SSP: Supplier-side platform
- DSP: Demand-side platform
- DMP: Data management platform
- MAT: Mobile app tracking
- Pixel: 광고의 전화을 추척하기 위해서 웹에 심어두는 스크립트
- AdX: Ad Exchange, 광고의 mediation이 이뤄지는 마켓
- RTB: Real-time bidding
- Programmatic buying: AdX에서 프로그램에 의해서 (자동으로) 광고 입찰 및 낙찰이 이뤄지는 것
- Impression: 광고 노출
- ROAS: Return on ad spending
- eCPM: effective cost per mille (1천회 노출당 기대 비용/수익)
- CPM/CPC/CPA: Cost Per mille/click/acquisition(action, conversion)
- CTR/CVR: Clickthrough rate, (post-click) conversion rate
- SGD: Stochastic gradient descent
- FTRL: Follow-the-regularized-leader
- FM/FFM/FwFM: Factorization machines / Field-aware FM / Field-weighted FM
- DCN: Deep & cross network
- LDA: Latent dirichlet allocation
- DNN: Deep neural network (DL)
- AE: Auto-encoder
- GBDT: Gradient-boosting decision tree
- Targeting: 광고주가 자신의 광고가 노출될 오디언스 (사용자)를 제한하는 것
- Retargeting: 사용자의 특정 행동 (i.e., 광고주 사이트 방문)에 반응해서 광고를 노출/제한하는 것
- LookALike: 광고주가 제공한 오디언스 그룹과 유사한 특징을 갖는 오디언스군 (유사확장타게팅)
- PPC: Pay per click 클릭당 과금액
- RIG: Relative information gain
- NE: Normalized entropy
- AUC: Area under ROC Curve
- GSP/VCG: Generalized second price auction / Vickrey-Clarke-Groves auction
- DNT: Do not track
Alphastar page 8 , Meaning of multi-agent in alphastarKyoungman Lee
RL에서 multi agent는 일종의 학습 알고리즘으로 접근해서 여러 개체를 동시에 학습시켜 협력을 하는 방식을 뜻하지만 알파스타에서 멀티에이전트는 learning framework에 가깝고 경쟁을 통해 자동화된 커리큘럼 러닝을 위한 환경(Automated curriculum learning) 이라고 생각 할 수 있다. AI의 지능을 더 발전시키기 위한 학습 방법론에 가깝다고 할 수 있다. 이에 대해 PBT나 self play , FSP 같은 이전의 deepmind의 여러가지 학습 방법론을 소개하고 알파스타에 쓰인 PFSP를 소개한다.
발표 영상: https://www.youtube.com/watch?v=Se62pRpk9A0
PDF로 받아서 보시면 더 깨끗하게 보실 수 있습니다.
지난 6개월 간 Diffusion model로 MVP를 만들면서 했던 최적화에 대한 고민과 MLops 경험을 공유합니다. 어제 DEVIEW에서 발표한 내용을 좀 더 이해하기 쉽게 수정했고, Diffusion model에 익숙치 않은 분들을 위해 전반부에 간략한 소개와 발전 과정을 정리했습니다.
최근에 Generative AI로 멋진 제품을 만들고자 하는 분들이 많아진 것 같습니다. 모두가 같은 기술에 접근할 수 있는 상황인 만큼 어떻게 다른 가치를 세상에 설득할 것인가 고민을 더 하게 되네요.
저희가 해왔던 시행 착오가 누군가에겐 도움이 되길 바랍니다!
https://symbiote-ai.com/
Deep learning study 1. this slide includes basic mathematical theorems for deep learning, such as Bayes's theorem, Bayesian inference, information theorem.
* mecab-ko, mecab-ko-dic 환경에서 사용자 사전 추가 과정을 정리
* 사용자 사전 추가 과정에서 LEFT-ID, RIGHT-ID 검색 문제 해결 과정 정리
1. mecab-ko-dic
2. 사용자 사전 반영 과정
3. 사용자 사전 반영 중 발생 문제 정리
4. 최종 사전 반영 과정
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
1. 기본 파이썬 입출력
1-1. pickle 패키지를 통한 입출력
1-2. CSV 파일로의 입출력
1-3. SQLite3 DB로의 입출력
1-4. numpy 패키지에서의 입출력
2. pandas 패키지를 사용한 입출력
2-1. 포맷에 따른 pandas 입출력 함수
3. PyTables를 사용한 입출력
3-1. HDF5 데이터 모델
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
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 𝑡
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
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
시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
A, B의 초기값 설정과 Expectation-Maximization(EM) 알고리즘과 유사한 과정을 통해 수렴할 때까지 학습
Count 기반의 Maximum Likelihood Estimation(MLE)을 통해 A, B를 학습