1. Introduction

데이터에서 패턴을 찾는 문제는 고전적이다. 손글씨 인식 등의 예제가 있으며, 기계 학습 등을 통해 좋은 결과를 얻을 수 있다. 이는 이미지를 입력으로 받는 함수를 학습하는 것으로 나타낼 수 있다. 대개 입력 변수들은 실제로는 전처리된다. 이런 전처리는 연산 속도를 높이는 데도 사용된다.

지도 학습은 분류와 회귀 문제로 나뉜다. 비지도 학습은 클러스터링, 밀도 추정 등으로 나뉜다. 이외에는 강화 학습 등이 있다. 이들은 모두 다르지만 공유되는 기본적인 개념들이 있다.

1.1. Example: Polynomial Curve Fitting

먼저 간단한 회귀 문제부터 시작하자. 훈련 집합과 대상 집합이 주어져 있고, 이를 기반으로 새 입력이 주어졌을 때 나올 출력을 예상하는 것이다. 여기서는 일단 다항식 예제를 먼저 생각해 보자. 이 다항식의 계수는 오차 함수를 최소화시킴으로서 피팅할 수 있다. 즉, 오차 함수를 최소화시키는 다항식의 계수를 구하는 것이다.

다항식의 차수를 결정하는 모델 결정 문제는 여전히 남는다. 모델을 잘못 선택하면 과적합될 수 있다. 각 모델에 대한 RMS 에러를 구함으로써 이를 최소화하는 모델을 결정할 수 있다. 그러나 학습 데이터에서의 오차가 작아도 테스트 데이터에서의 오차가 커질 수도 있다. 원래 함수가 다항식으로 나타내기 적합하지 않은 함수일 수도 있다. 또한, 다항식의 차수를 높이면 계수가 커져 진동폭이 커질 수도 있다.

데이터 크기가 커지면 과적합 문제의 심각성은 줄어든다. 모델 매개변수 수를 줄여도 된다. 최소제곱법은 최대가능도추정법의 일종이지만, 베이지안 접근법을 선택하면 과적합 문제를 피할 수 있다. 정규화라는 방법이 자주 쓰이며, 이는 과적합 현상을 현저히 줄인다. 하지만 정규화 계수를 지나치게 크게 선택하면 과소적합 문제가 생긴다. 일반화 오차를 최소화하는 적절한 정규화 계수를 선택하는 것이 중요하다.

모델 복잡도를 선택하는 것은 중요한 문제로, 검증 집합을 채택하는 접근법이 쓰인다. 지금까지는 직관적으로만 문제를 다루었지만, 이 책의 나머지 부분에서는 확률적인 접근법을 알아보겠다.

1.2. Probability Theory

패턴 인식의 핵심 개념은 불확실성에 대한 것이다. 그래서 확률론에 대한 기본 개념을 이해하는 것이 필요하다. 먼저 확률변수부터 시작하자. 어떤 확률변수가 특정 값을 가질 사건의 확률에 대해, 그 확률을 어떻게 계산할 것인가? 이에 대해서 합 법칙과 곱 법칙이 있다. 이를 위해서는 결합 확률과 조건부 확률을 이해하는 것이 필요하다. 합 법칙과 곱 법칙을 나타내면 다음과 같다:

p(X) = \sum_{Y} p(X, Y)

p(X, Y) = p(Y | X)p(X)

이로부터 다음의 베이즈 정리를 이끌어낼 수 있다.

p(Y | X) = \frac{p(X | Y)p(Y)}{p(X)}

이로부터 유도되는 분포로 주변분포와 조건분포가 있다. 간단한 예로 이들에 대한 감을 잡을 수 있다. 베이즈 정리에 대해서는 사후확률을 사전확률에 대해 구하는 법으로 이해할 수도 있다. 결합확률이 두 사건의 확률의 곱으로 나타내어질 경우 두 확률변수를 독립이라 한다.

1.2.1. Probability densities

연속된 확률변수를 확률밀도함수라 한다. 이 때 p(x \in (a, b)) = \int_{a}^{b} p(x) dx 로 나타내어진다. 확률밀도함수는 p(x) \geq 0, \int_{-\infty}^{\infty} p(x)dx = 1의 조건을 만족해야 한다.

