← All Articles

Bishop PRML - Ch1. Introduction (1)

Posted on

Example : Polynomial Curve Fitting

본 챕터에서는 Polynomial Curve Fitting (Regression)의 사례를 통하여, 다양한 개념들에 대하여 설명하고 있습니다.

학습 데이터셋이 아래와 같이 정의된 경우

  • input data set : x(x1,,xN)T\mathbf{x} \equiv (x_1,\cdots,x_N)^\mathsf{T}
  • target data set : t(t1,,tN)T\mathbf{t} \equiv (t_1,\cdots,t_N)^\mathsf{T}

이 학습 데이터셋을 이옹하여, input variable의 새로운 값 x^\hat{x}이 주어졌을 때, 이에 대응하는 target variable 값 t^\hat{t}을 예측하는 것이 목적이며, 이는 곧 input variable과 target variable의 상관관계를 나타내는 함수를 찾는 과정을 수반합니다.

한정된 데이터셋으로부터 상관관계를 나타내는 함수를 찾는 것은 어려운 문제입니다.

  • generalization

    • 학습 데이터셋으로 학습한 모델이 새로운 데이터에 대해서도 잘 작동하는 것을 의마합니다.
    • 학습 데이터셋은 전체집합으로부터 샘플링된 미소한 부분집합일 뿐이며, 때문에 이를 표현할 수 있는 방법은 무수히 많습니다.

      • 무수히 많은 모델링이 가능한데, 이 중 어떤 모델이 전체집합을 가장 잘 표현하는지 학습 데이터셋만으로는 알 방법이 없습니다.
      • 때문에, generalization이 어렵습니다.
      • 학습 데이터셋의 sampling bias를 모델이 학습하게 되는 문제로도 볼 수 있습니다.
  • noise

    • 상관관계를 나타내는 함수가 random process를 포함하고 있을 수 있습니다.

      • 이로부터 noise가 발생합니다.
    • 학습에 이용하는 features 또한 모든 정보를 포함하고 있지 않은 부분집합일 뿐이며, 관측되지 않은 features가 무수히 많습니다.

      • 관측되지 않은 features로부터 기인하는 variability가 noise로 작용합니다.

probability theory는 이러한 불확실성을 정확하고 정량적으로 표현할 수 있는 방법론을 제시합니다.
decision theory는 이러한 확률적 표현을 이용하여 적절한 criteria에 대하여 최적의 예측을 할 수 있게 해 줍니다.

일단 간단하게 polynomial curve fitting의 예를 보겠습니다.

y(x,w)=w0+w1x+w2x2++wMxM=j=0Mwjxjy(x,\mathbf{w}) = w_0 + w_1x + w_2x^2 + \cdots + w_Mx^M = \sum_{j=0}^Mw_jx^j

y(x,w)y(x,\mathbf{w})xx에 대해서는 nonlinear하지만, coefficient w\mathbf{w}에 대해서는 linear합니다. 이처럼 polynomial과 같이 unknown parameters가 linear한 함수는 중요한 특징을 가졌으며, linear model이라고 부릅니다.
주) 업데이트를 진행할 모델 패러미터가 linear한 경우입니다.

임의의 주어진 w\mathbf{w}에 대하여 함수 y(x,w)y(x,\mathbf{w})와 학습셋의 데이터 포인트가 얼마나 맞지 않는지를 정량화한 error function을 최소화하는 fitting을 통하여 polynomial 계수의 값들을 구할 수 있습니다.
가장 흔히 쓰이는 것은 SSE(sum of squared estimate of errors)입니다.
여기서는 평균이 아닌 합을 이용하고 있습니다.

E(w)=12n=1N{y(xn,w)tn}2E(\mathbf{w}) = {1\over{2}} \sum_{n=1}^N \{y(x_n, \mathbf{w}) - t_n\}^2

주) Gaussian noise를 가정한 모델에서 MLE를 이용하여 SSE를 도출할 수 있는데, 이렇게 도출할 경우 1/2가 붙어 나옵니다. 추후 다루어집니다.
현재로서는 SSE가 음수가 될 수 없고, y(x,w)y(x,\mathbf{w})가 정확하게 학습 데이터 포인트 위를 지날 때에만 0이 된다는 정도만 주목하면 됩니다.

E(w)E(\mathbf{w})를 최소화하는 w\mathbf{w}값을 선택하여, curve fitting problem을 풀 수 있습니다.
error function이 quadratic function이기 때문에, 계수에 대한 미분식은 w\mathbf{w}에 대하여 linear하며,
때문에 error function을 최소화하는 문제는 unique solution w\mathbf{w}^*을 가집니다.
주) derivative가 monotonically increasing하기 때문에, convex function이며, 때문에 unique solution을 가집니다.
결과적으로 y(x,w)y(x,\mathbf{w}^*)의 polynomial을 얻을 수 있습니다.

