머신러닝에서 과적합과 과소적합이란? [당신이 배워야 할 모든 것]
게시 됨: 2020-02-18머신 러닝은 마스터하기 가장 쉬운 과목이 아닙니다. 과적합과 과소적합은 기계 학습 커뮤니티에서 흔히 볼 수 있는 몇 가지 용어입니다. 이러한 개념을 이해하면 미래 학습의 기초가 됩니다.
이 기사에서 이러한 개념에 대해 자세히 알아볼 것입니다. 또한 이러한 오류의 기본 개념, 발생 이유 및 수정 방법에 대해 논의합니다. 데이터 모델과 이러한 오류와의 관계에 대해서도 조금 배우게 됩니다.
따라서 수풀을 헤치지 않고 바로 뛰어 들어 봅시다.
목차
데이터 모델이란 무엇입니까?
Overfitting과 Underfitting이 무엇인지 논의하기 전에 먼저 모델이 무엇인지 이해합시다. 데이터 모델은 입력으로 예측을 수행하는 시스템입니다. 모델은 문제를 해결하기 위한 이론이라고 말할 수 있습니다. 예를 들어 여러 회사의 성장을 예측하려는 경우 해당 수익을 입력으로 사용하고 수익과 성장 간의 관계를 기반으로 결과를 생성할 수 있습니다. 이 예의 출력은 회사의 예상 성장입니다.
따라서 투입물은 기업의 현재 이익이고 성장 예측은 산출물입니다. 이 둘의 관계가 모델입니다. 출력을 생성하려면 모델이 필요합니다.
모델은 훈련 데이터 세트를 통해 입력과 출력 간의 관계를 이해합니다. 우리는 입력 기능과 출력 레이블을 호출합니다. 따라서 기사에서도 이러한 이름을 볼 수 있습니다. 모델을 훈련하는 동안 레이블과 함께 기능을 제공하고 모델이 이들 간의 관계를 파악하도록 합니다. 교육이 완료되면 올바른 예측을 사용할 수 있는 기능 세트만 제공하여 모델을 시험해 볼 수 있습니다.

예측을 생성한 후에는 이를 올바른 예측과 비교하고 모델이 얼마나 정확한지 확인합니다. 모델은 다양한 모양을 가지고 있습니다.
데이터 교육 및 테스트
초보자일 때 데이터 모델에 완벽한 기능을 제공할 수 있지만 현실 세계에서는 그렇지 않습니다. 현실 세계의 데이터는 잡음과 쓸모없는 정보로 가득 차 있습니다. 데이터 소스가 무엇이든 상관없이 추세에 맞지 않는 일부 변수가 데이터에 존재합니다.
기업의 성장 예측에 대한 우리의 예에서 당신은 그들의 성장이 전적으로 이익에 의존하지 않는다는 것을 알고 있습니다. 많은 요인이 작용했을 것입니다. 모델을 훈련하는 동안 현실감 있게 만들기 위해 약간의 노이즈를 추가해야 합니다. 데이터를 만든 후에는 훈련과 테스트를 위해 데이터를 두 세트로 나누어야 합니다.
모델이 기능과 레이블 간의 관계를 학습하는 데 도움이 되도록 훈련 데이터를 사용합니다. 그리고 테스트 데이터를 사용하여 성능을 평가합니다.
데이터 세계에는 다양한 형태의 모델이 존재합니다. 하나를 선택하는 것은 약간 어려울 수 있지만 약간의 연습을 하면 쉬워집니다. 표준 모델은 다항식 회귀입니다. 입력이 다양한 거듭제곱으로 증가하는 선형 회귀의 한 형태입니다. 일종의 선형 회귀이지만 직선을 형성하지 않습니다. 선형 회귀 구현에 대해 자세히 알아보세요.
차수에 따라 다항식을 정의합니다. 다항식의 차수는 방정식에서 x의 가장 높은 거듭제곱입니다. 그리고 다항식의 차수 역시 차수를 보여줍니다. 예를 들어, 직선 방정식은 1도를 갖습니다.
머신러닝에서 과적합 및 과소적합 수정의 중요성
과적합과 과소적합은 모델의 다항식 차수를 다룰 때 발생합니다. 앞에서 언급했듯이 다항식의 차수는 방정식에서 x의 가장 높은 거듭제곱에 따라 달라집니다. 이 값은 모델의 유연성을 나타냅니다. 모델의 차수가 높으면 훨씬 더 자유로울 것입니다. 높은 수준의 모델은 많은 데이터 개체를 포함할 수 있습니다.
반면에 필요한 학위보다 적은 모델은 충분한 데이터 개체를 포함할 수 없습니다. 이 두 가지 상황 모두 유용하지 않은 더러워진 결과를 초래할 수 있습니다.
필요도 이상으로 이전의 문제는 과적합(Overfitting)이었다. 그리고 요구도 미만의 두 번째 문제는 과소적합(underfitting)이었다. 보시다시피, 둘 다 모델에 해를 끼치고 결과를 손상시킬 수 있습니다.

