λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
1️⃣ AI•DS/πŸ“™ Model

HMM 기초 κ°œλ… 정리 - β‘  κ°œλ…, Evaluation

by isdawell 2024. 1. 3.
728x90

 

 

β€»  참고링크

 

 

 

β‘   HMM - Part1 (κ°œλ…)


 

β—―  순차 데이터 

 

•  μ‹œκ°„μ— 따라 μ–»μ–΄μ§€λŠ” 데이터 

•  μ‹œκ°„μ„± νŠΉμ„±μ΄ 있음 

 

 

•  μ˜ˆμ‹œ 

 

β†ͺ  ν•˜λ‚˜μ˜ μ œν’ˆμ΄ μ™„μ„±ν’ˆμ΄ 될 λ•ŒκΉŒμ§€λŠ” 10개의 곡정을 거치고, 각 κ³΅μ •λ³„λ‘œ μ—¬λŸ¬ μ„€λΉ„ μ’…λ₯˜λ₯Ό 가지고 있음 

β†ͺ  곡정을 κ±°μΉ˜λŠ” 것을 μ‹œκ°„μ˜ νλ¦„μœΌλ‘œ λ³Ό 수 있음 

 

 

•  순차 데이터 인식 μ˜ˆμ‹œ 

 

 

 

 

 

β—―  Hidden Markove Model (HMM) 

 

•  순차 데이터λ₯Ό ν™•λ₯ μ  (Stochasic) 으둜 λͺ¨λΈλ§ ν•˜λŠ” 생성 λͺ¨λΈ (Generative model) 

 

 

 

 

 

 

β—―   Markove Model μ΄λž€ 

 

•  state 둜 이루어진 sequence λ₯Ό μƒνƒœ 전이 ν™•λ₯  ν–‰λ ¬λ‘œ ν‘œν˜„ν•˜λŠ” 것 

 

 

 

 

•  μƒνƒœ 전이 ν™•λ₯  ν–‰λ ¬ : μƒνƒœκ°€ λ³€ν™”ν•˜λŠ” 것을 ν™•λ₯ λ‘œ ν‘œν˜„

 

β†ͺ μƒνƒœ 전이 ν™•λ₯ μ„ sum 으둜 λ‚˜λˆ μ£ΌκΈ° 

β†ͺ ex. λΉ„μ—μ„œ λΉ„λ‘œ 갈 ν™•λ₯ μ€ 1/3, λΉ„μ—μ„œ ν•΄λ‘œ 갈 ν™•λ₯ μ€ 2/3  

 

 

•  Markov κ°€μ • : μ‹œκ°„ t μ—μ„œ 관츑은, κ°€μž₯ 졜근 r 개의 κ΄€μΈ‘μ—λ§Œ μ˜μ‘΄ν•œλ‹€λŠ” κ°€μ •. ν•œ μƒνƒœμ—μ„œ λ‹€λ₯Έ μƒνƒœλ‘œμ˜ μ „μ΄λŠ” 이전 μƒνƒœμ˜ κΈ΄ 이λ ₯을 ν•„μš”μΉ˜ μ•Šλ‹€λŠ” κ°€μ • 

 

 

 

 

 

 

β—―  Parameters of the Markov model 

 

•  μƒνƒœ 전이 ν™•λ₯  ν–‰λ ¬ A(aij) 

 

ν–‰λ ¬ ν˜•νƒœλ‘œ ν‘œν˜„ν•  수 있고, κ·Έλž˜ν”„ ν˜•νƒœλ‘œλ„ ν‘œν˜„ν•  수 μžˆλ‹€.

 

β†ͺ  aij 듀은 λͺ¨λ‘ ν™•λ₯ κ°’ 

 

 

 

β—―  Hidden Markov model μ΄λž€ 

 

•  같은 μ‹œκ°„μ— λ°œμƒν•œ 두 μ’…λ₯˜μ˜ state sequence 각각의 νŠΉμ„±κ³Ό κ·Έλ“€μ˜ 관계λ₯Ό μ΄μš©ν•΄ λͺ¨λΈλ§ 

 

 

 

