최선의 모델을 찾아서 (부제: bias와 variance 문제 이해하기)

Nuree Chung
Almighty Data Science Bootcamp
7 min readMay 15, 2018

--

Finding Nemo, Finding a good model (Credit: Pixar)

니모 아빠 말린과 친구 도리가 니모를 찾아 넓은 바다로 모험을 떠났다면, 우리는 데이터의 바다에서 최선의 모델을 찾아 오늘도 모험을 떠납니다. 다른 점이 있다면 말린의 아들 니모는 유일한 존재이지만, 모든 면에서 다른 모델들을 압도하는 ‘유일무이한 최고의 모델’이란 존재가 않는다는 점이랄까요? 모든 모델은 각자의 장단점을 지니고 있으며, 우리는 그 중 전체적인 퍼포먼스가 좋은 최선의 모델을 선택할 뿐이죠. 그렇다면 모델의 퍼포먼스, 즉 정확도(accuracy)는 어떻게 측정할 수 있을까요?

회귀(regression) 문제를 예로 들어 생각해봅시다. 회귀 모델의 정확도를 측정하는 데 가장 많이 이용되는 방법은 MSE(Mean Square Error, 평균제곱오차)입니다. 평균제곱오차라는 이름이 잘 이해가 안된다면, 반대로 읽어보세요. 쉽게 그 의미를 파악할 수 있을 것입니다. 바로 ‘오차(error)’를 ‘제곱(square)’한 값의 ‘평균(mean)’ 내봄으로 정확도를 측정하는 방법이라는 뜻입니다. 수식으로 표현하면 다음과 같습니다.

실제 관측값과 모델이 예측하는 값의 차이(=오차)를 제곱한 후 모두 더해 평균을 구하는 식입니다. 관측값과 예측값의 차이가 클수록 MSE는 커질 것입니다. 이 오차는 무엇으로 인해 발생했을까요? MSE는 크게 세 부분으로 나누어 볼 수 있습니다.

여기서 Var(ϵ)은 데이터 자체가 가지는 태생적인 한계로, 어떤 모델을 사용하건 줄일 수 없어서 ‘줄일 수 없는 오차(irreducible error)’ 혹은 ‘노이즈(noise)’라고도 부릅니다. 반면 분산(variance)과 편향(bias)은 어떤 모델을 선택하느냐에 따라 줄일 수 있는 오차(reducible error)입니다.

Credit: Pixar

다시 잠깐 영화 얘기로 돌아가면, 니모를 찾아 나선 말린과 도리는 상어라는 장애물을 만납니다. 우리는 어떨까요? 우리는 최선의 모델을 찾는 모험에서 분산과 편향이라는 문제를 마주하게 됩니다. 분산과 편향은 모델 선택에 따라 크게 바뀌기 때문에 주의를 기울여 살펴야 하는 문제입니다. 분산과 편향의 의미를 좀 더 자세히 들여다봅시다.

분산은 모델을 통해 예측한 값(y-hat)이 예측값의 평균(E(y-hat))을 중심으로 얼마나 퍼져있는지 보여줍니다. 다시 말해 모델에 실제 데이터(x)를 집어 넣어 나오는 예측값이 얼마나 큰 변동성을 가지는지 나타내죠.

한편, 편향은 예측한 값의 평균(E(y-hat))과 실제값(y)의 차이로, 모델이 맞추지 못하는 부분을 나타냅니다. 즉, 모델에 데이터(x)를 집어 넣어 나오는 예측값이 ‘전반적으로’ 실제값을 얼마나 정확하게 예측하는지 보여줍니다.

(MSE 식으로부터 분산과 편향이 도출되는 과정이 궁금하다면 이 영상을 참고하세요: Anish TurlapatyMSE, variance and bias of an estimator)

분산과 편향의 관계는 과녁 그림을 활용해 설명하는 경우가 많습니다. 아래 그림에서 파란 점은 모델을 통해 나온 예측값이고 과녁의 중심은 실제값이라고 생각하면 됩니다. 분산이 커지면 각각의 예측값(=파란 점)이 예측값의 평균(=파란점의 중심)으로부터 멀리 퍼져있는 형태를 띱니다. 한편 편향이 커지면 실제값(=과녁 중심)으로부터 예측값 평균(=파란점의 중심)이 멀리 떨어지는 형태를 띱니다. 당연히 모든 화살로 과녁 중심을 맞추는 선수가 가장 잘 하는 선수일 것입니다.

Credit: http://scott.fortmann-roe.com/docs/BiasVariance.html

모델의 정확도 역시 마찬가지일 것입니다. MSE가 작은 모델을 만들기 위해서는 분산과 편향을 모두 줄이는 것이 가장 좋습니다. 문제는 모델의 복잡도 관점에서 봤을 때 분산과 편향이 트레이드 오프(trade-off) 관계를 가진다는 것입니다.

Credit: http://scott.fortmann-roe.com/docs/BiasVariance.html

가령 직선형 회귀모델처럼 모델이 간단하면 예측값의 변동성(fluctuation)이 적어 상대적으로 분산은 작게 나타나지만, 예측값 평균과 실제값과는 거리가 멀어져 편향은 상대적으로 크게 나타날 것입니다. 이런 모델을 흔히 말하는 과소적합(under-fitting) 모델이 될 가능성이 높습니다.

반면 곡선형 회귀모델처럼 모델이 복잡하면 예측값 평균과 실제값의 거리는 좁아져 상대적으로 편향은 낮아지지만, 예측값의 변동성이 커져서 상대적으로 분산은 크게 나타날 것입니다. 이런 모델은 과대적합(over-fitting) 모델이 될 가능성이 높습니다.

분산과 편향 모두 최소가 되는 모델을 찾는다면 이상적이겠지만, 모델 복잡도에 따라 서로 트레이드오프 관계를 형성하기 때문에 이는 현실적으로 불가능함을 알 수 있습니다. 최선은 전체 오차(Total Error = Variance + Bias²)를 최소화하는 선에서 분산과 편향이 서로 적절히 양보한 모델을 찾는 것입니다.

데이터를 가지고 여러 모델을 돌려가며 최선의 모델을 찾다보면, 결국 최선의 모델을 찾는 문제가 분산과 편향을 적절한 선에서 해결하는 방법을 찾는 문제로 귀결된다는 점을 알게 될 것입니다.

예를 들어 독립 변수간 상관관계가 높으면 종속 변수의 변화가 어떤 독립변수에 의해 나타나는지 정확한 계수 값을 알기가 어려워집니다. 즉, 계수 예측값의 분산이 커지는 것이죠. 이때 예측값 간의 차이인 분산이 지나치게 커지지 않도록 다양한 규제 방법(L1 규제, L2 규제 등)을 사용하게 됩니다.

이처럼 최선의 모델을 찾아가는 과정에서 분산과 편향은 피할 수 없는 문제라고 할 수 있습니다.

감사합니다.

참고자료:

James, Gareth, et al. An introduction to statistical learning. Vol. 112. New York: springer, 2013.

Understanding the Bias-Variance Tradeoff (Retrieved from: http://scott.fortmann-roe.com/docs/BiasVariance.html)

--

--

Nuree Chung
Almighty Data Science Bootcamp

데이터 분석가. 데이터 프로덕트 매니징과 데이터 사이언스를 통한 사용자 경험 개선 등에 관심이 많습니다.