이러한 문제를 수정하지 않으면 모델에서 정확한 결과를 얻을 수 없으며 사용할 수 없는 레이블이 생깁니다.
이제 기본 개념을 알았으므로 각각에 대해 자세히 논의해 보겠습니다.
과적합이란?
기계 학습 알고리즘이 데이터 내에서 노이즈를 등록하기 시작하면 이를 과적합이라고 합니다. 간단히 말해서 알고리즘이 작은 세부 사항에 너무 많은 관심을 기울이기 시작할 때입니다. 기계 학습에서 결과는 가능한 출력을 예측하는 것이며 Overfitting으로 인해 정확도를 크게 방해할 수 있습니다. 우리는 그것이 좋은 일처럼 들리지만 그렇지 않습니다.
기계 학습에서 과적합의 심각한 예는 모든 점이 선형으로 연결된 그래프일 수 있습니다. 우리는 추세를 포착하고 싶지만 차트는 그렇게 하지 않습니다.
좋은 예측은 할 수 없지만 데이터에서 가능한 모든 것을 배우는 모델은 부정확한 결과로 이어지기 때문에 쓸모가 없습니다.
Overfitting을 발견하면 어떻게 해야 합니까?
알고리즘이 사용하는 데이터의 양을 줄이고 시스템에 과부하를 주지 않으면 이 문제를 해결할 수 있습니다. 높은 분산(과적합)은 상황을 더 나쁘게 만듭니다. Overfitting을 해결하는 데 사용되는 몇 가지 기존 기술은 다음과 같습니다.
반복 감소
Overfitting이 발생하기 전에 실행되는 반복 횟수를 줄임으로써 발생을 막을 수 있습니다. 시행 착오 방법으로 정확한 반복 횟수를 찾을 수 있습니다.
정규화
0에 가까운 계수 추정치를 제한합니다. 간단히 말해서 알고리즘에 엄격한 모델 대신 더 관대한 모델을 사용하도록 지시한다고 말할 수 있습니다. 정규화와 과적합을 피하는 방법에 대해 자세히 알아보세요.
가지치기(표준)
과적합을 피하는 가장 쉽고 일반적인 방법은 가지치기입니다. 예측력을 거의 또는 전혀 추가하지 않는 노드를 제거합니다.
5중 교차 검증
교차 검증을 사용하는 것은 과적합을 확인하는 덜 복잡한 방법 중 하나입니다.
언더피팅이란?
이름에서 알 수 있듯이 Underfitting은 모델이 결과를 제공하기에 충분히 적합하지 않은 경우입니다. underfit 데이터 모델은 충분한 데이터 개체를 대상으로 하는 방법을 모릅니다. 차수가 적을수록 그래프는 존재하는 대부분의 기능을 놓치게 됩니다.
즉, 모델이 과소적합한 경우 결과를 생성하기에는 '너무 단순'합니다. 그러나 이 문제를 해결하는 것이 훨씬 더 편안하고 이전에 과적합했던 것만큼 많은 노력이 필요하지 않습니다.
Underfitting을 발견하면 어떻게 해야 합니까?
모델이 적합하지 않은 경우 더 많은 기능을 제공해야 합니다. 더 많은 기능을 사용하면 더 큰 가설 공간을 갖게 됩니다. 이 공간을 사용하여 정확한 결과를 생성할 수 있습니다. 과소적합을 감지하는 것은 과적합에 비해 더 편안하므로 이 오류를 식별하는 데 문제가 없습니다. 그러나 과소적합 모델을 처리하는 동안 전체 데이터가 아닌 기능만 늘려야 합니다. 이 경우 데이터를 확장하면 더 많은 오류가 발생합니다.

읽기: 흥미로운 기계 학습 프로젝트 아이디어
스위트 스팟
기계 학습에서는 데이터 모델이 Underfitting과 Overfitting 사이에 있기를 원합니다. 너무 많거나 너무 적은 데이터 포인트를 다루지 않아야 합니다. 모델을 더 훈련시키면서 더 개선하고 오류를 수정할 수 있습니다. 모델의 오류는 훈련 세트와 테스트 세트와 함께 줄어들기 시작할 것입니다.
Overfitting과 Underfitting 사이의 최적의 지점에 도달하는 가장 좋은 방법은 오류가 증가하기 시작하기 전에 모델 훈련을 중단하는 것입니다. 이것은 이 기사에서 이전에 언급한 방법과 별도로 사용할 수 있는 일반적인 솔루션입니다.
결론
모든 데이터 전문가는 과적합 및 과소적합 문제에 직면해 있습니다. 데이터 모델을 훈련하는 것은 쉽지 않으며 익숙해지려면 많은 연습이 필요합니다. 그러나 경험을 통해 초기에 문제를 식별하기 시작하고 오류의 원인을 완전히 피할 수 있습니다.
머신 러닝 전문가가 되려면 이러한 오류에 익숙해지는 것이 중요합니다. 기계 학습 및 데이터 과학에 대해 자세히 알아보려면 IIIT-B & upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제를 제공합니다. , IIIT-B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.