•   Hidden κ³Ό Observable 

 

 

 

β†ͺ  Hidden sequence 인 λ‚ μ”¨λŠ” κ°€κΉŒμš΄ μ‹œμ μ˜ κ³Όκ±°μ—λ§Œ 의쑴 (Markov 가정을 따름) 

β†ͺ ex. ν•΄κ°€ λœ¬λ‹€λŠ” κ°€μ • ν•˜μ— 쇼핑을 ν• κ±°λ‹€ : Observable sequence λŠ” 순차적 νŠΉμ„±μ„ λ°˜μ˜ν•˜λŠ” Hidden sequence 에 μ’…μ†λœλ‹€. (쑰건뢀 ν™•λ₯ μ˜ κ°œλ…) 

 

 

 

•   μœ„μ˜ 예제λ₯Ό κ·Έλž˜ν”„ ν˜•νƒœλ‘œ ν‘œν˜„ν•œ 것 

 

β†ͺ  O1,O2,O3 : κ΄€μΈ‘κ°€λŠ₯ν•œ μƒνƒœ 

β†ͺ  S1,S2,S3 : hidden state 

β†ͺ  aij : hidden state 의 전이확λ₯  

 

 

 

•   HMM 예제 

 

 

 

 

 

β—―  Parameters 

 

•  A(aij) : μƒνƒœμ „μ΄ν™•λ₯  ν–‰λ ¬ (hidden state 듀이 μ–΄λ–»κ²Œ 전이 λ˜μ—ˆλŠ”μ§€ from - to ν™•λ₯ μ„ 담아놓은 ν–‰λ ¬) 

•  B(bjk) : Emission probability matrix λ°©μΆœν™•λ₯  ν–‰λ ¬ 

 

 

 

•   B ν–‰λ ¬ μ„€λͺ… 

    β†ͺ  b11 : S1 μƒνƒœμ—μ„œ κ΄€μΈ‘μΉ˜ O1 을 보게될 ν™•λ₯  , b21 : S1 μƒνƒœμ—μ„œ κ΄€μΈ‘μΉ˜ O2 을 보게될 ν™•λ₯  , b31 :  S1 μƒνƒœμ—μ„œ κ΄€μΈ‘μΉ˜ O3 을 보게될 ν™•λ₯ 

 

 

 

•  π(πi) : Initial state probability matrix : 각 hidden state 의 초기 ν™•λ₯  

 

 

 

•   3가지 μ’…λ₯˜μ˜ νŒŒλΌλ―Έν„° 정리 

 

 

 

 

β†ͺ  HMM 의 νŒŒλΌλ―Έν„° : λ = {A,B,π} 

β†ͺ  aij : t μ‹œμ μ— i λΌλŠ” μƒνƒœμ— μžˆλ‹€κ°€, λ‹€μŒμΈ t+1 μ‹œμ μ— j λΌλŠ” μƒνƒœλ‘œ 도달할 ν™•λ₯  

β†ͺ  bj(vk) : t μ‹œμ μ— μ€λ‹‰μƒνƒœ bj μ—μ„œ κ΄€μΈ‘μΉ˜ vk κ°€ λ„μΆœλ  ν™•λ₯  

β†ͺ  πi : Si μ—μ„œ μ‹œμž‘ν•  ν™•λ₯  (μ΄ˆκΈ°κ°’) 

 

 

 

 

 

β—―  Main Problems of HMM

 

β–’  HMM 의 3가지 문제 

 

 

β‘΄  HMM(λ*) νŒŒλΌλ―Έν„°κ°€ μΆ”μ •λœ νžˆλ“  마λ₯΄μ½”ν”„ λͺ¨λΈμ΄ 주어지고 O (observable state) κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ·Έ O (observable state) 의 ν™•λ₯  ⇨  Evaluation problem 

