[general] 2. 모델 학습(How can we train a model?)

2021. 7. 11. 16:41Machine Learning/General

728x90

이전 글에서 머신러닝이 무엇이고, 어떻게 분류할 수 있는지에 대해 알아보았습니다.

이번 글에서는 머신러닝 모델의 학습을 어떻게 수학적으로 나타낼 수 있는지 알아보겠습니다.


우리가 예측하기를 원하는 종속변수($Y$)와 $p$개의 다른 설명변수 $X_1$, $X_2$,... , $X_p$가 관찰된다고 해보겠습니다. $Y$와 $X=(X_1,~X_2,~...,~X_p)$ 사이에 어떤 상관관계가 있다고 가정하면, 다음과 같은 일반적인 형태로 나타낼 수 있습니다.

$Y=f(X)+\epsilon$ 여기서 $f$는 $X_1,~...,~X_p$에 대한 알려지지 않은 어떤 고정 함수이고, $\epsilon$은 랜덤 오 차 항으로 측정되지 않는 변수들을 포함할 수 있습니다. 오 차 항은 $X$와 독립적이며, 평균은 0이라고 가정합니다.

우리가 예측모델을 만들게 되면 $\hat {Y}=\hat {f}(X)$의 결과 값을 도출할 수 있습니다. 우리가 모델을 학습할 때, 정답 값에 해당하는 $Y$와 $Y$의 추정치인 $\hat {Y}$과의 차이를 줄이는 방향으로 학습을 진행하게 됩니다. 즉 다음과 같은 식을 최적화 하면서 학습을 진행하게 됩니다.

$E(Y-\hat {Y})^2=E [f(X)+\epsilon-\hat {f}(X)]^2=E [f(X)-\hat {f}(X)]^2+Var(\epsilon)~~~~\cdots(1)$

$(1)$ 식에서 $\hat {f}(X)$은 모델의 추정치를 나타내므로, 모델을 잘 학습시킨다면, 가장 오른쪽 식의 왼쪽 텀(term)은 축소시킬 수 있을 것입니다. 따라서 $E [f(X)-\hat {f}(X)]^2$를 축소 가능한 오차(reducible error)라고 합니다. 반대로, $Var(\epsilon)$은 측정되지 않는 변수들의 분산에 해당하므로, 모델이 학습을 진행하더라도 줄일 수 없습니다. 따라서 $Var(\epsilon)$을 축소 불가능 오차(irreducible error)라고 합니다.

또한 $(1)$ 식은 다음과 같이 쓸 수 있습니다.

$E(Y-\hat {Y})^2=E [f(X)+\epsilon-\hat {f}(X)]^2=E [(f(X)-\hat {f}(X))^2]+Var(\epsilon)=Bias [\hat {f}(x)]+Var(\hat {f}(x))+Var(\epsilon)$ 여기서 $Bias [\hat {f}(x)]$는 $(E [\hat {f}(x)]-f(x))^2$, $Var(\hat {f}(x))$는 $E[(\hat {f}(x)-E [\hat {f}(x)])^2]$를 나타냅니다.

즉 축소 가능한 오차를 $Bias [\hat {f}(x)]+Var(\hat {f}(x))$로 일정하게 표현할 수 있음을 의미합니다. 또한 두 텀 사이에서 한쪽이 작아지면 한쪽이 커지고 한쪽이 커지면 한쪽이 작아지는 절충 관계(Trade-off)가 생기게 됩니다.