회귀-분산 분해 (The Bias-Variance Decomposition)


오늘 다루어볼 내용은 Bias-Variance Decomposition 입니다. 이를 다루어 보기에 앞서 Regression에서의 Loss function에 대해 알아보도록 하겠습니다.

1. Regression에서의 Loss Function

Regression 문제는 input variable $\mathbf{x}$가 있을때 그에 대응되는 target variable $t$를 찾는 함수 $y(\mathbf{x})$를 찾는 문제입니다. 언제나 $t = y(\mathbf{x})$가 되는 $y$를 찾으면 좋겠지만, 일상생활에서의 문제에는 노이즈가 섞여져 있기도 하고, 여러 복잡한 이유로 인하여 완벽한 함수를 찾기는 어려운 문제입니다. 그렇지만 그에 대한 차이가 조금이라도 적게 만드는 것이 우리의 목표입니다.
그러기 위해 그 실제값과 우리가 구한 함수의 차이의 정도를 정의하는 Loss function $L(t,y(\mathbf{x}))$을 정의하게 됩니다. 일반적으로 regression 문제에서 사용되는 Loss function은 squared loss라 불리우는 다음과 같은 형태의 함수입니다.$$L(t,y(\mathbf{x})) = \{y(\mathbf{x}) - t\}^2$$ 전체 문제의 정의역에서의 평균을 내어보면 아래와 같은 함수의 형태일 것입니다. $$\mathbb{E}[L] = \iint \{y(\mathbf{x}) - t\}^2 p(\mathbf{x},t) d\mathbf{x} dt$$
책에서는 2가지 방법으로 설명하고 있지만 여기서는 2번째 방법을 이용해서 설명하도록 하겠습니다. 우리는 regression 문제에서 최적의 해가 아래와 같은 형태임을 이미 압니다.$$y(\mathbf{x}) = \mathbb{E}_{t}[\mathbf{t}|\mathbf{x}] = \int t p(t|\mathbf{x})dt$$ 그러므로 squared loss는 아래와 같은 형태로 변형시킬 수 있습니다. $$\{y(\mathbf{x}) - t\}^2 = \{y(\mathbf{x}) -\mathbb{E}_{t}[t|\mathbf{x}] +\mathbb{E}_{t}[t|\mathbf{x}] - t\}^2
\\ = \{y(\mathbf{x}) - \mathbb{E}_{t}[t|\mathbf{x}] \}^2 + 2 \{y(\mathbf{x}) - \mathbb{E}_{t}[t|\mathbf{x}]\}\{\mathbb{E}_{t}[t|\mathbf{x}] - t\} + \{\mathbb{E}_{t}[t|\mathbf{x}] - t\}^2$$ 이를 아까와 같이 전체 문제의 정의역에 대하여 평균을 내어보면 전개된 식에서 2번째 항은 odd function의 형태로써 0이 되고 남은 항들은 다음과 같이 표현됩니다. $$\mathbb{E}[L] = \int \{y(\mathbf{x}) - \mathbb{E}_{t}[t|\mathbf{x}] \}^2 p(\mathbf{x})d\mathbf{x} +\int \{\mathbb{E}_{t}[t|\mathbf{x}] - t\}^2 p(\mathbf{x})d\mathbf{x}$$

2. The Bias-Variance Decomposition

이제부터 본격적으로 이번 포스팅의 주제인 The Bias-Variance Decomposition에 대해 다루어보도록 하겠습니다. 우리가 방금전에 다루었던 가장 이상적인 함수인 regression 함수를 $h(\mathbf{x}) = \mathbb{E}_{t}[t|\mathbf{x}]$라 표현하겠습니다. 그렇다면 우리가 마지막에 구한 식은 아래와 같이 변형이 됩니다.$$\mathbb{E}[L] = \int \{y(\mathbf{x}) - h(\mathbf{x}) \}^2 p(\mathbf{x})d\mathbf{x} +\int \{h(\mathbf{x}) - t\}^2 p(\mathbf{x})d\mathbf{x}$$ 2번째 항은 쉽게 알 수 있듯이 noise 항입니다. 왜나하면 regression 문제에서 우리는 noise를 Gaussian noise로 정의하여서 regression 함수와의 차이가 곧 noise라 할 수 있는 것입니다. 2번째 항은 데이터가 가지고 있는 속성으로써 우리로써는 줄일 수 없는 항입니다. 그러므로 우리는 1번째 항을 살펴보도록 하겠습니다. 1번째 항은 제곱의 형태로써 항상 양수입니다. 만약 우리가 이것을 최소화 한다면 이는 regression 함수와 우리가 가지고 있는 모델간의 차이가 없다는 것입니다. 이는 데이터가 무한하고 무한한 계산 자원을 가지고 있다면 가능하지만, 우리가 가지고 있는 자원은 유한하므로 이 항이 0이 되게 만들기는 매우 어려운 문제입니다. 이 항을 좀 더 자세히 살펴보도록 하겠습니다.
Loss function에서 $y(\mathbf{x}) = y(\mathbf{x};\mathcal{D})$로 표현하도록 하겠습니다. 여기서 $\mathcal{D}$는 우리가 가지고 있는 Data set, $y(\mathbf{x};\mathcal{D})$의 의미는 $\mathcal{D}$에서 얻게된 $y$라는 의미입니다. $\mathcal{D}$에 대한  $y(\mathbf{x};\mathcal{D})$의 평균인 $\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]$를 더하고 빼면 첫번째 항은 다음과 같이 변형이 됩니다.$$\{y(\mathbf{x};\mathcal{D})-\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]+\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]+h(\mathbf{x})\}^2 \\ =
\{y(\mathbf{x};\mathcal{D})-\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]\}^2 + \{\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]-h(\mathbf{x})\}^2 +2\{y(\mathbf{x};\mathcal{D})-\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]\}\{\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]-h(\mathbf{x})\}$$여기에 $\mathcal{D}$에 대한 평균을 구하면 마지막 항은 0이 되어 사라지게 되고,$$\mathbb{E}_{\mathcal{D}}[\{y(\mathbf{x};\mathcal{D})-h(\mathbf{x})\}^2] = \{\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]-h(\mathbf{x})\}^2 + \mathbb{E}_{\mathcal{D}}[\{y(\mathbf{x};\mathcal{D})-\mathbb{E}_{\mathcal{D}}[y(\mathbf{x};\mathcal{D})]\}^2]$$이 항들을 살펴보면 1번째 항은 우리가 구한 함수와 regression 함수간의 차이인 bias의 제곱이고, 2번째 항은 평균과의 차이를 나타내는 variance 이다. 이 과정을 통하여 우리는 loss function이 bias의 제곱, variance, noise의 합으로 구성됨을 알게 되었다.

댓글

이 블로그의 인기 게시물

GAN의 문제점 (Mode Collapse)

선형 회귀 모델(Linear Regression Model) -1