β‘΅  HMM(λ*) νŒŒλΌλ―Έν„°κ°€ μΆ”μ •λœ νžˆλ“  마λ₯΄μ½”ν”„ λͺ¨λΈμ΄ 주어지고 O (observable state) κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 그에 ν•΄λ‹Ήν•˜λŠ” hidden state sequence S λ₯Ό μ°ΎλŠ” 것 ⇨  Decoding problem ⭐

β‘Ά  X={O1, ... , ON}  κ΄€μΈ‘κ°€λŠ₯ν•œ μƒνƒœ (=데이터) 듀이 μ£Όμ–΄μ‘Œμ„ λ•Œ, HMM(λ*) λ₯Ό μ°ΎλŠ” 것 ⇨ Learning problem  (1,2 번 과정을 ν•˜κΈ° μœ„ν•œ ν•„μˆ˜μ μœΌλ‘œ μ„ ν–‰λ˜μ–΄μ•Ό ν•˜λŠ” 단계 = parameter estimation) 

 

 

 

⇨ (3) 의 λ‹¨κ³„λŠ” λͺ¨λΈλ§μ΄λΌ 보면 되고, HMM 으둜 ν’€ 수 μžˆλŠ” ꢁ극적인 λ¬Έμ œλŠ” (1), (2) 에 ν•΄λ‹Ή 

 

 

 

β–’   HMM λͺ¨λΈ κ³Όμ • : λ¨Όμ € observable data 둜 Learning 을 진행, 이후 Test data 둜 λ§Œλ“€μ–΄λ†“μ€ λͺ¨λΈμ„ μ΄μš©ν•΄μ„œ Evaluation 문제 ν˜Ήμ€ Decoding 문제λ₯Ό ν‘Όλ‹€. 

 

 

 

 

 

 

 

 

 

 

 

β‘‘  HMM - Part1 (Evaluation)


 

β—―  HMM - Evaluation

 

β–’  Evaluation μ •μ˜

 

•  Evaluation Problem : HMM(λ*) 와 O κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, O (observable sequence) 의 ν™•λ₯ μ„ μ°ΎκΈ° 

•  Solution : Forward algorithm 

•  Example : 정박사가 였늘 μ‚°μ±…, 내일 μ‚°μ±…, λͺ¨λ ˆ 연ꡬ, κΈ€ν”Ό μ‡Όν•‘ν•  ν™•λ₯ μ€ ? 

   β†ͺ  probability(O) = (o1 = μ‚°μ±…, o2 = μ‚°μ±…, o3 = 연ꡬ, o4 = μ‡Όν•‘) 

 

 

 

•  Graph form : HMM 의 parameter λ₯Ό ν‘œν˜„ν•˜κ³  있음 (Learning 단계λ₯Ό 톡해 μ–»μ–΄λ‚Έ κ²°κ³Ό) 

   β†ͺ  π1, π2 : initial probability  (λΉ„κ°€ 올 ν™•λ₯ μ€ 0.6, ν•΄κ°€λœ° ν™•λ₯ μ€ 0.4) 

   β†ͺ  a11 : hidden state 의 transition probability (였늘 λΉ„μ˜€κ³  내일 또 λΉ„κ°€ 올 ν™•λ₯  : 0.7) 

   β†ͺ  b1(μ‚°μ±…) : λΉ„κ°€ μ˜€λŠ” 날에 산책을 ν•  ν™•λ₯ μ΄ 0.1 

 

 

β–’  Evaluation 문제점

 

•  κ·ΈλŸ¬λ‚˜ ν™•λ₯ μ„ κ΅¬ν•˜λ €λ©΄ 총 16개의 상황을 생각해 보아야 ν•œλ‹€ : (hidden state 개수)^(sequence μš”μ†Œ 개수) 

 

 

 

β†ͺ  μ—¬κΈ°μ„œλŠ” state κ°€ 2개고, sequence κ°€ 4κ°œλ‹ˆκΉŒ 2^4 = 16가지 경우λ₯Ό κ³ λ € 

 

 

 

