IT/AI\ML

머신러닝에서의 내삽(보간, Interpolation), 외삽(보외, Extrapolation)

개발자 두더지 2022. 2. 28. 20:35
728x90

 머신러닝에서의 내삽(Interpolation)이란, 어떤 데이터를 사용하여 훈련한 기계 학습 모델의 출력 결과가 그 훈련 데이터(입력 데이터 및 교사 라벨)의 수치 범위 내에 있는 것을 의미한다. 또한 외삽(Expolation)이란, 그 범위 밖의 수치를 의미한다.

 내삽/외삽이라는 용어는 원래 수학 용어이며, 기계학습 모델의 한계나 오해를 방지하기 위한 주의점으로 언급되는 경우가 많다. 특히 머신러닝에 익숙하지 않은 일반인이나 머신러닝 초심자는 내삽과 외삽을 의식하여 구분하지 않기 때문에, 머신 러닝 모델을 "어떤 입력 데이터에 대해서도 동일한 정밀도/신뢰성을 출력하고 있다"고 오해하기 쉽다. 예를 들어, 머신러닝 모델을 훈련하여 90% 정밀도가 나오면 "그 모델을 사용하면 항상 90%의 정밀도가 나온다"라고 생각하는 것이다. 만약 훈련시에 입력하지 않은 범위 외의 입력 데이터를 전달하는 경우, 그 출력 결과는 실제로는 신용하기 어렵다.

 예를 들어, 위 이미지에서는 파란색 원은 훈련 데이터의 입력 데이터(설명 변수x)와 교사 라벨(목적 변수y)을 점으로 표현한 것이다. 초록색 선으로 표시되어 있는 것은 학습이 끝난 머신러닝 모델이며, 어디까지나 그 파란 점이 존재하는 범위 안에서만 훈련되어 있는 것이 된다(내삽). 초록 선을 보면, 훈련되어 있지 않은 범위의 데에터에 대해서도 예측가능할 수 있는 것처럼 보인다(외삽). 그러나 범위 외, 구체적으로는 오렌지 색의 원이 존재하는 부분은 그 머신 러닝 모델에서는 정확하게 예측하지 못한다. 오렌지원도 정확히 예측하기 위해서는 다시 오렌지 점의 데이터도 포함하여 재학습하고, 파란점과 오렌지 점 양쪽 모두 내삽의 범위내에 위치하도록 할 필요가 있다.

 내삽/외삽에 대해 더욱 간단하게 얘기하자면 "학습된 데이터 범위내에 있다면 보다 정확히 예측할 수 있으나(=내삽), 배운적이 없는 것은 당연히 짐작으로 대답할 수 있으나 이 답은 그다지 신용할 수 없다(=외삽)"  


참고자료

https://atmarkit.itmedia.co.jp/ait/articles/2008/26/news017.html

728x90