다음의 변수 변환 식이 성립한다: p_{y}(y) = p_{x}(g(y)) \lvert g^{\prime}(y) \rvert

P(z) = -\int_{-\infty}^{z} p(x) dx를 누적분포함수라 한다. 이 때 P^{\prime}(x) = p(x)이 된다.

다변수에 대한 확률밀도함수를 정의하는 것도 가능하다. 확률변수가 이산적일 경우 확률질량함수가 된다. 확률의 합, 곱 법칙과 베이즈 정리는 확률밀도함수에 대해서도 성립한다. 엄밀한 정의는 측도론에 기반한다.

1.2.2. Expectations and covariances

기대값은 특정 함수의 확률밀도함수 하에서의 평균값으로 \mathbb{E}[f] = \sum_{x} p(x)f(x) 또는 \mathbb{E}[f] = \int p(x)f(x) dx로 정의된다. \mathbb{E}[f] \simeq \frac{1}{N} \sum_{n=1}^{N} f(x_{n})으로 근사된다.

다변수 함수의 기대값 \mathbb{E}_{x}[f(x, y)], 조건부 기대값 \mathbb{E}_{x} [f | y] = \sum_{x} p(x | y)f(x)도 정의할 수 있다.

함수의 분산은 \mathrm{var}[f] = \mathbb{E}[f(x)^{2}] - \mathbb{E}[f(x)]^{2}로 정의된다. 두 확률변수에 대한 공분산은 \mathrm{cov}[x, y] = \mathbb{E}_{x, y}[xy] - \mathbb{E}[x] \mathbb{E}[y]로 정의된다. 두 사건이 독립이면 공분산은 0이다. 확률변수가 벡터일 경우 공분산은 \mathrm{cov}[\mathbf{x}, \mathbf{y}] = \mathbb{E}_{\mathbf{x}, \mathbf{y}}[\mathbf{x}\mathbf{y}^{T}] - \mathbb{E}[\mathbf{x}] \mathbb{E} [\mathbf{y}^{T}]로 정의된다. \mathrm{cov}[\mathbf{x}] = \mathrm{cov}[\mathbf{x}, \mathbf{x}]이다.

1.2.3. Bayesian probabilities

확률론에는 빈도학파적 관점과 베이지안적 관점이 존재한다. 이에 대해서는 여러 역사와 논쟁이 존재한다. 베이즈 정리를 이용해 사전확률과 사후확률을 기술하면 다음과 같다.

p(\mathbf{w} | \mathcal{D}) = \frac{p(\mathcal{D} | \mathbf{w}) p(\mathbf{w})}{p(\mathcal{D})}

즉, 사후확률은 사전확률에 가능도를 곱한 뒤 이를 표준화 상수 p(\mathcal{D}) = \int p(\mathcal{D} | \mathbf{w}) p(\mathbf{w}) d \mathbf{w}로 나눈 것이다.

빈도학파적인 관점에서 많이 사용되는 추정자는 최대가능도추정자로, 가능도를 최대화시키는 추정자이다. 데이터에서 직접 실측가능도를 측정하는 붓스트랩 방법도 있다. 이에 비해 베이지안적 접근법은 사전확률을 고려한다는 장점이 있다. 이 때 비정보적 사전확률을 차용하기도 한다. 이 책에서는 베이지안적 접근법을 많이 다룬다. 베이지안적 접근법은 18세기에 최초로 나왔지만 계산량을 많이 필요로 했기 때문에 20세기에서야 유명세를 타기 시작하였다. 이를 보조하기 위해 마르코프 연쇄 몬테 카를로나 변분 베이즈, 기대값 전파 등의 알고리즘이 쓰인다.

1.2.4. The Gaussian distribution

가장 많이 쓰이는 분포는 가우시안 분포이다. 일변수의 경우에는 다음과 같이 나타내어진다.

\mathcal{N}(x | \mu, \sigma^{2}) = \frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{-\frac{1}{2 \sigma^{2}}(x - \mu)^{2}}

이의 기대값은 \mu, 분산은 \sigma^{2}이다.

다변수의 경우에는 다음과 같다.

\mathcal{N}(\mathbf{x} | \mathbf{\mu}, \mathbf{\Sigma}) = \frac{1}{(2 \pi)^{\frac{D}{2}}} \frac{1}{\lvert \mathbf{\Sigma} \rvert^{\frac{1}{2}}} e^{-\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^{T} \mathbf{\Sigma}^{-1}(\mathbf{x} - \mathbf{\mu})}

