티스토리 뷰
기술(Tech, IT)/머신 러닝(Machine Learning)
[ML] Hidden Markov Model (HMM, 은닉 마르코프 모델) - 1
Daniel803 2023. 10. 22. 04:42HMM은 시간에 따른 시스템을 나타내는 통계 모델이다. 상태를 직접 관찰할 수 없기 때문에 "hidden" 이라고 불리며, 대신 이러한 은닉 상태에 대한 정보를 제공하는 순서 (sequence)를 관찰한다. HMM은 일반적으로 음성 인식, 자연어 처리, 생물 정보학 (bioinformatics에서 단백질 2차 구조 예측 등)과 같은 다양한 곳에 사용된다.
HMM의 주 구성 요소는 아래와 같다.
- States (상태)
: 이는 모델의 "hidden" 부분이다. states는 무엇이든 나타낼 수 있지만 직접 관찰하지는 않는다. 대신 관찰한 데이터에서 state를 추론한다. 예를 들어, 음성 인식 시스템에서 states는 phoenemes (한 언어의 음성체계에서 단어의 의미를 구별 짓는 최소의 소리 단위)에 해당할 수 있지만, 우릭 관찰하는 것은 개별 phoenemes가 아니라 소리다. - Obseravations (Emissions) - 관찰 (또는 배출)
: 관찰 데이터는 우리가 실제로 관찰하는 데이터다. states와 observations 사이의 관계는 emissions probabilities (방출 확률)로 특정 지어진다. 각 states는 가능한 observation에 대한 확률 분포가 있으며, 이는 시스템이 해당 states에 있을 때 observations이 바생할 확률을 나타낸다. - Transitions (전환)
: 시스템은 시간이 지남에 따라 한 state에서 다른 state로 이동하며, transition probabilities (전환 확률)은 한 states에서 다른 state로 이동할 가능성이 얼마나 되는지를 나타낸다. 모든 states는 자신을 포함한 모든 states에 대한 확률 분포가 있으며, 이는 주어진 시간 단계 후에 각 state로 이동할 가능성을 나타낸다.
HMM을 명시하려면 다음이 필요하다.
- N개의 states 집합
- M개의 observastion symbols 집 (가능한 observation의 집합)
- Transition probabilities (전환 확률)
: a_ij (state i에서 state j로 이동할 확률) - Observation (or emission) probabilities - 관측 (또는 출력) 확률
:b_j (k) (state j에서 k를 observation해 emitting 할 확률) - Initial state probabilities (초기 상태 확률)
: π_i (Markov chain이 state i에서 시작할 확률)
이러한 매개변수가 주어지면, HMM은 크게 세 가지 작업에 사용할 수 있다.
- Likelihood computation (확률 계산)
: 모델 매개변수가 주어졌을 때 일련의 관측값에 대한 가능성을 결정한다. 이 작업은 Forward-Backward 알고리즘을 사용해 수행된다. - Decoding (디코딩)
: 일련의 관측값이 주어졌을 때 가장 가능성이 높은 상태 순서 (hidden states)를 찾는 작업이다. 이 때 Viterbi 알고리즈미 사용된다. - Learning (학습)
: 관착 확률을 최대화하기 위해 모델 매개변수를 조정하는 작업이다. 이를 위해 Expectation-Maximization (EM) 알고리즘의 일종인 Baum-Welch 알고리즘이 사용된다.
요약하면, HMM은 데이터가 시간 순서에 의해 생성되었다고 믿고, 데이터에서 이 프로세스에 대해 알고자 할 때 데이터의 순서를 분석하는 강력한 도구다. HMM의 'hidden'이라는 측면은 관심있는 대상을 직접 관찰할 수 없는 문제에 특히 적합하다.
반응형
'기술(Tech, IT) > 머신 러닝(Machine Learning)' 카테고리의 다른 글
[ML] TF-IDF - 2 (0) | 2023.10.28 |
---|---|
[ML] Viterbi Algorithm (비터비 알고리즘) (2) | 2023.10.23 |
[ML] NLP Data Cleaning의 필요성 (0) | 2023.10.18 |
[ML] TF-IDF - 1 (2) | 2023.10.17 |
[ML] Multinomial Naive Bayes (다항 분포 나이브 베이즈) - 1 (0) | 2023.10.17 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Android
- I2C
- 이코노미스트
- ml
- 이코노미스트 에스프레소
- machine learning
- 소켓 프로그래밍
- 리트코드
- 티스토리챌린지
- The Economist Espresso
- Computer Graphics
- defaultdict
- join
- 딕셔너리
- tf-idf
- Hash Map
- 머신 러닝
- socket programming
- 파이썬
- C++
- min heap
- DICTIONARY
- 안드로이드
- 오블완
- java
- Python
- leetcode
- vertex shader
- 투 포인터
- The Economist
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형