-
Overfitting vs. Underfitting: 개념적 설명MACHINE LEARNING 2018. 6. 2. 06:38반응형
Overfitting vs. Underfitting: 개념적 설명
영어를 배우고 싶다고 해 봅시다. 당신은 언어에 대한 사전 지식이 없지만 가장 위대한 영어 작가는 윌리엄 셰익스피어라고 들었습니다. 자연스런 행동은 도서관에 갇혀서 그의 작품을 암기하는 것일겁니다. 1년 동안 공부를 한 후, 당신은 공부를 마치고 뉴욕으로 가서 "좋은 새벽이네, 친구!" 라고 인사할 것이고, 반응으로 "미친" 이라고 중얼거림과 경멸하는 표정을 볼 수 있을 것입니다.
침착하게 당신은 다시 시도할 것입니다. "친애하는 신사분, 우리의 친절한 숙녀분은 어떻게 지내시나요?" 또 다른 실패와 도망치게 될 것입니다. 세 번째 시도가 실패한 후에 당신은 혼란 스럽습니다. 정말 부끄러운 일입니다. 당신은 방금 모델링에서 가장 기본적인 실수 중 하나를 저질렀고, 교육 데이터(training data)에 overfitting 되었습니다.
데이터 과학 과정에서 과잉 모델(overfit model)은 새로운 테스트 데이터에 대한 일반화(generalization)가 좋지 않은 교육 세트에 대한 높은 분산(high variance)과 낮은 편향(low bias)을 갖는 것으로 설명됩니다. 영어를 배우려는 우리의 시도를 통해 그 난해한 정의를 깨뜨립시다. 우리가 만들고 싶은 모델은 영어를 사용하여 의사 소통하는 방법을 나타내는 것입니다. 우리의 훈련 데이터는 셰익스피어의 모든 작품이며 우리의 테스트 세트는 뉴욕입니다. 사회적 수용의 관점에서 성과를 측정한다면, 우리의 모델은 테스트 데이터를 일반화하거나 번역하지 못합니다. 지금까지는 간단해 보이지만, 분산과 편향은 어떻게 될까요?
분산(variance)은 교육 데이터에 대한 반응에서 모델이 얼마나 많이 변경되는지입니다.
우리가 단순히 훈련 세트를 암기하고 있기 때문에, 우리의 모델은 훈련 데이터에 크게 의존하는 높은 분산(high variance)을 가지고 있습니다. 셰익스피어가 아닌 J.K.롤링의 작품 전체를 읽는다면 모델이 완전히 달라질 것입니다. 높은 분산을 가진 모델이 새로운 테스트 세트에 적용될 때, 교육 데이터 없이는 모든 것이 손실되기 때문에 잘 수행 할 수 없습니다. 마치 교과서에 있는 문제들만 외운 학생과도 같습니다. 현실 세계의 문제에 직면했을 때 무력해집니다.때때로 대학원생들도 밖에 나가야 한다
편향(bias)은 우리가 데이터를 가정할 때의 강점을 나타 내기 때문에 분산의 이면입니다. 영어를 배우려는 시도에서 우리는 초기 모델 가설을 세우지 않았고, 바드의 연구를 신뢰하여 언어에 관한 모든 것을 가르쳐주었습니다. 이것은 낮은 편향(low bias)으로 긍정적인 것처럼 보일 수 있습니다. 왜 우리는 데이터에 편향되기를 원할까요? 하지만 우리는 데이터가 우리에게 완전한 이야기를 들려주는 능력에 대해 항상 회의적이어야 합니다. 자연적인 과정이 소음(noise)을 발생시키고, 훈련 데이터가 그 소음(noise)을 모두 포착한다고 확신할 수는 없습니다. 종종 우리는 데이터에 대한 초기 가정을 하고 교육 데이터에서 볼 수 없는 변동에 대한 모델을 남겨 두어야 합니다. 책을 읽기 전에 셰익스피어의 작품이 말 그대로 우리에게 영어를 가르쳐 줄 수는 없다고 판단했어야 했으며, 우리는 훈련 데이터를 암기하는 데 신중하게 주의를 기울일 수 있었을 것입니다.
지금까지 내용을 요약하자면, 편향(bias)이란 데이터를 얼마나 무시하는지를 말하며, 분산(variance)은 데이터에 대한 모델의 의존성을 나타냅니다. 어떤 모델링이든 편향과 분산 사이에는 항상 절충점이 있을 것이고, 모델을 만들 때 우리는 최고의 균형을 이루려고 노력할 것입니다. 편향 대 분산은 가장 단순한 모델에서 가장 복잡한 모델까지 모든 모델에 적용 가능하며 데이터 과학자를 이해하는 데 중요한 개념입니다!
우리는 overfit된 모델이 높은 분산과 낮은 편향을 가지고 있음을 보았습니다. 그 반대는 어떨까요? 낮은 분산과 높은 편향? 이것은 underfitting 으로 알려져 있습니다. training set을 가깝게 따르지 않고 training set의 교육용 데이터를 무시하여 입력과 출력 간의 기본 관계를 배우지 못하는 모델입니다.
예를 들어 보겠습니다. 영어 모델을 만들려는 이전의 시도에서 배운대로 미리 모델에 대해 몇 가지 가정을 하기로 결정합니다. 또한 우리는 훈련 데이터를 바꾸고 프렌즈의 모든 에피소드를 보면서 영어를 가르칩니다. 첫 번째 시도에서와 같은 실수를 반복하지 않기 위해 우리는 언어에서 가장 일반적인 단어(the, be, to, of, and, a)로 시작하는 문장 만이 중요하다는 가정을 미리합니다. 공부할 때 우리는 다른 문장에 주의를 기울이지 않습니다. 이렇게 하는 것이 더 나은 모델을 만들 것이라고 확신합니다.
오랜 기간 훈련을 한 후 우리는 다시 뉴욕 거리로 여행을 떠났습니다. 이번에는 약간 더 나아졌지만, 대화는 어디에도 없습니다. 우리는 패배를 인정해야 합니다. 우리는 영어를 알고 제한된 수의 문장을 이해할 수 있지만 훈련 데이터에 대한 편견(bias) 때문에 언어의 기본 구조를 배우지 못했습니다. 이 모델은 높은 분산(high variance)으로 고통받지 않지만 초기 시도와 부적합(underfit)으로 인해 과도하게 수정되었습니다.
Underfitting(high bias, low variance) vs Overfitting(low bias, high variance)
우리가 뭘 할 수 있을까요? 우리는 데이터에 엄격한 주의를 기울였으며, 우리는 overfit 했습니다. 우리는 데이터를 무시했고, 우리는 underfit 했습니다. 최적의 균형을 찾을 방법이 있어야 합니다. 다행히도, 데이터 과학에 검증이라고 불리는 잘 정립된 솔루션이 있습니다. 예를 들어, 우리는 훈련 세트(training set)와 테스트 세트만 사용했습니다. 이것은 실제 세계에서 우리의 모델이 어떻게 할 것인지 미리 알 수 없다는 것을 의미했습니다. 이상적으로는 모델을 평가하고 실제 테스트 전에 개선할 수 있는 "예비 테스트(pre test)"를 설정해야 합니다. 이 "예비 테스트"는 유효성 검사 세트(validation set)로 알려져 있으며 모델 개발의 중요한 부분입니다.
영어를 배우지 못한 두번의 실패는 우리를 훨씬 현명하게 만들었고 우리는 이제 유효성 검사 세트(validation set)를 사용하기로 결정했습니다. 우리는 셰익스피어의 작품과 프렌즈를 모두 사용합니다. 더 많은 데이터가 거의 항상 모델을 향상시킨다는 것을 배웠기 때문입니다. 이번엔 훈련 후, 거리로 가기 전에 매주 모여서 현재 일어나는 일들을 영어로 논의하는 친구들에게 모델을 평가받는 점이 다릅니다. 첫 주에는 우리 언어 모델이 너무 나쁘기 때문에 대화에 거의 참여를 못했습니다. 그러나 이것은 유효성 검사 세트(validation set) 일 뿐이며 실수를 할 때마다 모델을 조정할 수 있습니다. 결국 우리는 그룹과 대화를 나누면서 테스트 세트에 준비가 되었다고 선언할 수 있었습니다. 현실세계를 다시 한 번 탐험하면서 우리는 마침내 성공했습니다. 우리의 모델은 이제 모델 개발 및 최적화를위한 유효성 검사 세트라는 결정적인 요소를 가지고 있기 때문에 커뮤니케이션에 적합합니다.
이 예는 매우 단순화되어 있습니다. 데이터 과학 모델에서는 매우 많은 유효성 검사 세트(validation set)를 사용합니다. 그렇지 않으면 유효성 검사 세트에 overfitting하게 되기 때문입니다. overfitting은 교차 검증(cross validation)을 통해 해결할 수 있습니다. 여기서 교육 데이터를 다른 하위 집합으로 분할하거나 많은 데이터가 있는 경우 여러 유효성 검사 세트를 사용할 수 있습니다. 이 개념적 예제는 문제의 모든 측면을 다룹니다. 이제 overfitting 대 underfitting 과 bias 대 variance에 대해 들었을 때 문제를 이해하고 어떻게 해결할 수 있는지 개념적 틀이 생겼습니다.
데이터 과학은 복잡해 보일지 모르지만, 실제로는 일련의 기본 빌딩 블록으로 만들어져 있습니다. 여기에서 다루는 몇 가지는 다음과 같습니다.
- overfitting : 교육 데이터에 너무 많이 의존
- underfitting: 교육 데이터에서 관계를 배우지 못했습니다
- high variance: 교육 데이터를 기반으로 모델이 크게 변경됩니다
- high bias: 모형에 대한 가정은 교육 데이터를 무시하게 만듭니다
- overfitting 및 underfitting의 원인은 테스트 세트의 잘못된 일반화(generalization)입니다
- 모델 튜닝에 대한 유효성 검사 세트(validation set)는 underfitting 및 overfitting을 방지할 수 있습니다
데이터 과학과 다른 기술 분야는 우리의 일상 생활과 분리되어서는 안됩니다. 실제 사례로 개념을 설명함으로써 우리는 그 개념을 상황에 맞게 만들 수 있습니다. 틀을 이해한다면, 문제에 대한 기술을 사용하여 세부 사항을 채울 수 있습니다.
피드백과 건설적인 비판을 환영합니다. 트위터 @koehrsen_will 입니다.
나는 테일러 쾨르센(그런데 파름드)에게 내가 글을 쓰는 엔지니어처럼 들리지 않도록 도와준 것에 감사하고 싶다!
이 문서는 영문으로된 내용을 개인적인 공부를 위해 개인 블로그에 번역한 것입니다.
원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다.원문보기 : https://towardsdatascience.com/overfitting-vs-underfitting-a-conceptual-explanation-d94ee20ca7f9
반응형'MACHINE LEARNING' 카테고리의 다른 글
빅 데이터 : 혁신, 경쟁 및 생산성을 위한 개척자 (0) 2019.05.21 빅데이터와 오늘날 비즈니스 모델의 창조적 파괴 (0) 2019.04.05 데이터 엔지니어 vs 데이터 과학자 (0) 2018.05.02 Random Forest in Python (0) 2018.03.15 간단하게 설명한 Random Forest (0) 2018.03.03