일변수 가우시안에서 뽑은 표본의 경우 각 표본이 가우시안이고 독립적이고 동일하게 분포되어 있으면 다음과 같이 나타낼 수 있다.

p(\mathbf{x} | \mu, \sigma^{2}) = \prod_{n=1}^{N} \mathcal{N} (x_{n} | \mu, \sigma^{2})

이 때의 로그 가능도는 다음과 같다.

-\frac{1}{2 \sigma^{2}} \sum_{n=1}^{N} (x_{n} - \mu)^{2} - \frac{N}{2} \ln \sigma^{2} - \frac{N}{2} \ln (2 \pi)

이의 최대가능도추정은 다음과 같다. \mu = \frac{1}{N} \sum_{n=1}^{N} x_{n}, \sigma^{2} = \frac{1}{N} \sum_{n=1}^{N} (x_{n} - \mu)^{2}

이 때 분산의 최대가능도추정자는 비편향이 아니다. 기대값이 \mathbb{E}[\sigma^{2}] = \frac{N-1}{N} \sigma^{2}이기 때문이다. 비편향 추정자는 이에 \frac{N}{N - 1}을 곱한다.

1.2.5. Curve fitting re-visited

곡선 피팅을 베이지안적으로 다뤄보자. 다음과 같이 나타낼 수 있다:

p(\mathbf{t} | \mathbf{x}, \mathbf{w}, \beta) = \prod_{n=1}^{N} \mathcal{N}(t_{n} | y(x_{n}, \mathbf{w}), \beta^{-1})

음의 로그가능도는 다음과 같다.

= -\frac{\beta}{2} \sum_{n=1}^{N} [y(x_{n}, \mathbf{w}) - t_{n}]^{2} + \frac{N}{2} \ln \beta - \frac{N}{2} \ln (2 \pi)

최대가능도추정은 다음과 같다.

\frac{1}{\beta} = \frac{1}{N} \sum_{n=1}^{N} [y(x_{n}, \mathbf{w}) - t_{n}]^{2}

이를 대입하면 예측분포를 얻을 수 있다.

매개변수에 대해 사전분포 p(\mathbf{w} | \alpha) = \mathcal{N} (\mathbf{w} | \mathbf{0}, \alpha^{-1} \mathbf{I})을 도입할 수도 있다. 이 때 \alpha는 초매개변수이다. 여기에 베이즈 정리 p(\mathbf{w} | \mathbf{x}, \mathbf{t}, \alpha, \beta) \propto p(\mathbf{t} | \mathbf{x}, \mathbf{w}, \beta) p(\mathbf{w} | \alpha)을 사용한 뒤 이 사후분포를 최대화시키는 값을 찾아내는 것을 최대사후확률추정이라 한다. 이는 다음의 값을 최소화시킴으로써 얻어진다.

\frac{\beta}{2} \sum_{n=1}^{N} [y(x_{n}, \mathbf{w}) - t_{n}]^{2} + \frac{\alpha}{2} \mathbf{w}^{T} \mathbf{w}

이를 정규화 방법과 비교해 보면 \lambda = \frac{\alpha}{\beta}을 얻는다.

1.2.6. Bayesian curve fitting

완전히 베이지안적 접근법을 적용하려면 점 근사가 아니라 사후예측분포를 얻어야 한다. 이는 다음과 같이 계산된다.

p(t | x, \mathbf{x}, \mathbf{t}) = \int p(t | x, \mathbf{w}) p(\mathbf{w} | \mathbf{x}, \mathbf{t}) d \mathbf{w}

이는 가우시안이며, 다음의 평균과 분산을 갖는다.

m(x) = \beta \mathbf{\phi}(x)^{T} \mathbf{S} \sum_{n=1}^{N} \mathbf{\phi}(x_{n})t_{n}

s^{2}(x) = \beta^{-1} + \mathbf{\phi}(x)^{T} \mathbf{S} \mathbf{\phi}(x)

\mathbf{S}^{-1} = \alpha \mathbf{I} + \beta \sum_{n=1}^{N} \mathbf{\phi}(x_{n}) \mathbf{\phi}(x_{n})^{T}

1.3. Model Selection

