๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1๏ธโƒฃ AI•DS/๐Ÿ“™ Model

HMM ๊ธฐ๋ณธ ์ฝ”๋“œ/์‘์šฉ์‚ฌ๋ก€ ์ •๋ฆฌ

by isdawell 2024. 1. 5.
728x90

 

 

 

 

 

โ‘   ๊ฐœ๋… ๋ณด์ถฉ


 

โ—ฏ  Markov chain 

 

•  HMM ์€ ๋งˆ๋ฅด์ฝ”ํ”„ ์ฒด์ธ์„ ํ™•์žฅํ•œ ๋ชจ๋ธ์ด๋‹ค. 

•  ๋งˆ๋ฅด์ฝ”ํ”„ ์—ฐ์‡„๋Š” ๋งˆ๋ฅด์ฝ”ํ”„ ์„ฑ์งˆ์„ ๊ฐ€์ง„ ์ด์‚ฐํ™•๋ฅ ๊ณผ์ • (discrete-time stochastic process) ์„ ์˜๋ฏธํ•œ๋‹ค. ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์‹œ์Šคํ…œ ์ƒํƒœ์˜ ๋ณ€ํ™”๋ฅผ ํƒ€๋‚˜๋‚ด๋ฉฐ ์ด๋ฅผ ์ „์ด Transition ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

•  ๋งˆ๋ฅด์ฝ”ํ”„ ์„ฑ์งˆ : ๋ฏธ๋ž˜์˜ ์ƒํƒœ๋Š” ์˜ค์ง ํ˜„์žฌ์˜ ์ƒํƒœ ํ˜น์€ ๋” ์ด์ „์˜ ์ผ์ •๊ธฐ๊ฐ„์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. ๋ฏธ๋ž˜์˜ ์–ด๋–ค ์ƒํƒœ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ๊ณผ๊ฑฐ์˜ ๊ธด ์ด๋ ฅ์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ์„ฑ์งˆ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ๊ณผ๊ฑฐ์™€ ํ˜„์žฌ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ์˜ ๋ฏธ๋ž˜ ์ƒํƒœ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ๋ถ„ํฌ๋Š” ๊ณผ๊ฑฐ ์ƒํƒœ์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ํ˜„์žฌ ์ƒํƒœ์— ์˜ํ•ด์„œ๋งŒ ๊ฒฐ์ •๋œ๋‹ค. 

•  ์ด์‚ฐํ™•๋ฅ ๊ณผ์ • : ์‹œ๊ฐ„์ด ์—ฐ์†์ ์œผ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๊ณ , ์ด์‚ฐ์ ์œผ๋กœ ๋ณ€ํ•˜๋ฉฐ (ํ˜„์žฌ ์ƒํƒœ์—์„œ ๊ทธ๋ƒฅ ๋‹ค์Œ ์ƒํƒœ๋กœ ๊ฐ€๋Š”) ์ด์— ๋”ฐ๋ผ ํŠน์ • ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋ณ€ํ™”ํ•˜๋Š” ๊ณผ์ • 

 

 

โ—ฏ  HMM

 

•  ์ˆœ์ฐจ ๋ฐ์ดํ„ฐ (๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ ๋‚ด์˜ ๊ฐ์ฒด๋“ค์ด ์–ด๋–ค ์ˆœ์„œ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ) ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ด๋‹ค. 

•  HMM ์€ Observable state ์™€ Hidden state ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์‹ถ์€ state ์ˆ˜๋Š” ๋ฏธ๋ฆฌ ๊ฒฐ์ •๋˜์–ด์•ผ ํ•œ๋‹ค. state ์˜ ์ข…๋ฅ˜๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. 

•  π ๋Š” ์ดˆ๊ธฐ ์ƒํƒœ ํ™•๋ฅ  ํ–‰๋ ฌ๋กœ HMM ์ด ์–ด๋Š ์ƒํƒœ์—์„œ ์‹œ์ž‘ํ• ์ง€ ํ™•๋ฅ ์„ ๊ฒฐ์ •ํ•˜๋ฉฐ epoch ๊ฐ€ ์ง„ํ–‰๋ ์ˆ˜๋ก ์ตœ์ ํ™”๋œ๋‹ค. 

•  HMM ์€ ๋น„์ง€๋„ํ•™์Šต ๋ฐฉ๋ฒ•์˜ ํ•˜๋‚˜๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. sequence ๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ•˜๊ธฐ์— ์œ ์šฉํ•˜๊ณ , ์ถ”์ •๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ํ•ด์„์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. 

 

 

 

 

โ—ฏ  MCMC - HMM

 

•   Monte Carlo [์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…] : ํ™•๋ฅ ์ ์ธ ๋ฌธ์ œ๋ฅผ ํ™•๋ฅ  ๋ถ„ํฌ๋กœ๋ถ€ํ„ฐ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœ๋œ ํ‘œ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทผ์‚ฌํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•

