logo

자기회귀 모델 📂머신러닝

자기회귀 모델

정의

$N \in \mathbb{N}$에 대해서 순서가 있는 데이터의 집합 $X = \left\{ x_{1}, \dots, x_{N} \right\}$과 그 멱집합 $P(X)$가 주어졌다고 하자. 다음과 같은 함수 $f : P(X) \to X$를 자기회귀 모델autoregressive model이라고 한다.

$$ f : \left\{ x_{1}, \dots, x_{t-1} \right\} \mapsto x_{t} $$

설명1

직관적으로는 지금까지의 값 $x_{1}, \dots, x_{t-1}$이 주어졌을 때 다음 단계의 값 $x_{t}$를 예측하는 함수이다. 시계열 예측이나 생성모델 등에 핵심적으로 사용된다. 특히 예측한 값 $x_{t}$을 다시 입력의 끝에 이어 붙여 $x_{t+1}$를 예측하는 식으로 반복하면 임의의 길이의 시퀀스를 생성할 수 있는데, 대형 언어 모델이 토큰을 하나씩 이어 붙여 문장을 생성하는 것이 대표적인 예다.

좁은 의미

전통적으로 자기회귀 모델이라 하면 시계열분석자기회귀과정autoregressive process을 말한다. 백색잡음 $\left\{ e_{t} \right\}_{t \in \mathbb{N}}$과 계수 $\phi_{t}$에 대해 다음과 같이 정의된 $\left\{ Y_{t} \right\}_{t \in \mathbb{N}}$을 $p$차 자기회귀과정 $AR(p)$이라 한다.

$$ Y_{t} = \phi_{1}Y_{t-1} + \phi_{2}Y_{t-2} + \cdots + \phi_{p}Y_{t-p} + e_{t} $$

$AR(p)$는 과거의 값들의 선형결합으로 다음 값을 설명하지만, 넓은 의미의 자기회귀 모델이 꼭 이렇게 선형으로 표현될 필요는 없다.

조건부 분포로서의 정의

좁은 의미의 $AR(p)$가 다음 값을 만들어내는 구체적인(선형) 확률과정 하나를 지정하는 것과 달리, 현대의 생성모델 등에서는 자기회귀 모델을 다음과 같은 조건부 확률밀도함수 그 자체로 보는 경우가 많다.

$$ p \left( x_{t} \mid x_{1}, \dots, x_{t-1} \right) $$

이렇게 보면 데이터 전체의 결합 확률밀도함수는 조건부 확률밀도함수들의 곱으로 분해된다.

$$ p \left( x_{1}, \dots, x_{t} \right) = \prod_{n=1}^{t} p \left( x_{n} \mid x_{1}, \dots, x_{n-1} \right) $$

딥러닝에서는 이 조건부 분포가 주로 비선형인공 신경망 구조로 모델링되며, 데이터를 순서대로 읽어 나가는 순환신경망이 대표적이다.


  1. George Box et al. TIME SERIES ANALYSIS (5E), p8. ↩︎