1. Definition of Hidden Markov Model : ์๊ฐ์ ๊ฐ๋ ์ด ํฌํจ๋ ํ๋ฅ ๋ชจ๋ธ
- single discrete random variable๋ก ์ด๋ฃจ์ด์ ธ ์๋ probabilistic model.
- state variable Xt ๋ ์ ์ 1, ... , S๋ฅผ ๊ฐ์ง ์ ์์ผ๋ฉฐ, S๋ ๊ฐ๋ฅํ states์ ์์ด๋ค.
- transition model P(Xt|Xt-1) ์ S*S์ matrix T์ด๋ค. (T_ij = P(Xt = j | X_t-1 = i)
- evidence variable Et๋ ๊ฐ state์์ specifyํ๊ณ , ๊ฐ state i์์ P(et | Xt = i) ๋ฅผ ํตํด state๊ฐ et๋ฅผ ์ผ๊ธฐํ๋์ง์ ๋ํด ์ ์ ์๋ค. ์ด value๋ ํธ์์ S*S์ diagonal matrix Ot๋ก ๋ํ๋ธ๋ค. i๋ฒ์งธ entry๊ฐ ๋ฐ๋ก P(et|Xt = i) ์ด๋ค. ๋๋จธ์ง ๋ค 0
transition matrix๋ฅผ ๋ณด๋ฉด, column์ ํ์ฌ state, row๋ ๊ทธ ์ state์. ๊ทธ๋์ ํ์ฌ STATE๊ฐ true์ผ ๋ ์ง๋ฆฌ๊ฐ์ ์ง๋ state์์ t/f ์ฌ๋ถ์ ๋ฐ๋ฅธ vector๋ก ๋ํ๋ผ ์ ์์.
sensor model matrix๋ฅผ ๋ณด๋ฉด column์ด ํ์ฌ state์ ์ง๋ฆฌ๊ฐ t/f, row๊ฐ ๊ทธ์ ๋ฐ๋ฅธ effect๊ฐ true์ผ ํ๋ฅ
2. Forward-Backward Algorithms
1) Forward Backward Messages
- Forward Messages
filtering : P(Xt|e_1:t) = f_1:t = αP(et | Xt)∑P(Xt|x_t-1) P(x_t-1 | e_ 1:t-1)
์ฌ๊ธฐ์ sensor matrix์ transition matrix ๋ฅผ ํ๋ ฌ๋ก ์จ์ ํ๋ฒ์ ๊ณ์ฐํ๋ ๊ฒ์ด ๋ฐ๋ก forward message
f_1:t = α(sensor matrix) * (transition matrix์ transpose) * f_1:t-1
- Backward Message
P(e_k+1:t|Xk) = b_k+1:t = ∑ P(x_kx+1|Xk) P(e_k+1 | x_k+1) P(e_k+2:t | x_k+1)
b_k+1:t = (transition matrix) * (sensor matrix) * b_k+2:t
- Forward-Backward Algorithm
-> time complexity : O(S^2t) (SxS matrix, time t)
-> space complexity : O(St)
2) Constant-space Forward-Backward Algorithm
"forward" message f ๋ backward๋ก ๊ตฌํ ์ ์๋ค! ์ฆ, ํ์ฌ time์ forward message(t-1)๋ ๋ค์ time์ ๊ฒ(t)์ผ๋ก ๊ตฌํ ์ ์๋ค.
f_1:t = αOtT^t f_1:t-1
==> 1/α T^(-1) Ot^(-1) f_1:t = f_1:t-1
์ด๊ฑธ ์ด์ฉํด์ smoothing algorithm์ ์์ ํ ์ ์์
์๋๋ forward message์์ t-10, ... t-1, t๋ฅผ ๋ค ๊ตฌํด์ ๊ธฐ์ตํ๊ณ ์์๋๋ฐ, ์ด์ ๋ t๊น์ง ๊ธฐ์ต ์ํ๊ณ ๋ค ๊ณ์ฐํ ๋ค์์, backward message์ฒ๋ผ ๊ฑฐ๊พธ๋ก ๋๋์๊ฐ๋ฉด์ ๊ฐ์ ๊ตฌํด๋
๊ทธ๋์ t๊ฐ๊ณผ ๊ด๊ณ์์ด ํญ์ space complexity๊ฐ constantํ๋ค!!!!
3) Fixed-Lag Forward-Backward Algorithm
์ฐ๋ฆฌ๊ฐ t๊น์ง์ evidence๋ฅผ ์๊ณ ์์ด์ ์ด๊ฑธ๋ก t-d ์์ ์ state๋ฅผ ๊ตฌํ๋ค๊ณ ์๊ฐํด๋ณด์. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋
P(X_t-d | e_1:t) = α f_1:t-d * b_t-d+1:t
์ ํตํด ๊ตฌํ ์ ์๊ฒ ์ง?
๊ทผ๋ฐ ์ด ์ํฉ์์ ์๋ก์ด observation์ด ๋์ฐฉํ๊ฑฐ์ผ. ๊ทธ๋์ ์ด์ t-d+1์์ , ์ฆ ๊ตฌํ ์์ ์ state๋ณด๋ค ํ ์นธ ํ์ state์ ๊ตฌํ๊ณ ์ถ์๊ฑฐ์ง.
์๋๋ ์ด ๋ t+1์ ๊ตฌํ๋ค์์ ๋ค์ -d๋ฅผ ํด์ฃผ๋ ์์ ์ ํ์ด์ผ ํ๋๋ฐ, ์ด๊ฑธ ์ข ๋ ํจ์จ์ ์ผ๋ก ๋ฐ๊ฟ๊ฑฐ์ผ? ์ด๋ป๊ฒ? t-d๋ฅผ ์ด์ฉํด์!
t+1-d ๋ t-d์ +1 ํ ๊ฐ์ด์ง? ๊ทธ๋์ ๊ตณ์ด ๋ค์ t+1๋ก ์๋์ด๊ฐ๊ณ t-d์์ ๋ฐ๋ก t-d+์ ๊ตฌํ ๊ฒ์ด๋ค!
f_1:t+1-d๋ ์ ์ด์ forward๋ผ์ filtering์ ํตํด f_1:t-d๋ฅผ ํตํด ๊ตฌํ ์ ์์ผ๋๊น ok~
b_(t+1-d : t+1)์ ์ด๋ป๊ฒ ํ ๊ฑฐ๋~
b_(k+1 : t) = TO_(k+1)b_(k+2:t)
b_(t+1-d : t) = TO_(t+1-d)b_(t+2-d : t) = TO_(t+1-d){TO_(t+2-d)b_(t-d+3 : t) = .....
b_(t+1-d : t) = ( ∏(t, i=t-d+1) TO_i )* b_(t+1:t) = B_(t-d+1:t) * 1
b_(t+2-d : t) = ( ∏(t+1, i=t-d+2) TO_i )* b_(t+2:t+1) = B_(t-d+2:t+1) * 1
์ฌ๊ธฐ์ B_(t-d+1 : t) ์ ๋ํด ์ฐ๊ณ ์ถ์ผ๋ฉด
b_(t+2-d : t) = (O_(t-d+1)) ^(-1) * T^(-1) * B_(t-d+1:t) * TO_(t+1) * 1
3. Viterbi Algorithm
- sudo code
4. Applications
1) erroneous sensor
๋ก๋ด์ ์์น๋ฅผ ํ์ ํ๋ ๋ฌธ์ ๊ธฐ์ต๋๋์ ๊ทธ๊ฑฐ ๋ค์ ๋์ด
- state variable Xt : ๋ก๋ด์ ํ์ฌ ์์น๋ฅผ ๋ํ๋
- transition model : ๋ก๋ด์ด i๋ฒ์งธ ์นธ์์ j๋ฒ์งธ ์นธ์ผ๋ก ์ฎ๊ฒจ๊ฐ ํ๋ฅ
P(X_(t+1) = j | Xt = i) - Tij = 1/N(i) or 0
- ๋ก๋ด์ด ์ด๋์ ์์ํ ์ง ๋ชจ๋ฅด๋๊น ๊ฐ squares์ ์์ ํ๋ฅ ์ P(X0=i) = 1/n ์ผ๋ก ๋ชจ๋ ๊ฐ๋ค๊ณ ๊ฐ์
- sensor variable Et : ์ด 16๊ฐ์ ๊ฐ(2*2*2*2)์ ๊ฐ์ง ์ ์์. ๊ฐ ๋ฐฉํฅ ๋์๋จ๋ถ์ ์ฅ์ ๋ฌผ์ด ์๋์ง ์๋์ง!
- sensor๊ฐ ํ๋ฆด ํ๋ฅ ์ ε๋ผ๊ณ ํ์. ๋ชจ๋ ๋ฐฉํฅ์ ๋ํ sensor๋ ๋ชจ๋ ๋ ๋ฆฝ์ ์ด๋ฏ๋ก ๋ชจ๋ ๋ฐฉํฅ์ด ๋ค ํ๋ฆด ํ๋ฅ ์ ε^4 ์ด๊ณ , ๋ค ๋ฐฉํฅ์ด ๋ชจ๋ ๋ง์ ํ๋ฅ ์ (1-ε)^4 ์ด๋ค.
- ๋ฐ๋ผ์ ๋ก๋ด์ด state i์ ์์ ๋ ์ฌ์ค๋๋ก et๋ฅผ ๊ด์ธกํ ํ๋ฅ ์ (1-ε)^(4-d_it) * ε^(d_it) ๊ฐ ๋๋ค.
2) Inference for Robot Localization
- Filtering to estimate its current location
P(X1 | E1 = NSW): NSW์ ๊ด์ธกํ์ ๋ ๋ก๋ด์ด x1์ ์์ ํ๋ฅ
- Smoothing : ๊ณผ๊ฑฐ์ ๋ก๋ด ์์น๋ฅผ ์๊ณ ์๋ค๋ฉด ์ค๋ฌด๋ฉ์ ํ์ฉํ์
- Viterbi algorithm : ๋ก๋ด์ด ์ด๋ค ๊ฒฝ๋ก๋ก ์ง๊ธ๊น์ง ์๋์ง๋ฅผ ์์๋ณด์
-> ๊ด์ธกํ๋ฉด ํ ์๋ก error๊ฐ ์ค์ด๋ค์ด์ ๋ก๋ด์ ์์น๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค. ๋ ๊ฒฝ๋ก ์ ํ๋๋ ๋์์ง๋ค.
'๐ก๐ธ๐ธ๐ถ5: ๐ฆ๐๐๐๐ถ ๐ฐ๐๐พ๐ > Artificial Intelligence(COSE361)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธ๊ณต์ง๋ฅ] 17. Making Sequential Decisions (0) | 2021.06.14 |
---|---|
[์ธ๊ณต์ง๋ฅ] 15. Probabilistic Reasoning over Time (PRoT) (0) | 2021.06.13 |
[์ธ๊ณต์ง๋ฅ] 14. Bayesian Networks (0) | 2021.06.12 |
[์ธ๊ณต์ง๋ฅ] 13. Probability and Statistics (0) | 2021.06.12 |
[์ธ๊ณต์ง๋ฅ] 8~9. First-Order Logic(FOL) (2) | 2021.04.25 |