•   MCMC [์ƒ˜ํ”Œ๋ง ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜] : ๋ชฌํ…Œ ์นด๋ฅผ๋กœ ๋ฐฉ๋ฒ•์„ ๋งˆ์ฝ”ํ”„ ์ฒด์ธ์— ์ ์šฉํ•œ ๊ฒƒ์œผ๋กœ MCMC ๋Š” ๋งˆ์ฝ”ํ”„ ์ฒด์ธ์„ ๋”ฐ๋ผ ํ™•๋ฅ ๋ถ„ํฌ๋กœ๋ถ€ํ„ฐ ํ‘œ๋ณธ์„ ์ƒ์„ฑํ•˜๋ฉฐ ์ด ํ‘œ๋ณธ์„ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๊ทผ์‚ฌํ•œ๋‹ค. ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋ฝ‘ํžŒ ์ƒ˜ํ”Œ์ด ๋‹ค์Œ๋ฒˆ ์ƒ˜ํ”Œ์„ ์ถ”์ฒœํ•ด์ค€๋‹ค๋Š” ๊ฐœ๋…์œผ๋กœ ๋งˆ์ฝ”ํ”„ ์ฒด์ธ์ด ์ ์šฉ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. MCMC ๋Š” ์ƒ˜ํ”Œ๋ง ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”์ •์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. 

 

•   HMM (Hidden Markov Model)์—์„œ MCMC (Markov Chain Monte Carlo)๋Š” ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ์ˆจ๊ฒจ์ง„ ์ƒํƒœ์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต๊ณ„์  ์ถ”๋ก  ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋ณดํ†ต Gibbs ์ƒ˜ํ”Œ๋ง์ด๋‚˜ Metropolis-Hastings ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์€ MCMC ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ์ˆจ๊ฒจ์ง„ ์ƒํƒœ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋œ๋‹ค. 

 

•  ๋งˆ๋ฅด์ฝ”ํ”„ ์ฒด์ธ ๋ชฌํ…Œ์นด๋ฅผ๋กœ(MCMC) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ˆจ๊ฒจ์ง„ ๋งˆ๋ฅด์ฝ”ํ”„ ๋ชจ๋ธ(HMM)์—์„œ ์œ ์šฉํ•œ ๋ฒ ์ด์ง€์•ˆ ์ถ”๋ก  ๋„๊ตฌ์ด๋ฉฐ, HMM ๋งค๊ฐœ๋ณ€์ˆ˜ ์ง‘ํ•ฉ์„ ๋น ๋ฅด๊ฒŒ ์ถ”์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. MCMC ์ˆ˜๋ ด์€ ๋ฐ์ดํ„ฐ ๋ถˆํ™•์‹ค์„ฑ์˜ ์–‘์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„๋‹ค. 

 

 

 

 

 

 

โ‘ก ์ฝ”๋“œ


 

 

โ—ฏ  python library : hmmlearn 

 

from hmmlearn.hmm import GaussianHMM,GMMHMM
import pandas as pd
import numpy as np

 

 

•  hmmlearn.hmm ์—๋Š” GaussianHMM, GMMHMM, Multinomial HMM ์„ ์ œ๊ณตํ•œ๋‹ค. 

   โˆ˜  Multinomial HMM : input ์ด discrete ํ•œ ๊ฒฝ์šฐ 

   โˆ˜  GaussianHMM : input ์ด continuous ํ•œ ๊ฒฝ์šฐ 

   โˆ˜  GMMHMM : ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ€์šฐ์‹œ์•ˆ ๋ชจ๋ธ๋กœ ํ™•์žฅ๋œ ๋ชจ๋ธ 

 

 

•   ์ฝ”๋“œ 

 

 

 

โ—ฏ  ์‘์šฉ์‚ฌ๋ก€

 

โ€ป ์ฐธ๊ณ  - ํ•˜๋‚˜๋กœ ์ด์–ด์ง„ sequence ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•œ ์‚ฌ๋žŒ๋งˆ๋‹ค sequence ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” multi sequence ์˜ˆ์ œ

โ€ป ์ฐธ๊ณ  - hmm ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ ์ฝ”๋“œ

โ€ป ์ฐธ๊ณ  - hmmlearn ์œผ๋กœ ๊ณผ๊ฑฐ ๊ธˆ ๊ฐ€๊ฒฉ ๋ชจ๋ธ๋ง-(๋‚ฎ์€/์ค‘๊ฐ„/๋†’์€ ๋ณ€๋™์„ฑ ์ƒํƒœ ์ถ”๋ก )

โ€ป ์ฐธ๊ณ  - ๊ฐ•์•„์ง€ ํ›ˆ๋ จ ํ†ต๊ณผ ๋ชจ๋ธ๋ง - (๊ฐ•์•„์ง€ ์ƒํƒœ sad/happy)

 

 

 

 

 

 

 

 

 

 

 

 

728x90

๋Œ“๊ธ€