polynomial의 order M을 정하는 문제가 여전히 남아 있는데, 이는 대단히 중요한 개념인 model comparision(model selection)의 예시입니다.
주) bias-variance tradeoff에서 보다 상세하게 설명됩니다. model로 이용할 polynomial의 차수가 높을 경우, 그만큼 모델을 결정하는 패러미터 w\mathbf{w}의 차원이 커지게 됩니다.
model complexity가 증가하며, DOF(degrees of freedom)및 variance가 증가합니다.
model의 자유도가 높아지는 만큼, 학습 데이터셋을 보다 잘 표현할 수 있게 됩니다.
하지만, variance가 높은 모델인 만큼 학습 데이터셋의 분포 밖에 있는 데이터들에 대해서 잘 표현하리라는 보장을 하기는 어렵습니다.
동일한 학습 데이터셋을 표현할 수 있는 모델의 베리에이션이 많아지는 만큼, 그 중에서 학습 데이터셋 분포 밖의 분포까지 포괄하는 적절한 모델을 찾을 확률은 감소합니다.
특히, 높은 자유도는 학습 데이터셋에 포함된 노이즈마저 학습 가능하게 하기에, 더더욱 generalization이 좋지 못할 확률이 큽니다.

주어진 학습 데이터에 대해서 (노이즈를 포함하여)지나치게 피팅된 나머지 generalization에 실패하는 것을 over-fitting이라 합니다.

model complexity가 동일할 때, 학습 데이터셋이 클 수록 over-fitting문제가 완화됩니다. 주) 샘플 수가 많아질 때, noise는 캔슬링되며, sampling bias는 감소합니다.

추후 챕터에서 확인하겠지만, SSE는 MLE의 특별한 경우로 볼 수 있고, over-fitting문제는 MLE의 일반적인 성질 중 하나로 이해할 수 있습니다.
Bayesian 관점을 써서, over-fitting 문제를 피할 수 있습니다. 패러미터의 수가 데이터 포인트의 수보다 많은 모델을 사용해도 데이터 사이즈에 따라 적절한 패러미터 수가 자동적으로 정해집니다. 일단은, 베이지안 관점은 나중에 살펴보고 지금은 앞서 이야기되던 접근법에서 파생되는 해결법에 대해서 이야기합니다.
over-fitting을 해결하기 위하여 자주 사용되는 방법으로 regularization이 있습니다.
오차 함수에 계수의 크기가 커지는 것을 막기 위한 패널티 항을 추가합니다.
주)본문에서는 ridge regression만을 설명하고 있지만, ridge regression / lasso regression 두 가지를 살펴봅니다.

E~(w)=12n=1N{y(xn,w)tn}2+λ2wq\tilde{E}(\mathbf{w}) = {1\over{2}}\sum_{n=1}^N\{y(x_n, \mathbf{w})-t_n\}^2+{\lambda\over{2}}\lVert{\mathbf{w}}\rVert^q

  • shirinkage method (weight decay)

    • L2L_2 regularization(Ridge regression: q = 2)

      • w벡터의 Euclidean norm의 제곱을 regularizer로 씁니다.
      • 람다값이 높아질수록 가중치w의 분포가 정규분포에 가까워집니다.
    • L1L_1 regularization(Lasso regression: q = 1)

      • 람다값이 충분히 클 경우, 많은 feature에 대한 w값이 0이 되거나 0에 가까워집니다.
      • 따라서 feature selection이 되고, sparse모델의 형태가 되는데, 몇 개의 basis function만이 모델의 식을 만드는데 사용되게 됩니다.

주) 더 자세한 내용은 추후 다루어집니다.

w2=wTw=w02+w12++wm2\lVert{\mathbf{w}}\rVert^2 = \mathbf{w}^\mathsf{T}\mathbf{w} = w_0^2 + w_1^2 + \cdots + w_m^2이며, 계수 λ\lambda는 SSE항과 regularization항의 상대적 중요도를 결정합니다.

보통 w0w_0은 regularizer에서 제외하거나, 다른 고유의 regularization계수를 적용합니다. regularizer가 error function도 closed form으로 최소화 가능합니다.

  • validation

    • 데이터셋을 training set / validation set(hold-out set)으로 분할
    • training set : determine the coefficient w\mathbf{w}
    • validation set(hold_out set) : optimize model complexity
Machine LearningMLBookBishop PRML