인공지능관련/인공지능(AI)

마코프체인

학위논문통계 2016. 4. 26. 22:43

인테넷에 수학 관련 글을 올리는 것이 좀 쉽지 않죠. web이 물리연구소에서 처음 개발되었다는 사실에 비춰 좀 황당한 일이긴 한데요. 통계학에서는 모수는 그리스 문자, 확률변수는 영어 대문자, 확률변수가 실제 취하는 값, 또는 관찰된 값은 영어 소문자, 특히 알파벳 뒤에 있는 문자, X, Y, Z 등을 쓰는 것이 관례입니다.즉 어떤 현상이 x라는 값을 가질 경우 X=x 라고 쓰고 Pr(X=x)로 표시합니다. 


 앞으로는 모수를 표시하는 경우는 그리스 문자를 사용하지 않고 알파벳 a, b, c를 사용하고 제곱같은 경우는 ^를 사용하게 씁니다. 즉 x 3제곱은 x^3, 지수함수는 exp로 사용하고요, 즉 e^(x^2)은 exp(x^2)으로 표시하겠습니다.



 

 

지난번에 몬테카를로 방법에 대해 간단히 이야기 했으니까 이번에는 마코프체인에 대해 간단히 이야기해 보죠.

  

  

일단 이쪽에 공부하다 보면 햇갈리는 부분이 있습니다. 마코프체인이 두 가지 맥락에서 나옵니다. 하나는 단순한 컴퓨터 계산에서 나오고요 하나는 모형 설정에서 나옵니다. 이 두가지는 완전히 다릅니다. 흔히 MCMC라고 하면 계산상에 마코프체인을 이야기 합니다. 즉 컴퓨터 계산을 진행해 가는 과정이 마코프체인이라는 것이죠.

  

  

먼저 마코프체인의 개념에 대해 간단히 알아보죠. 복잡한 이야기를 빼고. 현재 시점의 상태는 오직 한 시점 전의 상태에 영향을 받는 것을 이야기합니다. 즉 현재 어떤 현상이 어떤 값을 취할지는 오로지 그 이전의 상태의 값만 알면 되지 그 이전 이전, 또 그 이전 이전 이전의 값과는 아무련 관계가 없다는 것이죠.

 

  

  

이건 완전히 현실과는 맞지 않지만 현실을 수학적인 모형화하는데는 매우 강력한 도구가 됩니다. 야구의 경우를 생각해보죠. 어떤 타자가 타석에서의 상태를 네가지로 나눠 보죠. 홈런, 안타, 볼넷, 아웃 이렇게요. 그런 이전 상태에서 현재 상태로 가는 경우는 4*4 경우가 있습니다. 아래 표를 보죠.


 

상태

홈런

안타

볼넷

아웃

홈런

0.05

0.4

0.05

0.5

안타

0.10

0.4

0.1

0.5

볼넷

 

 

 

 

아웃

 

 

 

 

 



위 표에 있는 값이 뭘 이야기하면요 이전 타석에 홈런일 때 현재 타석에서 홈런을 칠 확률이 0.05, 안타 칠 확률이 0.4, 볼넷일 확률이 0.05, 아웃일 확률이 0.5이라는 이야기고 또 이전 타석에서 안타를 쳤을 때 현재 타석에서 홈런칠 확률이 0.1, 안타 칠 확률이 0.4, 볼넷일 확률이 0.1, 아웃이 될 확률이 0.5라는 이야기입니다. 이 4*4 행렬을 전이 행렬이라합니다.

 


이 전이 행렬에 의해 마코프체인이 결정됩니다. 이 마코프 체인이 좋은 점이 뭐나 하면 초기에는 타자의 홈런 확률, 안타 확률, 볼넷 확률, 아웃 확률이 뒤죽 박죽 나오지만 이게 계속 지속되면 최종적인 어떤 동일한 균형적인 확률로 간다는 것입니다. 이 마코프 체인이 맞다면 초기에 어떤 식으로 뒤죽 박죽 나오더라도 나중에는 이 선수의 최종적인 타격 능력 분포로 간다는 것이죠.

 


