Processing math: 30%

상세 컨텐츠

본문 제목

Fundamental Theorem of Markov Chains (1)

Stochastic Process

by 아이고리즘 2022. 8. 2. 18:06

본문

시작하기 앞서 Markov chain을 처음 들어보는 사람들을 위해 이를 간단하게 설명하고자 한다.

 

Markov chain은 시간이 흐르면서 변화가 어떻게 이루어지는 지에 대한 확률 과정인 stochastic process의 특수한 경우이다. 이때 Markov chain에서의 시간의 변화는 이산적이다. 예를 들어 동전을 계속 던지는 게임을 한다고 생각하자. 동전을 한 번 던지는 것을 한 라운드로 생각한다면, 여기서의 시간의 변화는 라운드의 변화로 생각할 수 있다. 즉 t 시점에서 t+1 시점으로 가는 것을 t 라운드에서 t+1 라운드로 가는 것으로 생각할 수 있다는 것이다.

 

여기서 "변화"라는 것은 Markov chain의 용어로 설명하자면 "어떤 상태(state)에서 어떤 상태로 이동"하는 것이다. 즉 Markov chain은 시점(라운드)이 바뀜에 따라 현재의 state에서 다른 state로 이동할 확률에 대한 것이다. 여기에서 중요한 성질이 하나 더 있다. 바로 이 변화 확률이 현재 시점의 state에만 의존한다는 것이다. 수식적으로 표현해보자. Xtt 시점에 위치할 state에 대한 확률 변수라고 한다면, Xt+1Xt에만 의존하는 것이다.

Pr[Xt+1=j|X0=i0,X1=i1,...,Xt=i]=Pr[Xt+1=j|Xt=i]

즉, 이제까지 거쳐온 state의 기록이 i0i1...i일 때 그다음에 위치할 state가 j인 확률은 마지막 시점인 t 시점에 있었던 state 정보에만 의존하는 것이다. 우리는 이러한 성질을 memoryless하다고 부를 것이다. 이 성질 덕분에 Markov chain은 하나의 matrix P로 표현할 수 있다. 위 수식을 Pij라고 하자.

Pij=Pr[Xt+1=j|Xt=i]

Pij의 뜻은 state i에 있을 때 다음 시점에 state j로 갈 확률이다. 따라서 모든 state i,j에 대해서 다음을 만족해야 한다.

0Pij1, jPij=1

종종 이 matrix P를 Markov chain 그 자체를 나타낼 때 사용할 것이다. 또한 P를 directed graph로 나타낼 수 있다. 각 state를 vertex로 두고, Pij가 0보다 크면 i에서 j로 가는 directed edge를 만들고 그것의 weight를 Pij로 두는 것이다. 그러면 모든 edge의 weight는 0보다 클 것이고 모든 vertex에 대해서 그것에서 나가는 edge들의 weight를 합하면 1이 될 것이다.)

Markov Chain의 간단한 예시

 

 


이제 Fundamental Theorem of Markov Chain을 위한 설명을 하고자 한다.

 

우리는 finite한 state 수를 가지는 Markov chain에 대해서만 생각할 것이다. Markov chain의 state 수는 무한히 많을 수 있는데, 가령 동전 던지기를 계속하는 게임에서 "이제까지 앞면이 나온 수"를 state로 표현한다면 state 수는 무한히 많을 수 있다. 따라서 Markov chain의 엄밀한 정의에서는 state 수가 countably infinite하다는 것도 포함되어 있다. 어쨌든, Markov chain의 state의 수를 n이라고 하자. 이때 위치한 state에 대한 초기 분포를 나타내는 n 크기의 (column) vector μ0를 만들고자 한다. 즉, 시작할 때 μ0(i)의 확률로 state i에 위치하는 것이다. 우리는 μ0가 주어졌을 때, 그다음 시점에서의 위치할 state에 대한 분포 μ1을 계산할 수 있다.

μT1=μT0P

그러면 그 다음 시점에서의 분포 μ2는 어떻게 될까?

μT2=μT1P=μT0P2

가 된다. 자연스럽게 초기 분포가 μ0이라면 t 시점에서의 분포 μt

μTt=μT0Pt

가 될 것이다.

 

