<외삽(extrapolation)과 모델의 태생적 한계> 외삽은 자주 쓰이는 말이 아니라 어색하지만 누군가에겐 도움이 될 것 같아 공유드립니다. train과 test 셋의 분포를 관찰해 보신 적이 있을까요? Kaggle과 같은 경진대회를 공부하다 보면 관련 글을 자주 볼 수 있습니다. 그런데 이런 짓은 왜 하는 걸까요? 이는 대회뿐만이 아니라 실무에서도 다뤄져야 할 내용입니다. 예를 들어, x1이 1~10 범위를 가지고 있고, 이를 이용해 모델을 만들었더니 예측할 범위는 11 이상이라면 정확도가 상당히 떨어질 수 있습니다. 또 다른 예시로, 150cm ~ 180cm 키를 가진 사람의 몸무게는 정확히 예측하는 모델에 학습한 적이 없는 190cm 키를 입력하면 상식 밖의 답이 나올 수 있습니다. 이런 문제는 근본적으로 해결할 수는 없지만, 만약 발생한다면 왜 발생했는지 알아야 개선할 수 있을 것입니다. (대회 측이나 회사에 무조건 train 데이터를 더 달라고는 할 수 없으니…) 외삽(extrapolation) 방금 말씀드린 사례들이 외삽에 해당합니다. train에 존재하지 않는 범위를 예측할 경우 모델에 따라 서로 다른 반응을 보이는데요, 위 예시 중 몸무게 예측을 할 때 1. 선형 회귀를 썼다면, 190cm는 180cm보다 키가 크니 몸무게도 큰 값이 나올 것입니다. 2. Tree 모형을 썼다면, 190cm와 180cm는 몸무게가 동일하게 나올 것입니다. 3. 신경망을 썼다면, 활성함수에 따라 다른 성질을 보입니다. 이는 각 모델이 데이터를 일반화를 하는데 사용한 가정에 의해 결정됩니다. 선형 회귀는 데이터가 있는 공간이던, 없는 공간이던 항상 dy/dx(기울기)가 상수입니다. Tree 모델은 의사결정 나무가 없는 공간에서 dy/dx는 0이 됩니다. 신경망은 활성함수에 따라 선형 회귀의 특징을 가지기도 하고 아닐 때도 있습니다. 내가 만든 모델이 train 데이터 밖에서 어떤 특성을 가지고 있으면 좋겠다고 생각해 본 적이 있다면 모델 선정 시 한 번 더 고민을 해봐야겠습니다.

회귀: 내삽과 외삽 - 숨은원리 데이터사이언스: R로 하는 데이터 사이언스

Sumeun

회귀: 내삽과 외삽 - 숨은원리 데이터사이언스: R로 하는 데이터 사이언스

2021년 1월 15일 오후 2:37

댓글 0

주간 인기 TOP 10

지난주 커리어리에서 인기 있던 게시물이에요!