실제로 우리가 현실에서 잘 아는 이야기입니다. 박병호 선수가 처음에 홈런을 막 친다고 해서 끝까지 이런 속도로 홈런을 친다고 믿는 사람은 없죠. 또 현재 타율이 안 좋다고 해서 끝까지 타율이 안 좋다고 믿는 사람은 없다고는 것이죠. 결국 나중에는 박병호 선수의 본질적인 타격 능력에 의한 분포로 간다고 생각하죠. 즉,

 


위의 표에 있는 행렬을 T라 하면 시간이 흘러감에 따라 이 전이 행렬 T를 계속 곱해주면 최종적인 어떤 동일한 균형적인 분포가 나온다는 이야깅비니다.


 

(박병호의 최종 균형 분포)=(초기 아무런 타격 분포)*T*T*T*T*T...........

 




초기에 어떤 분포를 넣어도 계속 저 전이행렬을 곱하면 최종적인 어떤 동일한 균형 분포로 간다는 것이죠.

 


이런게 잘 안 맞는 경우도 있습니다. EPL의 레스터 시티의 경우이죠. 초기에 레스터 시티가 좀 잘했다고 해서 끝까지 잘 할거라고 생각한 사람은 거의 없습니다. 이게 정상입니다. 이미 우리 경험상 수 많은 마코프체인 현상을 봐 왔기 때문입니다. 초반에는 그냥 우연이나 아니면 리그 전보다 좀 성적이 좋게 나오겠다고 다 생각하는 것이죠. 끝까지 잘할 거라고 믿는 사람은 팬이거나,그러나 이건 예측이 아니라 애정이 깃든 기대라고 봐야겠죠. 아니면 통상 다른 사람들이 모르는 특별한 정보를 가지고 있거나. 그래서 레스터 시티의 성적이 곧 떨어질거라는 판단하는 대부분 사람들의 예측은 정상적인 예측입니다.

 


마코프체인이 사용될 수 있는 것은 많이 있습니다. 예를 들어 기상예측의 경우이죠. 현 지점에서의 기상, 즉 온도, 습도, 또는 (비, 흐림, 맑음) 등 이런 예상은 바로 이전 시점의 그 지점에서는 기상 값에 영향을 받는다고 볼 수 있죠. 이 기후는 또 다른 면에서 마코프체인이라 할 수 있습니다. 현 시점에서 현 지점의 기후는 그 지점 바로 옆의 지점에서만 영향을 받지 멀리 떨어진 지점의 기후라는 관계가 없다는 것이죠. 이런 이 차원적인 마크프 체인을 마코프 랜덤 필드(MFR)라고 합니다.

 


앞에서 이야기한 타자나 레스터 시티, 또는 기후 이야기는 컴퓨터 계산의 문제가 아니고 현실의 모형 문제입니다. 그래서 앞의 이야기한 마코프체인의 후자 이야기입니다. 이걸 헷갈리시면 안되고요. 통상 이 이 두 개가 다 나오는 경우는 매우 드물고요 이 두 개가 다 나오는 논문이 이쪽에서 매우 유명한 German & German 논문입니다. 이미지 복원 논문인데 이 분야에서 심각하게 공부하실 분은 꼭 봐야 하는 논문입니다. Gibbs Sampler라는 말도 이 논문에서 나왔습니다.

 

 