여기서 논의 진행을 위해 정의를 하나 하도록 하겠다.

Definition. Stationary Distribution
만약 state 분포 π가 시간이 흘러도 변하지 않는다면, π는 Markov chain Pstationary distribution이다. 즉, P의 stationary distribution π는 πT=πTP를 만족한다.

갑자기 왜 stationary distribution에 관심을 갖는지 말하기 위해 Markov Chain Monte Carlo 기법을 소개하고자 한다. 이는 sampling을 해야 하는 타겟 분포 π가 주어졌을 때, Markov chain 만들어서 sampling을 하겠다는 기법이다. 더 자세히 설명하자면 이렇다.

 

Markov Chain Monte Carlo

1. Stationary distribution이 π인 Markov chain을 만든다.

2. 이 Markov chain을 적당히 많이 수행시키고 그때의 state를 출력한다.

 

우리는 이 Markov chain이 충분히 큰 (모든) t에 대해서 t 시점 이후의 state 분포가 π와 "크게 다르지 않기를"  바라고 있다. 즉, 충분히 큰 t에 대해서

μTtμTt+1π

이기를 바라는 것이다. 그래야지 수행이 끝났을 때의 state를 π에서 sampling한 결과라고 말할 수 있는 것이다.

 

그래서 Markov Chain Monte Carlo 기법과 관련해서 자연스러운 질문 중 하나는 다음과 같다. 어떤 분포가 주어졌을 때 그것을 stationary distribution으로 갖는 Markov chain을 만들 수 있는가? 이 질문에 대한 답은 다음 기회에 하는 것으로 하고, 우리는 이 질문의 (일종의) 역에 대해 답해보고자 한다.

 

과연 finite state space를 가지는 모든 Markov chain은
stationary distribution을 가질까?

 

이 질문에 대한 답을 시작하기 앞서 정답을 모르는 분들은 찍어보시길 바란다. 선택지를 좁혀보자면 (1) 그렇다 (2) 특정 조건에서만 그렇다 가 될 것이다.

 

일단 notaion부터 소개하도록 하겠다. 어떤 행렬 A가 주어졌을 때, A>0이라고 적으면 모든 entry가 0보다 크다는 뜻이다. 이 정의는 에 대해서도 적용 가능하다. 그리고 벡터 x와 행렬  A에 대해서 |x|,|A|라고 적으면 각각 xA의 모든 entry가 절댓값으로 바뀐 것을 뜻한다. 어떤 벡터 x의 infinity norm ||x||x에서 절댓값이 가장 큰 원소를 의미하고 행렬 A의 infinity norm ||A||은 row vector 중에서 그것의 entry의 합이 가장 큰 row를 i라고 했을 때 i번째 row에 있는 entry들의 합 jAij을 의미한다. 정방 행렬 A의 spectral radius ρ(A)A의 eigenvalue들의 절댓값의 최댓값, 즉 max이다. (Eigenvalue λ와 eigenvector xAx=λx를 만족한다.)

 

이제 질문의 답에 아주 유용한 정보를 주는 정리를 소개하도록 하겠다. 이는 바로 행렬 이론에서 유명한 것으로 추정되는 Perron-Frobenius 정리이다.

Perron-Frobenius Theorem.
Each nonnegative matrix A0 has a nonnegative real eigenvalue with ρ(A)=a, and
a has a corresponding nonnegative eigenvector.

 

갑자기 eigenvector, eigenvalue? 조금만 생각해보면 왜 이것에 관심을 가지는지 알 수 있다. Stationary distribution은 πTP=πT를 만족함을 기억하자. 양 변에 transpose를 취하면 PTπ=π이다. 따라서 우리의 문제는 PT 행렬에 대해서 eigenvalue 1에 해당하는 nonnegative eigenvector가 존재함을 보이는 문제로 환원할 수 있다.

 

Perron-Frobenius 정리의 증명은 나중에 하고 이를 이용해 질문의 답을 먼저 해보도록 하겠다. 흐름은 다음과 같다.

[Step 1] 1은 P가 가질 수 있는 eigenvalue의 절댓값의 최댓값이다.

[Step 2] P는 값이 1인 eigenvalue를 가진다.

