β» μ°Έκ³ λ§ν¬
β HMM - Part2 (Decoding)
β― Decoding Problem → HMM μ ν΅μ¬
β’ Decoding λ¬Έμ μ μ
• Problem : HMM(λ*) κ³Ό O κ° μ£Όμ΄μ‘μ λ, μ΅μ μ S λ₯Ό μ°Ύλ κ² (κ°μ₯ κ·Έλ΄μΈν μλμνμ μνμ€ κ²°μ )
• Solution : Viterbi algorithm
• ex. μ λ°μ¬κ° μ€λ μ°μ± , λ΄μΌ μ°μ± , λͺ¨λ μ°κ΅¬, κΈνΌ μΌννλ€λ©΄, κ° λ λ€ λ μ¨λ ?
β’ Viterbi algorithm
• vt(i) : t λ²μ§Έ μμ μ i μλμνμ νλ₯
[t=1 μμμ κ³μ°]
• v1(1) = (S1μ΄ t=1μμ λ°μν νλ₯ ) • (S1 μλμνμμ μ°μ± μ΄ κ΄μ°°λ νλ₯ ) = π1•b1(μ°μ± )
• v1(2) = (S2κ° t=1μμ λ°μν νλ₯ ) • (S2 μλμνμμ μ°μ± μ΄ κ΄μ°°λ νλ₯ ) = π2•b2(μ°μ± )
[t=2 μμμ κ³μ°]
• v2(1) = max( v1(1) • a11, v1(2) • a21 ) • b1(μ°μ± )
• v2(2) = max( v1(1) • a12, v1(2) • a22 ) • b2(μ°μ± )
βͺ max : λΉ μνμμ μ¬ νλ₯ κ³Ό ν΄ μνμμ μ¬ νλ₯ μ€ ν° νλ₯ μ μ ν
[t=3 μμμ κ³μ°]
• v3(1) = max( v2(1) • a11, v2(2) • a21 ) • b1(μ°κ΅¬)
• v3(2) = max( v2(1) • a12, v2(2) • a22 ) • b2(μ°κ΅¬)
[t=4 μμμ κ³μ°]
• v4(1) = max( v3(1) • a11, v3(2) • a21 ) • b1(μ°κ΅¬)
• v4(2) = max( v3(1) • a12, v3(2) • a22 ) • b2(μ°κ΅¬)
π Evalution μ forward μκ³ λ¦¬μ¦μμλ, observable sequence μ νλ₯ μ ꡬνκ³ μΆκΈ° λλ¬Έμ SUM μ νλ μ λ΅μ μ ννμΌλ, Decoding μ Viterbi μκ³ λ¦¬μ¦μμλ, κ·Έ κ΄μΈ‘μΉμμ κ°μ₯ κ·Έλ΄μΈν hidden state λ₯Ό μ°ΎμμΌ νκΈ° λλ¬Έμ Maximum μ μ·¨ν¨
π κ³μ°μ λ°λ‘ μ΄μ μμ μ μ λ³΄λ§ νμ©νκΈ° λλ¬Έμ computationally efficient νλ€. κ·Έλ¬λ μ λ³΄κ° μΆμ λμ΄ μ λ¬λκΈ° λλ¬Έμ λͺ¨λ μ 보λ₯Ό μ¬μ©νλ κΌ΄μ΄ λλ€.
[μ΅μ’ hidden state μμΈ‘]
• κ° time λ³λ‘ ꡬν νλ₯ μ€μ ν° κ°μ μνλ₯Ό μ ν : ex. T=1 μμ μλ 0.24 > 0.06 μ΄λκΉ "ν΄" μνλ₯Ό μ ν
• Qt_hat : κ°μ₯ μ΅μ μ hidden state sequence
β― Viterbi algorithm
β’ μμ μ 리
• μμ μμ λ₯Ό ν΅ν΄ μ€λͺ ν λΆλΆμ μμμΌλ‘ μ 리νλ©΄ μλμ κ°μ
β’ Evaluation vs Decoding
• Forward μκ³ λ¦¬μ¦μ κ°λ₯ν λͺ¨λ κ²½μ°μ νλ₯ μ ν©μΌλ‘ Observable sequence μ λ°μ νλ₯ μ ꡬνκ³ , Vitebi μκ³ λ¦¬μ¦μ κ°λ₯ν λͺ¨λ νλ₯ μ€ κ°μ₯ ν° κ°μ μ νν¨μΌλ‘μ¨ κ°μ₯ κ·Έλ΄μΈν hidden state λ₯Ό μ ννλ€.
β‘ HMM - Part2 (Learning)
β― Learning problem (νμ΅)
β’ Parameter learning
• κ΄μΈ‘λ²‘ν° O μ νλ₯ μ μ΅λλ‘ νλ HMM(λ) (νλΌλ―Έν°) μ μ°Ύμ
• μ¬λ¬ κ°μ κ΄μΈ‘ μνμ€λ₯Ό μ€ν λ μ΅μ μ HMM νλΌλ―Έν°λ₯Ό μ°Ύμ
• Training data O κ° μμ λ λ λ₯Ό μ°Ύλ κ²
β’ Procedure of HMM Learning
• input : HMM(λ) architecture
• output : HMM(λ*) = {A*, B*, π*} → Optimal ν parameter ꡬνκΈ°
• Algorithm
β΄ HMM μ΄κΈ°ν : νλΌλ―Έν° μ΄κΈ°ν
β΅ μ μ ν λ°©λ²μΌλ‘ P(HMM(λ_new)) > P(O | HMM(λ)) μ μ°ΎμλΌ : μ’μ λ°©ν₯μΌλ‘ μ΄λ
βΆ λ§μ‘±μ€λ¬μ°λ©΄ λ_hat = HMM (λ_new) λ‘ μ€μ νκ³ λ©μΆ€ νΉμ β΅ λ°λ³΅
β― Baum-Welch algorithm
β’ λ°μ-μ°μΉ μκ³ λ¦¬μ¦
• Problem : X={O1, ... , ON} μ΄ μ£Όμ΄μ‘μ λ, HMM(λ*)
• Solution : Baum-Welch μκ³ λ¦¬μ¦ (or forward-backward μκ³ λ¦¬μ¦)
βͺ EM μκ³ λ¦¬μ¦μ μν¨ (Estimation - Maximization)
βͺ ϒ μ ξλ₯Ό ꡬνκ³ λ λ₯Ό ꡬνκ³ , ꡬν λ λ‘ ϒ μ ξλ₯Ό ꡬνκ³ , ꡬν ϒ μ ξλ₯Ό κ°μ§κ³ λ λ₯Ό ꡬνκ³ βββ
β’ E-step
β» α : forward probability , β : backward probability
• ϒt(i) : HMM(λ), O κ° μ£Όμ΄μ‘μ λ, t μμ μνκ° si (hidden state κ° i) μΌ νλ₯
βͺ λΆμ : αt(i)•βt(i) : t μμ μμ si μΌ νλ₯
βͺ λΆλͺ¨ : S1,S2, ... , Sn μΌ νλ₯ μ λͺ¨λ λν κ° (n : hidden state μ μ’ λ₯ κ°μ)
• ξt(i, j) : HMM(λ), O κ° μ£Όμ΄μ‘μ λ, t μμ μνκ° si, t+1 μμ μνλ sj μΌ νλ₯
βͺ i μνμ j μνλ₯Ό μ°κ²°ν΄μ£Όλ κ³μ°κ°μ΄ μΆκ°λλ νν
β’ M-step
• E-step μ α , β λ₯Ό κ³μ°νμ¬ ϒt(i), ξt(i, j) λ₯Ό ꡬνλ κ²
• M-step μ ϒt(i), ξt(i, j) λ₯Ό μ΄μ©νμ¬ HMM(λ) λ₯Ό κ°μ → HMM(λ_new)
βͺ κ°μ : P(HMM(λ_new)) > P(O | HMM(λ)) → μ¦, HMM(λ_new) μ evaluation μ λμ νλ₯
• πi_new : t=1 (μμμμ ) μΌ λ si μ μμ νλ₯ β¨ ϒt=1(i) , 1 β©½ i β©½ n
βͺ Expected number of times (μ 체μμ λͺλ² λ°μνλμ§λ‘ μΆμ ) in state si at time t=1
βͺ Counting μΌλ‘ estimation
• αij_new : (si μμ sj λ‘ μ μ΄ν κΈ°λκ°) / (si μμ μ μ΄ν κΈ°λκ°)
βͺ ϒt μ ξt λ₯Ό μ¬μ©ν΄μ κ³μ°
• bi(vk)_new : (si μμ vk λ₯Ό κ΄μΈ‘ν νλ₯ ) / (si μ μμ νλ₯ ) = (i μν νμμ κ΄μΈ‘μΉκ° vk μΌ νλ₯ ) / (i μνκ° λνλ νλ₯ )
βͺ ϒt λ₯Ό μ¬μ©ν΄μ κ³μ°
• νλΌλ―Έν° μ λ°μ΄νΈ μ 리
β’ E-M step
• (1) μμ μμμ A,B,π λ‘ ξ,ϒ λ₯Ό ꡬν¨
• ξ,ϒ λ‘ μλ‘μ΄ A,B, π λ₯Ό ꡬν¨
μ λ κ³Όμ μ λ°λ³΅ ← νλ₯ μ΄ μ»€μ§λκΉμ§ λ°λ³΅
• "λ§μ‘±μ€λ¬μΈ λκΉμ§" λ°λ³΅ - "λ§μ‘±" μ μλ―Έ
βͺ a. μ λ°μ΄νΈλ κ²½μ°μμμ νλ₯ κ³Ό μ΄μ κ²½μ°μμμ νλ₯ μ μ°¨μ΄κ° νΉμ κ° μ΄νμΈ κ²½μ°
βͺ b. μ λ°μ΄νΈλ κ²½μ°μμμ νλ₯ μ΄ νΉμ κ° μ΄μμΈ κ²½μ°
• μκ³ λ¦¬μ¦
β’ HMM μμ©
β― [HMM Evaluation Application] μ 쑰곡μ μ μμ¨ μ€λΉ κ²½λ‘ νμ§
• κ΄μΈ‘ μνμ€ : μ€λΉ ID λ°μ΄ν° (ex. μ€λΉ1, μ€λΉ4 βββ)
• μλ μνμ€ : 곡μ ID λ°μ΄ν°
• μ μ μ νλ§ κ°μ§κ³ HMM λͺ¨λΈμ λ§λ€κ³ , λΆλ μ νλ§ κ°μ§κ³ HMM λͺ¨λΈμ λ§λ€ μ μμ
• λ―Έλμ 3001λ² μ νμ΄ λ€μ΄μλλ°, κ΄μΈ‘ μνμ€κ° μμ λ, μ μμΌμ§ λΆλμΌμ§ μκ³ μΆμ
βͺ observable sequence λ₯Ό HMM(μ μ) λͺ¨λΈμ λ£μμ λ P(μ μ) μ μμΌ νλ₯ μ΄ λμ€κ³ , HMM(λΆλ) λͺ¨λΈμ λ£μμ λ P(λΆλ) λΆλμΌ νλ₯ μ΄ λμ€κ² λ¨ β’ P(μ μ) μΈ νλ₯ μ΄ P(λΆλ) μΌ νλ₯ λ³΄λ€ ν¬λ©΄ μ μμΌλ‘ λΆλ₯
β― [HMM Decoding Application] Sleep Quality Evaluation
• κ΄μΈ‘ μνμ€ : μλ©΄ EEG λ°μ΄ν°
• μλ μνμ€ : REM-μλ©΄, NREM-μλ©΄, Wake
• μ΄λ λΆλΆμ΄ λ¨μλ©΄ μνμ΄κ³ , λ¨μλ©΄μλ μνμ΄κ³ , κΉ¨μ΄μλ μνμΈμ§ 3κ°μ§ hidden state μ€μ μμΈ‘
'1οΈβ£ AIβ’DS > π Model' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
HMM κΈ°λ³Έ μ½λ/μμ©μ¬λ‘ μ 리 (0) | 2024.01.05 |
---|---|
HMM κΈ°μ΄ κ°λ μ 리 - β κ°λ , Evaluation (1) | 2024.01.03 |
Tabnet (0) | 2022.03.31 |
λκΈ