파이썬으로 시작하는 머신러닝 - 과대적합과 과소적합

2022. 1. 11. 00:44·프로젝트/코드프레소 체험단

* 머신러닝의 목표

모집단을 판단/예측할 수 있는 모델을 만드는 것 > 표본 데이터를 기반으로 일반화된 모델을 만드는 것

 

 표본 데이터를 기반으로 훈련된 모델로 모집단을 판단/예측할 때, 일반화(Generalizetion)와 최적화(Optimization)라는 중요한 이슈가 있다.

 

 일반화 : 모델이 이전에 학습한 적 없는 데이터에서 얼마나 잘 수행되는지를 의미, 검증 단계

 최적화 : 훈련 데이터에서 최고의 성능을 내는 모델을 조정하는 과정, 학습 단계

 

모델이 너무 최적화되면, 훈련 데이터만 너무 잘 학습해서 훈련 데이터에선 높은 정확도를 보이겠지만 신규 데이터에는 정확도가 떨어진다. 반대로 모델이 너무 일반화되면, 훈련 데이터에 대해 학습이 충분하지 않거나 데이터가 부족해 훈련 데이터조차 정확도가 떨어진다. 최적화된 모델과 일반화된 모델 간에 격차를 최소화하는 모델을 만드는 것이 머신러닝의 과제이다.

 

 과대적합: 모델이 너무 최적화된 상태

 과소적합: 모델이 너무 일반화된 상태.

 

* 과대적함(Overfitting)

학습용 데이터셋에 모델이 지나치게 학습 및 최적화되어 새로운 데이터를 예측하지 못하는 현상.

일반화의 오류. 모델의 복잡도가 높은 상태.

이 현상을 어떻게 줄일지, 과대적합을 해결하는 과정이 더 중요함.

 

* 과소적합(Underfitting)

모델의 학습이 충분하지 않아, 발생하는 학습의 오류.

새로운 데이터도 충분히 설명하지 못하는 상황 발생.

최적화의 오류. 모델의 복잡도가 지나치게 낮은 상태.

 

* 과대적합 피하기

1. 학습 데이터 추가 > 새로운 데이터를 추가하는 것은 비용이 많이 든다. 때문에 가지고 있는 데이터를 효율적으로 사용할 수 있는 교차 검증(Cross validation) 기법이 존재.

2. 학습 데이터의 모델 노출 횟수 낮추기

3. 모델의 복잡도 낮추기

 

* 과소적합 피하기

1. 학습 시간을 늘리기:딥러닝에서 사용

2. 모델의 복잡도 늘리기

3. 모델을 새로 구축(잘못된 알고리즘 선택, 하이퍼파라미터 설정이 잘못됨)

 

* 결론

과대적합과 과소적합 사이의 격차 최소화.

최적화와 일반화라는 가치에서 적절한 균형을 찾도록 학습되어야함.

 

'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글

파이썬으로 시작하는 머신러닝 - 완강후기  (0) 2022.01.13
파이썬으로 시작하는 머신러닝 - 데이터전처리  (0) 2022.01.13
파이썬으로 시작하는 머신러닝 - K 최근접 이웃 알고리즘(KNN 모델)  (0) 2022.01.11
파이썬으로 시작하는 머신러닝 - 머신러닝의 주요 프로세스  (0) 2022.01.09
파이썬으로 시작하는 머신러닝 - 머신러닝의 분류  (0) 2022.01.09
'프로젝트/코드프레소 체험단' 카테고리의 다른 글
  • 파이썬으로 시작하는 머신러닝 - 완강후기
  • 파이썬으로 시작하는 머신러닝 - 데이터전처리
  • 파이썬으로 시작하는 머신러닝 - K 최근접 이웃 알고리즘(KNN 모델)
  • 파이썬으로 시작하는 머신러닝 - 머신러닝의 주요 프로세스
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (573) N
      • 혼잣말 (87)
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (168) N
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (39) N
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MailBadara
    react
    프로그래머스
    머신러닝
    사이드프로젝트
    docker
    나만무
    numpy
    크래프톤정글
    RNN
    블록체인
    자바스크립트
    위상정렬
    JavaScript
    글리치해커톤
    알고리즘
    핀토스
    니어프로토콜
    코드프레소
    딥러닝
    Pint OS
    Flutter
    pintos
    OS
    졸업과제
    부산대
    파이썬
    NEAR Protocol
    해커톤
    리액트
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
파이썬으로 시작하는 머신러닝 - 과대적합과 과소적합
상단으로

티스토리툴바