[Step 3] PPT의 eigenvalue들은 동일하다.

[Step 4] PT0이고 ρ(PT)=1이다. Perron-Frobenius 정리에 의해 eigenvalue 1에 해당하는 nonnegative eigenvector π가 존재한다.

[Step 5] π:=π/||π||1는 stationary distribution이다.

 

즉, finite Markov chain은 항상 stationary distribution을 가진다는 것이다!

이제 각 스텝이 성립함을 보이도록 하자.

 

[Step 1]

우리는 nonnegative matrix A가 있을 때 그것의 모든 eigenvalue의 절댓값이 ||A||, 즉 A의 row vector 중에서 그것의 entry의 합이 가장 큰 row를 i라고 했을 때 jAij보다 작거나 같음을 알 수 있다. 이것은 다음 수식으로 간단히 보일 수 있다.

||λx||=||Ax||=jAijxjjAij||x||||A||||x||

여기서 |λ|||x||=||λx||라는 것과 x가 eigenvector라는 것에서 오는 ||x||>0를 이용한다면 |λ|||A||를 보일 수 있다. 우리가 다루고 있는 matrix P는 stochastic matrix, 즉 모든 row vector의 entry들의 sum이 1인 matrix이다. 따라서 P의 eigenvalue는 ||P||=1을 넘을 수 없다.

 

[Step 2]

간단하다. v를 모든 entry가 1인 크기 n짜리 벡터라고 하자. (즉, v=1.) P가 stocastic matrix이므로 Pv=v가 성립한다. 즉 P는 eigenvalue 1을 갖는다.

 

[Step 3]

Characteristic polynomial을 소개하도록 하겠다. 어떤 matrix A의 characteristic polynomial pA(λ)는 다음과 같이 정의된다.

pA(λ):=det(AλIn)

우리는 어떤 λA의 eigenvalue라는 조건과 pA(λ)=0인 조건이 동치임을 알 수 있다.

pA(λ)=det(AλIn)=0(AλIn) is not invertible

(AλIn)x=0 has a nontrival solution

λ is an eigenvalue of A

우리는 PPT의 determinant가 같음을 통해 characteristic polynomial도 같음을 알 수 있다.

det(AλIn)=det((AλIn)T)=det(ATλIn)

 

[Step 4, 5]

Perron-Frobenius 정리가 맞다는 가정하에 두 스텝은 자명하다. 마지막에 π를 그것의 1-norm으로 나눠주는 것은 entry의 합이 1이 되도록, 즉 distribution이 되도록 scaling을 해주는 것이다.

 

Fundamental Theorem of Markov Chains

Finite state space를 가지는 Markov chain이 stationary distribution을 가짐을 보였다. 그러면 그것은 unique 할까? Unique하다면 임의의 시작 분포 μ0에서 시작하더라도 적당히 큰 t에 대해서 μt는 (unique한) stationary distribution으로 수렴할까? 해당 질문들에 답을 해주는 것이 Fundamental Theorem of Markov Chains이다.

Fundamental Theorem of Markov Chains

If a finite Markov chain is irreducible and aperiodic, then it has a unique stationary distribution π. Moreoever, for any distribution μ,
limtμTPt=πT.

어떤 Markov chain이 irreducible 하거나 aperiodic 하다는 것을 정의하지 않았다. 다만 이것이 뭔지 모르더라도, "특정" 조건을 만족한다면 stationary distribution이 unique하고, 심지어 임의의 분포에서 시작하더라도 stationary distribution으로 수렴한다고 말하고 있다. 정의와 증명은 다음 글에서 하는 것으로 하고 여기서는 미뤄뒀던 Perron-Frobenius 정리를 증명하는 것으로 마무리하고자 한다.

 

Proof of Perron-Frobenius Theorem

이 증명을 위해 우선 nonnegativity가 positivity로 바뀐 버전에 대해 성립함을 보이고자 한다.

Perron-Frobenius Theorem for Positive Matrices

Each positive matrix A>0 has a positive real eigenvalue with ρ(A)=a, and
a has a corresponding positive eigenvector.

