연속으로 다섯 번 같은 결과가 나왔습니다. 여섯 번째에 반대 결과가 나올 가능성이 높아지는가. 수학적 답은 아닙니다입니다. 동전은 이전에 어떤 결과가 나왔는지 기억하지 않습니다. 각 시행은 독립적입니다. 그런데 이 명백한 사실이 실제 판단에서는 무시되는 경우가 있습니다. 마르코프 연쇄는 이 독립성 개념을 정확한 수학 구조로 표현한 것입니다.
마르코프 성질이란
마르코프 성질(Markov property)은 단순하게 표현하면 이것입니다. 현재 상태만 알면 미래 상태를 예측하는 데 충분하며, 그 이전의 역사는 추가적인 정보를 주지 않습니다. 수학적으로 P(X(t+1) | X(t), X(t-1), …, X(0)) = P(X(t+1) | X(t))입니다. 다음 상태의 확률은 오직 현재 상태에만 의존합니다.
1906년 러시아 수학자 안드레이 마르코프가 처음 이 개념을 정식화했을 때, 그가 분석한 것은 푸시킨 소설에서 자음과 모음의 연쇄 패턴이었습니다. 한 글자 다음에 어떤 글자가 나올 확률은 그 직전 글자에 의존하지만, 두 글자 이전의 것은 영향을 주지 않는다는 것을 보였습니다. 이 단순한 관찰이 현대 확률론의 핵심 도구 중 하나가 됩니다.
전환 행렬로 미래를 계산한다
마르코프 연쇄에서 각 상태 간 이동 확률을 전환 행렬(transition matrix)로 표현합니다. 예를 들어 날씨 모델에서 오늘이 맑으면 내일 맑을 확률 0.7, 흐릴 확률 0.3이고, 오늘이 흐리면 내일 맑을 확률 0.4, 흐릴 확률 0.6이라면, 이 전환 행렬을 n번 거듭제곱하면 n일 후의 날씨 분포를 계산할 수 있습니다. 어제 날씨가 무엇이었는지는 오늘 날씨를 알면 필요하지 않습니다.
이 계산이 강력한 이유는 충분히 많은 단계를 거치면 초기 조건에 관계없이 동일한 정상 분포(stationary distribution)에 수렴하기 때문입니다. 아무리 특이한 초기 상태에서 시작해도, 시간이 지나면 시스템은 특정 패턴으로 안정됩니다. 이 수렴 성질이 마르코프 연쇄를 예측 모델의 기반으로 만듭니다.
도박사의 오류와 마르코프 성질
도박사의 오류(gambler’s fallacy)는 독립적인 사건에서 이전 결과가 다음 결과에 영향을 미친다고 믿는 것입니다. (패턴 인식의 한계) 마르코프 연쇄의 관점에서 보면, 동전 던지기는 완전한 마르코프 시스템입니다. 현재 상태(방금 나온 결과)만이 다음 상태 확률을 결정합니다. 그런데 이 경우 전환 행렬이 특수합니다. 어떤 상태에서도 다음에 앞면이 나올 확률은 정확히 0.5입니다. 이전 결과가 완전히 무관합니다. (Wolfram MathWorld의 마르코프 연쇄 수학 정리)
반면에 기억이 있는 시스템이 존재합니다. 예를 들어 어떤 세일즈 담당자가 이번 달 성과가 높으면 다음 달 성과도 평균보다 약간 높은 경향이 있다면, 이것은 마르코프 성질을 갖되 전환 확률이 이전 상태에 따라 달라지는 시스템입니다. 이 두 유형을 구분하지 않으면, 기억이 없는 시스템에서 패턴을 보거나 기억이 있는 시스템에서 독립성을 가정하는 오류가 생깁니다.
실제로 기억이 있는 시스템을 찾아내는 방법
자기상관(autocorrelation) 검정이 기준이 됩니다. 시계열 데이터에서 현재 값과 이전 시점 값 사이의 상관계수를 계산합니다. 이 값이 통계적으로 유의미하게 0과 다르면, 이전 상태가 다음 상태에 영향을 미치는 것입니다. 주가 일간 수익률은 자기상관이 거의 없습니다. 그러나 주가 변동성은 자기상관이 있습니다. 큰 변동이 일어난 날 다음 날도 큰 변동이 일어날 가능성이 높습니다. Wolfram MathWorld의 마르코프 연쇄 수학 정리은 주가 시계열의 자기상관 분석을 포함하고 있습니다.
구글 페이지랭크와 마르코프 연쇄
구글의 페이지랭크 알고리즘은 마르코프 연쇄를 웹 구조에 적용한 것입니다. 웹 서퍼가 현재 페이지에서 링크를 무작위로 클릭해 다음 페이지로 이동한다고 가정합니다. 각 페이지에서 다른 페이지로 이동할 확률이 전환 행렬입니다. 이 마르코프 연쇄가 정상 분포에 수렴할 때, 각 페이지의 정상 분포값이 그 페이지의 중요도, 즉 페이지랭크가 됩니다. 많은 페이지에서 링크를 받을수록 방문 확률이 높아지는 구조입니다.

