Coding/잡동사니

Markov Chains

linguana 2021. 5. 26. 22:21

Markov Chains (HMM을 이해하기 위한 첫번째 단계)
src url: https://www.youtube.com/watch?v=i3AkTO9HLXo


  어떤 한 식당은 하루에 한 음식만 판다고 가정해보자. 그 식당에서 파는 음식의 종류는 피자, 햄버거, 핫도그이다. 한 가지 특이한 점은 이 식당은 전날에 판 음식의 종류에 따라서 오늘 팔 음식이 정해진다는 것이다. 즉, 과거의 상태(state)가 현재의 상태에 영향을 미친다.

  기억해야 할 특징은, 미래 상태는 현재 상태에만 의존하고 과거 상태와는 관련 없다는 점이다. 예를 들어 4일째 제공되는 음식은 오직 3일째 제공되는 음식만 볼 필요만 있고, 1, 2일째 제공되는 음식에 대해서는 상관이 없다는 것이다. 만약 1일: 피자, 2일: 햄버거, 3일: 피자를 제공했다고 했을 때, 4일에 핫도그를 제공할 확률은 (3일째 피자를 제공했으니) 0.7이다.
 

  Random walk, stationary state, transition matrix, equilibrium state (eigenvector)
  위에 제시된 규칙대로 랜덤하게 10일 동안 파는 음식이 어떻게 되는지 알아보자. 그리고 10 동안 판 음식을 보고, 각 음식을 팔 확률을 구해보자. 이 10일을 무한대로 확장시켜서 생각해보자. 무한대로 확장시켰을 때 각 음식의 확률이 일정한 값으로 수렴한다는 것을 확인할 수 있다.