proof. 우선 ρ(A)>0임을 보이고자 한다. 만약 ρ(A)=0이었다면, 모든 eigenvalue들은 0이었다는 뜻이다. 따라서 A의 characteristic polynomial pA(λ)을 적어보면 λn가 된다. 기존의 characteristic polynomial의 λ 자리에는 constant가 들어갔는데 정의를 확장해서 matrix도 input으로 들어갈 수 있다고 하자. 그럼 함수의 output도 matrix가 될 것이다. λ 자리에 A를 집어넣어보자. pA(A)=An이 될 것이다.

 

이제 진짜 유명한 선형 대수의 정리를 하나 소개하겠다. (이것의 증명은 생략하도록 하겠다. 위키피디아 참고)

Cayley-Hamilton Theorem.   
pA(A)=0.

 

즉, 모든 정방 행렬에 대해서 그것의 characteristic polynomial에 자기 자신을 집어넣으면 zero matrix가 된다는 것이다. 따라서, 우리의 경우 An=0가 성립하는 것이다. 그런데 A>0을 만족하면서 An=0을 만족할 수 있을까? 아니다. 이는 모순이고, 따라서 ρ(A)>0이 성립한다.

 

이제 λ|λ|=ρ(A)를 만족하는 A의 eigenvalue라고 하자. 우리는 |λ||x|=A|x|임을 보일 것이다. 그러면 ρ(A)에 해당하는 positive eigenvector가 있음을 보인 것이기 때문이다. 우선 모든 index에 대해서 |λ||x|의 entry가 A|x|의 entry보다 클 수 없음을 쉽게 볼 수 있다.

|λ||x|=|λx|=|Ax|A|x|

(수식에 등장하는 항들이 벡터임을 기억하자. 부등식은 모든 index에 대해 부등호가 성립함을 나타낸다.) 따라서 |λ||x|<A|x|가 불가능함을 보이면 증명이 끝난다. 해당 부등식의 우변인 A|x|z라고 하자. 그리고 해당 부등식에서 우변과 좌변의 차이인 A|x||λ||x|y라고 하자.

 

모순을 가정해서 y>0이라고 하자. A>0이기 때문에 Ay>0가 성립한다. z>0이 성립하므로 아주 작은 ϵ에 대해서 Ay>ϵλz가 성립한다. (혹은 이 조건을 만족하는 어떤 ϵ이 존재한다.) y 자리에 원래 식을 대입해서 정리하면 다음과 같아진다.

A(1+ϵ)λz>z

양 변에 A(1+ϵ)λ를 계속 곱해서 부등식을 여러 개 만들고 이들을 합치면

>(A(1+ϵ)λ)kz>>A(1+ϵ)λz>z

가 된다.

 

이제 spectral radius에 관한 정리를 하나 소개하고자 한다. (증명은 위키피디아 참고)

Theorem (The convergence of the power sequence of a matrix).
ρ(A)<1limkAk=0

 

A:=A(1+ϵ)λ라고 하자. 그러면 A의 spectral radius은 다음과 같다.

ρ(A)=ρ(A)(1+ϵ)ρ(A)<1

따라서 우리는 위의 정리를 적용해서 다음의 결론을 낼 수 있다.

limk(A)k=limk(A(1+ϵ)λ)k=0

이것은 0>>z임을 뜻하는데, z>0와 모순이다. 따라서 y=0이다. ■

 

이제 본 증명을 하고자 한다. 그전에 Gelfand's formula를 소개하고자 한다.