이 알고리즘이 작동하는 이유는 마르코프 성질 때문입니다. 서퍼가 다음에 어떤 페이지를 클릭할지는 오직 현재 보고 있는 페이지에만 의존합니다. 과거에 어떤 경로로 현재 페이지에 도달했는지는 관계없습니다. 이 단순한 가정이 수십억 개의 웹페이지 순위를 계산하는 알고리즘의 기반이 됩니다.
마르코프 연쇄를 실용적으로 쓰는 영역
자연어 처리에서 마르코프 연쇄는 텍스트 생성의 기본 모델입니다. 이전 단어가 주어졌을 때 다음 단어의 확률 분포를 전환 행렬로 표현하고, 이를 이용해 그럴듯한 문장을 생성합니다. 현대 대형 언어 모델의 구조는 훨씬 복잡하지만, 마르코프 연쇄는 그 개념적 출발점입니다.
유전체학에서 DNA 서열 분석, 경제학에서 비즈니스 사이클 모델링, 물리학에서 입자 확산 시뮬레이션까지 마르코프 연쇄는 광범위하게 쓰입니다. 공통점은 현재 상태만으로 미래를 예측하는 것이 합리적인 시스템을 모델링한다는 것입니다. Towards Data Science의 마르코프 연쇄 입문에 이 응용들의 기초 수학이 잘 정리되어 있습니다.
마르코프 연쇄가 주는 실용적 교훈은 이것입니다. 어떤 시스템을 예측하려 할 때, 먼저 그 시스템에 기억이 있는지를 확인합니다. (패턴 인식과 오류) 기억이 없다면 과거 패턴을 찾는 것은 시간 낭비입니다. 기억이 있다면 그 기억이 어디까지 유효한지를 측정합니다. 이 구분이 정확한 예측과 패턴 착각을 가르는 첫 번째 기준입니다.
마르코프 연쇄의 한계
마르코프 성질은 현실을 단순화한 모델입니다. 실제 많은 시스템은 더 긴 의존성을 가집니다. 오늘 날씨가 지난 3일의 날씨에 의존한다면, 단순 마르코프 연쇄가 아니라 3차 마르코프 연쇄가 필요합니다. 또는 상태 공간을 확장해 최근 3일의 날씨 조합을 하나의 상태로 정의하면 1차 마르코프 연쇄로 처리할 수 있습니다.
더 깊은 한계는 상태 공간 정의에 있습니다. 어떤 것을 상태로 볼 것인지에 따라 마르코프 성질이 성립하기도 하고 아니기도 합니다. 주가의 현재 수준만을 상태로 보면 마르코프 성질이 성립하지 않습니다. 그러나 현재 수준과 최근 변동성을 함께 상태로 보면 마르코프 성질이 더 잘 성립합니다. 올바른 상태 표현을 찾는 것이 마르코프 모델 구축의 핵심 과제입니다. 이 부분이 수학보다 도메인 지식이 더 중요한 영역입니다.