모델을 어떻게 결정해야 할까? 학습 집합에서의 성능만으로는 과적합 문제 때문에 불충분하다. 그래서 검증 집합이나 테스트 집합을 쓴다. 또는 교차 검증, 단일 제거 교차 검증을 수행하기도 한다. 하지만 학습의 횟수가 그에 비례해 증가한다는 단점이 있다. 이 때문에 학습 집합에만 의존하면서 과적합의 문제가 없는 다른 기준이 쓰인다. 아카이케 정보 기준 \ln p(\mathcal{D} | \mathbf{w}_{MLE}) - M 또는 베이지안 정보 기준 등이 쓰인다.

1.4. The Curse of Dimensionality

고차원 데이터일수록 다루기 힘들다. 데이터 공간을 격자로 분할하는 예를 살펴보자. 이 때 분할되는 격자의 수는 데이터의 차원에 대해 지수적으로 증가한다. 다항식 피팅의 예에서도 마찬가지인데, 피팅해야 할 계수의 수가 다항식의 차수에 대해 지수적으로 증가한다. 다른 예를 보자면, 반지름 1 – e의 구와 반지름 1의 구 사이 공간의 부피를 살펴보면 다차원으로 갈 수록 이 사이 공간이 반지름 1의 구 내부 공간 대부분을 차지한다. 이런 현상을 차원의 저주라고 한다. 그러나 이런 문제점들이 있어도 효과적인 방법들을 찾아낼 수 있는데, 첫 번째 이유로는 실제 데이터들은 유효 데이터만 추출해 차원을 줄일 수 있기 때문이고 두 번째 이유로는 실제 데이터에서 작은 변화는 대개 출력에서도 작은 변화만을 낳기 때문이다.

1.5. Decision Theory

이 절에서는 결정론에 대해 알아본다. 특히 추론 문제에 대해 알아볼 것이다. 이것은 일단 입력과 대상간 결합분포를 알아낸 뒤 그를 기반으로 결정하는 문제이다. 이 경우 입력이 주어졌을 때 그 입력이 클래스로 분류될 확률은 다음과 같이 나타낼 수 있다.

p(\mathcal{C}_{k} | \mathbf{x}) = \frac{p(\mathbf{x} | \mathcal{C}_{k}) p(\mathcal{C}_{k})}{p(\mathbf{x})}

여기 등장하는 모든 항들은 결합분포 p(\mathbf{x}, \mathcal{C}_{k})로부터 얻을 수 있다. 이를 통해 오분류율을 최소화시키는 접근법을 알아볼 수 있다.

1.5.1. Minimizing the misclassification rate

오분류율은 다음과 같다. \int_{\mathcal{R}_{1}} p(\mathbf{x}, \mathcal{C}_{2}) d \mathbf{x} + \int_{\mathcal{R}_{2}} p(\mathbf{x}, \mathcal{C}_{1}) d \mathbf{x}

이를 최소화하기 위해선 p(\mathcal{C}_{k} | \mathbf{x})이 최대인 k에 대해 클래스 \mathcal{C}_{k}를 할당해야 한다. 여러 클래스에 대해서도 마찬가지다.

1.5.2. Minimizing the expected loss

많은 상황에서 단순히 오분류율을 줄이는 것만으로는 충분치 않다. 그래서 조금 더 자세한 손실 함수를 정의해 이를 최소화시키는 접근법이 필요하다. 위의 경우 클래스 할당에 대한 기대손실함수 \sum_{k} L_{kj} p(\mathcal{C}_{k} | \mathbf{x})를 최소화시키면 된다.

1.5.3. The reject option

리스크를 줄이기 위해 분류를 하는 결정을 회피할 수도 있다.

1.5.4. Inference and decision

추론 문제와 결정 문제를 합할 수도 있다. 결정 문제를 푸는 데는 크게 3가지 방법이 있다.

  • 먼저 p(\mathbf{x} | \mathcal{C}_{k})를 구해 추론 문제를 푼다. 그리고 사전확률 p(\mathcal{C}_{k})를 구한다. 이를 이용해서 p(\mathcal{C}_{k} | \mathbf{x})를 구한다. 이를 이용해 클래스를 결정한다. 이를 생성적 모델이라 한다.
  • p(\mathcal{C}_{k} | \mathbf{x})을 구해서 추론 문제를 풀고, 결정론을 적용해 클래스를 할당한다. 이를 구별적 모델이라 한다.
  • 입력을 클래스로 직접 매핑하는 판별 함수를 만든다.