이 마코프체인은 선거에서도 사용될 수 있는 모형입니다. 선거에서 (새누리지지, 더민주지지, 기타 정당지지) 이렇게 크게 세 가지 상태로 보고요. 지금까지 대통령 선거에서 어떻게 변해 왔는지 보면 됩니다. 오랜 세월이 지나면 한국에서 이 세가지 상태에 대한 균형적인 확률값이 나올 겁니다. 그러나 현재는 앞에서 이야기한 것처럼 마크프체인의 초기 단계입니다. 그래서 뒤죽박죽하는 것이죠. 한국사회가 압축 성장을 겪고, 또 한국 전쟁, 노인들의 교육수준이 낮고, 또 친일 잔재, 군사정권의 영향 등이 젊은 층의 민주화 성향과 크게 충돌을 하고 있는 단계라 할 수 있죠. 그래서 이번 총선의 결과도 큰 의미를 부여 해서는 안된다는 것이죠. 마코프체인의 초기 단계라는 것이죠. 현재 노인 층이 사망하고, 또 한국 전쟁 직접 체험자나 그 후손들이 물러나고, 교육수준이 비슷해지면 그 때는 한국 정치 시스템도 어느 정도 안정화되었다고 볼 수 있죠.

 


미국의 경우는 어느 정도 안정된 시스템이라 볼 수 있지만 트럼프나 샌더스 바람은 현 미국사회가 심각한 문제가 있다는 이야기라고 볼 수 있죠. 세계 경찰로서 다른 나라 정치에 마음대로 간섭하다가 전 국민들에게 테러 위험을 안기고요. 또 결정적으로 신자유주의 체제가 심각한 위기 상황에 온 것이죠. 미국 뿐만 아니라 전 세계가 큰 고통을 받고 있는 것이죠. 여기에 대한 일반인들의 극단적인 반응이라 볼 수 있습니다.


선거 문제를 앞에서처럼 거시적으로 마코프체인으로 해석할 수 있지만 특정 선거에서 국한되어 볼 수도 있습니다. 선거기간 동안 (새누리지지, 더 민주지지, 기타 정당지지) 상태가 어떻게 변해져 가는지 볼 수 있습니다.

 


이쪽에서 히든 마코프체인으로 모형을 설정하고 MCMC 방법으로 추정하여 재미를 좀 본 모양입니다. 인터넷 검색하니까 스탠포드대 정치학과 교수가 모형을 만들고 서울대 정치학과 교수인가가 지난 대선에 잘 예측했다고 하는 것 같은데 아마 이 히든 마코프체인을 쓰고 추정은 MCMC로 한 것이 아닌가 싶습니다. 계산상의 MCMC는 기술적인 문제이지 이걸 쓰다고 해서 예측이 확 좋아지고 하는 것은 아닙니다. 앞에서 이야기한 현실의 모양을 모형으로 잘 표현하는데 달려 있습니다.

 


하여간 왜 MCMC를 쓰는가 하며는 간단히 이야기해 통상 베이지안을 적용해 우도함수가 아니라 사후확률분포를 최대화하는 것을 구하는데 이 사후확률분포가 너무 복잡해서 수학적으로 풀기가 힘들기 때문입니다. 그래서 컴퓨터에서 이 복잡한 사후확률분포에서 나온 샘플을 뽑아낸다는 것이죠. 이 뽑아내는 과정이 마코프체인의 성격을 가지고 있다는 것입니다.

 

 


다음은 알파고 이야기를 하면서 이야기를 좀 더 진행해보죠. 어떤 문제들이 있는지, 알파고 논문은 돈 주고 봐야 하기 때문에 읽을 수가 없고요. 도서관에 가기도 귀찮고. 그리고 상업적인 문제이기 때문에 그 논문에서 알고리즘이 자세하게는 안 나올 것 같습니다. 몇 몇 논문 읽은 사람들이 간단하게 쓴 글들이 있는데 그리 제대로 이해한 것 같지는 않고요. 진짜 알파고 알고리즘과 달리 제가 멋대로 생각한 바에 의해서 이런 쪽 문제에서 일어날 수 있는 이야기를 잠깐 써 볼까 합니다.


'인공지능관련 > 인공지능(AI)' 카테고리의 다른 글

mixture, Pet, neural net  (0) 2016.05.09
importance sampling, EM  (0) 2016.05.07
여론조사와 몬테카를로  (0) 2016.05.02
세일즈맨 문제와 알파고 문제  (0) 2016.04.30
몬테칼를로(Monte-Carlo) 방식1  (0) 2016.04.16