Theorem (Gelfand's formula)
For any sub-multiplicative matrix norm ||||,
ρ(A)=limk||Ak||1k

proof sketch. 우리는 이 formula를 infinity norm에 대해서만 적용할 것이므로, sub-multiplicative norm을 infinity norm으로 생각해도 좋다.

Matrix의 power sequence의 수렴에 관한 정리에 의해 ρ(A)<1이면 k가 커질 때 Ak0에 수렴함을 알 수 있다. 이와 비슷하게 ρ(A)>1이면 Ak로 발산한다는 정리를 적을 수 있다. 이 두 사실을 이용해 A1:=Aρ(A)+ϵ,A2:=Aρ(A)ϵ에 대해서 A1k0,A2k가 성립함을 알 수 있다. 그러면 각각으로부터 ||Ak||1k의 upper bound가 ρ(A)+ϵ임을, lower bound가 ρ(A)ϵ임을 도출할 수 있다.

 

이 formula를 통해 다음 사실을 보일 수 있다.

Lemma For any matrix A,B, if |A|<B, then ρ(A)ρ(B).

 

proof. A:=|A|라고 하자. 다음의 수식과 Gelfand's formula를 통해 위가 성립함을 보일 수 있다.

kN,||Ak||||Ak||||Bk||||Ak||1k||Bk||1kρ(A)ρ(B)

 

이제 원래 보이고자 했던 nonnegative 버전의 Perrron-Frobenius 정리를 증명해보겠다.

 

proof of Perron-Frobenius theorem. 증명 흐름을 설명하자면 다음과 같다. 먼저 A1>A2>>0 를 만족하는 positive matrix들의 무한한 sequence를 정의한다. Positive 버전의 Perron-Frobenius 정리에 따라 sequence의 모든 matrix에 대해, spectral radius가 positive이고 그것에 해당하는 positive eigenvector가 있다. 이때 positive eigenvector의 sequence에서 어떤 vector z0에 수렴하는 무한한 subsequence가 존재함을 알 수 있고 마찬가지로 positive spectral radius의 sequence에서 어떤 값 a0에 수렴하는 무한한 subsequence가 존재함을 알 수 있다. 이로부터 우리는 Az=az를 만족함을 알 수 있고, aρ(A)라는 사실을 통해 a|a|, 즉 a=a임을 알 수 있다.

 

Ak=A+1k인 decreasing하는 positive matrix의 seuquence {Ak}k=1를 정의한다. 이 sequence가 주어졌을 때 ak=ρ(Ak)인 positive spectral radius sequence {ak}k=1를 정의하고, xk가 ak에 해당하는 eigenvector인 postive eigenvector sequence {xk}k=1를 정의한다. 이때 xk1-norm으로 normalize 되었다고 생각할 것이다. (즉, ||xk||1=1.)

여기서 실해석학에서 유명한 것으로 추정되는 Bolzano–Weierstrass theorem(위키피디아)을 사용할 것이다. 이 정리가 말하는 바는 bounded sequence는 convergent subsequence를 가진다는 것이다. 즉, {ak}k=1의 subsequence 중에 어떤 값 a으로 수렴하는 subsequence {aki}i=1가 있고, 마찬가지로 {xk}k=1의 subsequence 중에 어떤 vector z로 수렴하는 subsequence {xki}i=1가 있다는 것이다. Positive sequence의 subsequence이므로 a0이랑 z0이 보장이 된다. 이때 모든 xki1-norm이 1이라는 것을 통해 z0임이 보장할 수 있다. 우리가 z,a를 설정한 방식으로부터 다음의 수식이 성립함을 알 수 있다.

Az=limiAkixki=limiakixki=az

aA의 eigenvalu이므로 a=ρ(A)|a|=a가 성립한다. 그리고 {Ak}k=1가 decreasing하기 때문에 {Aki}k=1도 decreasing하고 따라서 이전의 lemma에 의해 {aki}i=1도 nonincreasing하다. 따라서 aa를 만족하고 앞의 사실과 함께 a=a가 성립한다.

 

최종적으로 ρ(A)가 nonnegative함을 보였고 그것에 해당하는 nonnegative eigenvector가 존재함도 보였다. ■

 

 


이번 글에선 finite Markov chain의 stationary distribution의 existence만 보였다. 다음 글에선 Fundamental Theorem of Markov Chains의 증명을 마무리 하고자 한다. 

 

 

Reference - Lecture Notes Stochastic Processes (Spring 2022), Lecturer: Chihao Zhang

link: http://chihaozhang.com/teaching/SP2022spring/ (lecture 2)

 

comment. 어차피 증명에 등장하는 Cayley-Hamilton 정리나, Gelfand's formula나, Bolzano-Weierstrass 정리들은 건너 뛸 것이었으면 왜 Perron-Frobenius 정리는 열심히 증명했을까... 그나저나 다음 글도 이렇게 길 것같은 느낌이 든다.

'Stochastic Process' 카테고리의 다른 글

관련글 더보기

댓글 영역