첫 번째 방법은 계산량이 많다는 단점이 있지만 이상치 판별에 능하다. 두 번째 방법은 불필요한 계산을 줄일 수 있다. 세 번째 방법은 계산량이 가장 적지만 확률적 모델을 모르게 된다. 확률적 모델이 필요한 상황들은 다음과 같다:

  • 리스크 최소화.
  • 기각 선택지.
  • 사전확률 고려.
  • 여러 모델의 혼합.

1.5.5. Loss functions for regression

기대손실 함수는 다음과 같이 나타내어진다.

\mathbb{E}[L] = \int \int L(t, y(\mathbf{x})) p(\mathbf{x}, t) d \mathbf{x} dt

회귀 문제의 경우 이는 다음과 같다.

\int \int (y(\mathbf{x}) - t)^{2} p(\mathbf{x}, t) d \mathbf{x} dt

이를 최소화시키는 해는 y(\mathbf{x}) = \mathbb{E}_{t}[t | \mathbf{x}]가 된다. \mathbb[E][L]을 직접 구하는 식으로도 풀 수 있다.

회귀 문제를 푸는 데는 크게 3가지 방법이 있다.

  • p(\mathbf{x}, t)를 결정하는 추론 문제를 풀고 이를 이용해 p(t | \mathbf{x})를 찾아 y(\mathbf{x})를 결정한다.
  • p(t | \mathbf{x})를 계산한 뒤 y(\mathbf{x})를 결정한다.
  • y(\mathbf{x})를 학습 데이터로부터 직접 계산한다.

각각의 장단점은 분류 문제에서 논한 3가지 방법의 장단점과 비슷하다. 꼭 2차 손실 함수만 쓸 수 있는 것은 아니며 민코프스키 손실 함수 등의 다른 함수도 가능하다.

1.6. Information Theory

정보론에 대해 알아보자. 이는 확률변수에서 특정 값을 얻을 때 그 값이 얼마나 정보를 갖고 있나를 알아보는 것이다. 그에 대한 중요한 값으로 엔트로피 H[x] = -\sum_{x} p(x) \log_{2} p(x)가 있다. 이는 확률변수를 전송하기 위해 필요한 비트의 하한이 되며, 분포가 균일할수록 엔트로피는 커진다. 엔트로피에서 로그의 밑을 2로 하는 대신 자연로그로 하는 것도 가능하다. 최대 엔트로피를 주는 분포는 균등분포이다. 연속확률변수에 대해서는 엔트로피는 H[\mathbf{x}] = - \int p(\mathbf{x}) \ln p(\mathbf{x}) d \mathbf{x}로 정의된다. 이를 최대화시키는 분포는 가우시안이다.

조건부 엔트로피 H[\mathbf{y} | \mathbf{x}] = -\int \int p(\mathbf{y}, \mathbf{x}) \ln p(\mathbf{y} | \mathbf{x}) d \mathbf{y} d \mathbf{x}에 대해서 H[\mathbf{x}, \mathbf{y}] = H[\mathbf{y} | \mathbf{x}] + H[\mathbf{x}]이 성립한다.

1.6.1. Relative entropy and mutual information

상대 엔트로피 또는 KL 발산은 두 분포간 정보량 차이를 나타내는 값으로 KL(p \lVert q) = -\int p(\mathbf{x}) \ln \frac{q(\mathbf{x})}{p(\mathbf{x})}d \mathbf{x}이 된다. 이는 음이 아닌 값이며 두 분포가 같을 때만 0이 된다.

이에 착안해 두 분포가 얼마나 독립적인지를 나타내는 값으로 I[\mathbf{x}, \mathbf{y}] = KL(p(\mathbf{x}, \mathbf{y}) \lVert p(\mathbf{x}) p(\mathbf{y}))을 정의할 수 있다. 이를 상호 정보량이라 하며 I[\mathbf{x}, \mathbf{y}] = H[\mathbf{x}] - H[\mathbf{x} | \mathbf{y}] = H[\mathbf{y}] - H[\mathbf{y} | \mathbf{x}]이 성립한다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중