-
과적합이란?데이터사이언스/질문과 답변 2022. 8. 30. 20:44
과적합은 overfitting을 그대로 번역한 단어입니다. 처음 들었을 때에도 아리송하더니,
통계를 배우고 있어도 쉬운 설명을 찾기 어려웠습니다. 그래서 제가 생각한 쉬운 설명은 다음과 같습니다.
과적합, 쉬운 의미
일상을 예시로 들어보겠습니다. 수능이나 자격증시험 등에서 기출문제를 통해 다가올 시험을 준비합니다.
이 때 기출문제의 디테일에 너무 집착한 나머지 실제 시험에서 좋은 성적을 받지 못하는 경우,
이것을 “내 공부가 기출문제에 과적합되었구나”라고 말할 수 있습니다.
반대로 기출문제도 제대로 못 풀 때는 과소적합(underfitting)이라고 하겠습니다.
적합을 많이 하면 할수록 좋은 게 아닐까 하는 의문을 가졌던 분들을 위한 설명입니다.
우리가 갖고 있는 데이터는 평행세계의 한 가지 경우의 수라는 점을 염두에 두어야
과적합이 이해되기 시작하는 것 같습니다.
출처: educative.io
과적합, 해결하기
많은 데이터(샘플)를 확보하기
더 다양한 기출문제를 풀고, 더 많은 평행세계의 특징을 모델에 포함할 때 과적합의 위험이 줄어듭니다. (모의고사 한 세트로만 시험을 준비한다면 어떤 특징이 시험의 보편적으로 나타나는지 알기 힘들 것입니다.)
물론 실제 분석에서는 더 많은 데이터를 확보하는 게 어려울 수 있습니다. 그럴 때는 기존의 자료를 유의미하게 변형하거나 생성모델(generative model)을 활용하는 것이 도움 될 수 있습니다.
모델의 복잡도를 낮추기
일반적으로 모델의 복잡도는 모델안에 포함된 변수의 개수를 말합니다. 만약 신경망 모델이라면 네트워크 층이나 뉴런의 수를 줄이고, 나무모형이라면 나무들의 깊이를 줄이고 가지치기를 진행하여 복잡도를 낮출 수 있습니다. 유의한 변수를 선택하는 기법을 적극적으로 활용하는 것이 효과적입니다.
정규화하기
모델의 크기에 대한 가중치 항을 손실함수 옆에 추가 합니다. 이렇게 되면 모델 해를 구하는 과정에서 최적화와 동시에 모델의 크기가 커지는 것을 방지 할 수 있습니다. (이것은 같은 성능이라면 더 적은 변수를 포함하는 모델을 사용하게 만드는 효과를 갖습니다.)
'데이터사이언스 > 질문과 답변' 카테고리의 다른 글
데이터 전처리, 무엇부터 해야할까? (0) 2023.02.28 ROC곡선은 왜 그렇게 생겼을까? (정밀도와 정확도의 차이) (0) 2023.02.27 데이터베이스의 구조가 중요할까? (0) 2023.02.24