β†ͺ  총 μƒνƒœμ˜ κ°œμˆ˜λ‚˜ sequence 길이가 μ¦κ°€ν•˜λ©΄ 계산을 λͺ»ν•  μˆ˜λ„ 있음 (ꡬ해야 될 ν™•λ₯ μ˜ κ°€μ§€μˆ˜κ°€ λ„ˆλ¬΄ 많으면 문제λ₯Ό ν’€ μˆ˜κ°€ μ—†μŒ) πŸ‘‰ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ‚˜μ˜¨ 방법이 forward μ•Œκ³ λ¦¬μ¦˜ 

 

 

 

 

β—―  HMM - Evaluation : Forward algorithm 

 

β–’  forward μ•Œκ³ λ¦¬μ¦˜

 

[μ‹œμ  t = 1] 

 

 

•  α1(1) = (첫 번째 μ‹œμ μ—μ„œ λΉ„μ˜¬ ν™•λ₯ ) • (λΉ„κ°€ 올 hidden μƒνƒœμ—μ„œ 산책이 관찰될 ν™•λ₯ ) = π1•b1(μ‚°μ±…)  

•  α1(2)  = (첫 번째 μ‹œμ μ—μ„œ ν•΄κ°€ 뜰 ν™•λ₯ ) • (ν•΄κ°€ 뜰 hidden μƒνƒœμ—μ„œ 산책이 관찰될 ν™•λ₯ ) = π2•b2(μ‚°μ±…)  

 

 

[μ‹œμ  t = 2] 

 

 

•  α2(1) = { α1(1)•a11 + α1(2)•a21 } • b1(μ‚°μ±…)  

