확률 과정 (Stochastic Processes) 이란?
확률 과정은 시간의 흐름에 따라 변화하는 확률 변수들의 집합으로 정의됨. 즉, 시간에 따라 어떤 결과가 무작위로 나타나는 현상을 수학적으로 모델링한 것.
- : 시간 (time)
- : 시간의 집합. 이산적이거나(countable) 연속적일 수 있음(uncountable).
- : 특정 시간 에서의 시스템의 상태(state)를 나타내는 확률 변수.
Definition (확률 과정 vs. 확률 변수)
- 확률 변수 (Random Variable): 단일 실험의 결과를 나타내는 변수. (예: 주사위 한 번 던지기)
- 확률 과정 (Stochastic Process): 시간의 흐름에 따른 일련의 확률 변수들의 집합. 즉, 시간 차원이 추가된 확률 변수로 볼 수 있음. (예: 매일 주사위를 던져 나오는 눈을 기록하는 과정)
이산 시간 마르코프 연쇄 (DTMCs)
이산 시간 마르코프 연쇄(Discrete-Time Markov Chains, DTMCs) 는 이산적인 시간(discrete time)을 갖는 확률 과정의 한 종류로, 다음 상태가 오직 현재 상태에 의해서만 결정되는 특징을 가짐.
DTMC의 기본 정의
DTMC는 다음 세 가지 요소로 구성됨:
- 이산적인 시간 집합 (Discrete Index Set): 시간 이 0, 1, 2, 3, … 과 같이 정수로 표현됨.
- 셀 수 있는 상태 공간 (Countable State Space): 시스템이 가질 수 있는 모든 상태들의 집합 가 유한하거나(finite) 셀 수 있는 무한(countably infinite) 집합임.
- 마르코프 특성 (Markov Property): “미래는 오직 현재에만 의존한다.” 시스템의 다음 상태()는 과거의 모든 상태()와는 무관하게, 오직 현재 상태()에 의해서만 결정됨.
Note (마르코프 특성: Memorylessness)
마르코프 특성은 시스템이 ‘기억을 가지지 않는’ 속성으로 비유할 수 있음. 현재 상태에 도달하기까지 어떤 경로를 거쳐왔는지는 다음 상태를 결정하는 데 아무런 영향을 미치지 않음.
전이 확률 (Transition Probability)
마르코프 특성에 따라, 시스템이 현재 상태 에서 다음 상태 로 이동할 확률은 다음과 같이 단순하게 표현됨. 이를 전이 확률이라 함.
이 전이 확률들을 모아 행렬 형태로 표현한 것을 **전이 확률 행렬(Transition Probability Matrix, P)**이라고 함.
채프먼-콜모고로프 방정식 (Chapman-Kolmogorov Equations)
이 방정식은 현재로부터 단계 이후의 미래 상태 확률을 계산하는 방법을 제공함.
- 1단계 전이 확률:
- m단계 전이 확률:
채프먼-콜모고로프 방정식은 (m+n)단계 후의 전이 확률은 중간 상태 를 거쳐 가는 모든 경로의 확률을 더한 것과 같다고 설명함.
이는 행렬 곱셈으로 더 간단하게 표현할 수 있음. 즉, n단계 후의 전이 확률 행렬 은 1단계 전이 확률 행렬 를 n번 곱한 것과 같음.
정상 상태 (Steady-State Behavior)
시간이 무한히 흐르면(), 특정 조건 하에서 마르코프 연쇄는 초기 상태 와 관계없이 특정 상태 에 있을 확률이 일정한 값 로 수렴함.
이 들의 집합을 정상 상태 분포(Steady-State Distribution) 또는 정적 분포(Stationary Distribution) 라고 하며, 이는 시스템의 장기적인 행동 패턴을 나타냄.
Example (DTMC의 응용: PageRank 알고리즘)
구글의 페이지랭크 알고리즘은 DTMC의 정상 상태 개념을 활용한 가장 유명한 사례. 웹 서퍼가 링크를 따라 무한히 웹 페이지를 이동하는 과정을 마르코프 연쇄로 모델링함. 각 웹 페이지의 장기적인 방문 확률(정상 상태 분포)이 바로 그 페이지의 중요도, 즉 페이지랭크 점수가 됨.
DTMC 예제: 날씨 예측 및 스마트폰 선호도
- 날씨 예측: 오늘의 날씨(비/맑음)가 내일의 날씨에만 영향을 미친다고 가정하고, 며칠 뒤의 날씨 확률을 전이 확률 행렬의 거듭제곱()으로 계산할 수 있음.
- 스마트폰 선호도: 사용자가 다음 스마트폰으로 특정 브랜드를 선택할 확률을 전이 확률로 모델링하여, 장기적으로 각 브랜드의 시장 점유율(정상 상태 분포)이 어떻게 될지를 예측할 수 있음.
# 날씨 예측import numpy as np
# P[i, j] = i 상태에서 j 상태로 갈 확률# 상태 0: 비/눈, 상태 1: 맑음# P = [[P(0->0), P(0->1)],# [P(1->0), P(1->1)]]P = np.array([[0.4, 0.6], [0.7, 0.3]])
# 2일 뒤의 날씨 전이 확률 행렬P2 = np.matmul(P, P)
# P2[0, 0]: 오늘 비가 올 때 2일 뒤 비가 올 확률 (0.58)# P2[1, 0]: 오늘 맑을 때 2일 뒤 비가 올 확률 (0.49)print("2-step Transition Matrix (P^2):\n", P2)
# 전이 확률 행렬을 계속 곱하면 정상 상태로 수렴함P4 = np.linalg.matrix_power(P, 4)P8 = np.linalg.matrix_power(P, 8)P16 = np.linalg.matrix_power(P, 16)P32 = np.linalg.matrix_power(P, 32)
print("\n16-step Transition Matrix (P^16):\n", P16)print("\n32-step Transition Matrix (P^32):\n", P32)마르코프 결정 과정 (MDP)
마르코프 결정 과정(Markov Decision Process, MDP) 은 마르코프 연쇄에 행동(Action) 과 보상(Reward) 의 개념을 추가하여 확장한 모델. 의사결정자가 각 상태에서 어떤 행동을 취해야 장기적인 보상을 최적화할 수 있는지 문제를 다룸.
- 핵심 구성 요소:
- : 시간 에서의 상태
- : 시간 에서의 행동
- : 상태 에서 행동 를 했을 때 상태 로 전이될 확률
- : 상태 에서 행동 를 하여 상태 로 갔을 때 받는 보상
MDP - 유한 단계 (Finite Stage)
정해진 끝(N)이 있는 문제에서, 현재 상태에서 미래의 총 기대 보상을 최대화하는 최적의 행동을 찾는 것을 목표로 함.
이는 최적성의 원리(Principle of Optimality) 와 동적 계획법(Dynamic Programming)을 사용하여 해결함. 마지막 단계(N)부터 거꾸로 계산하여 각 시점, 각 상태에서의 최적 행동과 그때의 기대 보상을 찾아 나감.
Definition (벨만 방정식 (Bellman Equation))
유한 단계 MDP는 벨만 방정식을 통해 최적의 가치 함수 를 재귀적으로 계산함. 는 시간 , 상태 에서의 최대 미래 기대 보상을 의미함.
이 방정식을 마지막 단계부터 거꾸로() 풀어 최적 정책을 찾음.
MDP - 무한 단계 (Infinite Stage)
끝이 없는 문제에서는 시간이 지나도 변하지 않는 최적의 정책, 즉 정상 정책(Stationary Policy) 을 찾는 것이 목표. 이 정책은 오직 현재 상태에만 의존하여 최적의 행동을 결정함.
- 정상 정책을 찾는 방법:
- 정책 반복 (Policy Iteration)
- 가치 반복 (Value Iteration)
- 선형 계획법 (Linear Programming)
MDP 예제: 입찰 최적화
광고 성과를 ‘좋음’, ‘평균’, ‘나쁨’의 3가지 상태로, 입찰 전략을 ‘보수적’, ‘공격적’의 2가지 행동으로 정의. 각 행동에 따른 상태 전이 확률 행렬과 보상 행렬이 주어졌을 때, 향후 3개월간의 총 보상을 최대화하는 최적의 행동 순서를 벨만 방정식을 통해 역산하여 찾을 수 있음.