•  α2(2)  =  { α1(1)•a12 + α1(2)•a22• b2(μ‚°μ±…)  

 

 

[μ‹œμ  t = 3] 

 

 

 

•  α3(1) = { α2(1)•a11 + α2(2)•a21 } • b1(연ꡬ)  

•  α3(2)  =  { α2(1)•a12 + α2(2)•a22 } • b2(연ꡬ)  

 

 

[μ‹œμ  t = 4] 

 

 

•  α4(1) = { α3(1)•a11 + α3(2)•a21 } • b1(μ‡Όν•‘)  

•  α4(2)  =  { α3(1)•a12 + α3(2)•a22 } • b2(μ‡Όν•‘)  

 

 

β€»  숫자 ν‘œκΈ°μ—μ„œ, μ‹œμ μ„ λ‚˜νƒ€λ‚΄λŠ” 건지 state λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 건지 ꡬ뢄 μ£Όμ˜ν•˜κΈ°! 

 

πŸ‘‰  각 λ‹¨κ³„μ—μ„œ ν™œμš©ν•˜λŠ”κ±΄ λ°”λ‘œ 직전 μ‹œμ μ— λŒ€ν•œ κ°’λ“€λ‘œ, λΉ λ₯Έ 계산이 κ°€λŠ₯ν•˜λ‹€. κ±΄λ„ˆ κ±΄λ„ˆ κ³Όκ±°λ₯Ό 보면 κ³Όκ±° 정보가 λˆ„μ λ˜μ–΄μ„œ ν‘œν˜„λœλ‹€. 즉, λͺ¨λ“  κ³Όκ±° 정보λ₯Ό 가지고 μžˆλ‹€ : Forward μ•Œκ³ λ¦¬μ¦˜ (dynamic programming λ°©λ²•μ˜ 핡심) 

 

 

 

[μ΅œμ’… ν™•λ₯  계산] 

 

 

 

•  α4(1) + α4(2) = 0.00111

 

 

 

β–’  forward probability  : α 

 

 

•   이전 μ‹œμ μ˜ ν™•λ₯  정보듀을 λ‹€ μ•ˆκ³  계속 μ•žμœΌλ‘œ κ°€λŠ” 것이 핡심!

•   이전 μ‹œμ μ˜ μ •λ³΄λ§Œ 가지고 λΉ λ₯΄κ²Œ 계산 (κ·ΈλŸ¬λ‚˜ κ²°κ΅­μ—λŠ” κ³Όκ±° 정보λ₯Ό λͺ¨λ‘ μ•ˆκ³  κ°€λŠ” 것과 동일) 

 

 

•   μˆ˜ν•™ 기호 식 

 

 

 

•   Evaluation problem 은 sequence classification λ¬Έμ œμ— ν™œμš©μ΄ κ°€λŠ₯ν•˜λ‹€. κ°€λ Ή 정박사 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° μžˆμ–΄μ„œ HMM1 λͺ¨λΈμ΄ 있고, 쑰박사 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° HMM2 λͺ¨λΈμ΄ μžˆμ„ λ•Œ (= 두 μ‚¬λžŒμ˜ νŒ¨ν„΄μ΄ 닀름) , 예λ₯Ό λ“€μ–΄ [μ‚°μ±…, μ‚°μ±…, 연ꡬ, μ‡Όν•‘] μ΄λΌλŠ” sequence μ—μ„œ μ •λ°•μ‚¬λŠ” 0.78 이 λ‚˜μ™”κ³  μ‘°λ°•μ‚¬λŠ” 0.25κ°€ λ‚˜μ™”λ‹€λ©΄ [μ‚°μ±…, μ‚°μ±…, 연ꡬ, μ‡Όν•‘] 이 sequence λŠ” 쑰박사보닀 μ •λ°•μ‚¬λ‘œλΆ€ν„° λ‚˜μ™”μ„ ν™•λ₯ μ΄ 높은 것 (μ—¬κΈ°μ„œ class λŠ” 정박사와 쑰박사 2κ°œκ°€ λ˜λŠ” 것) 

 

•   ex. sequence classification : 제쑰 λ¬Έμ œμ—μ„œλŠ” sequence κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ λΆˆλŸ‰μ—μ„œ λ‚˜μ˜¨κ±΄μ§€ μ•„λ‹Œμ§€ 

 

 

 

β–’  backward probability

 

 

 

 

 

 

β—―  HMM - Evaluation : Backward algorithm 

 

 

•  forward 와 달리 λ’€μ—μ„œλΆ€ν„° 계산 

 

 

[μ‹œμ  t = 3] 

 

 

 

•   β3(1) = { β4(1)•a11•b1(μ‡Όν•‘) + β4(2)•a12•b2(μ‡Όν•‘) } 

•   β3(2) = { β4(1)•a21•b1(μ‡Όν•‘) + β4(2)•a22•b2(μ‡Όν•‘) } 

 

 

[μ‹œμ  t = 2] 

 

 

[μ‹œμ  t = 1] 

 

 

 

[μ΅œμ’… ν™•λ₯  계산] 

 

 

 

 

β–’  backward 와 forward 의 μ΅œμ’… ν™•λ₯  κ²°κ³ΌλŠ” κ°™μ•„μ•Ό ν•œλ‹€. 

 

 

•   μˆ˜μ‹ 

 

 

 

 

•   forward/backward probability πŸ‘‰ HMM training 에 ν™œμš© (Learning) 

 

 

 

 

 

β–’ [μ°Έκ³ ]  마λ₯΄μ½”ν”„ κ°€μ • (독립성 κ°€μ •)  :  Observed variable κ³Ό Hidden state 관계 : P(Yt | Ct)

 

•   Yt κ°€ Ct 에 λŒ€ν•΄ Conditionally independent ν•˜λ‹€λŠ” 것은, Yt κ°€ 주어진 ν˜„μž¬ μƒνƒœ Ct λ₯Ό μ•Œκ³ λ‚˜λ©΄ λ‹€λ₯Έ λͺ¨λ“  λ³€μˆ˜λ‚˜ μƒνƒœμ™€λŠ” λ…λ¦½μ μ΄λΌλŠ” 것을 μ˜λ―Έν•œλ‹€. 즉, ν˜„μž¬ μƒνƒœ Ct κ°€ 주어진 μƒνƒœμ—μ„œ Yt 의 ν™•λ₯ λΆ„ν¬λŠ” μ΄μ „μ˜ κ΄€μ°°λœ λ³€μˆ˜λ‚˜ μƒνƒœλ“€μ— 독립적이닀. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

λŒ“κΈ€