I about me

[Deep learning] Overfitting 본문

AI/Deep Learning

[Deep learning] Overfitting

ssungni 2024. 5. 30. 21:38

본 글은 https://iai.postech.ac.kr/teaching/deep-learning/ 해당 페이지를 보고 공부한 것을 정리한 내용입니다

 

Polynomial Regression(다항회귀)

- 데이터를 표현함에 있어 선형이 아닌 곡선으로 나타나는 경우에 사용하는 회귀

- 회귀모델의 차수(degree)를 조절함으로써 데이터에 대한 적합성을 조정할 수 있음

 

아래 <표>에서 d는 차수를 뜻하므로 

d = 1이라면,

d = 2이라면,

d = n이라면,

d = 1 d = 2 d = 3
d = 4 d = 5 d = 6
d = 7 d = 8 d = 9

 

Errors on Train and Test Datasets


다항회귀 모델의 차수(degree)를 변화시키면서

- --- : Train  데이터에 대한 잔차 제곱합 (RSS)

- --- : Test 데이터에 대한 잔차 제곱합 (RSS)

 

[그래프 해석]

- 차수가 1 이하인 경우, RSS가 자체가 높은 것을 볼 수 있음

    - 데이터의 패턴을 충분히 학습하지 못했음 (undertfitting)

- 차수가 2에서 6까지인 경우, RSS가 자체가 높은 것

    - 데이터의 패턴을 잘 학습했음

- 차수가 7 이상인 경우, RSS가 급격히 증가함

    -  Test (new) 데이터에 대한 예측 성능↓ (overfitting)             

 

Overfitting Problem

  • 모델이 훈련 데이터에서 예외적으로 잘 수행되었지만 테스트 데이터를 예측할 수 없는 상황을 경험한 적이 있나요?
  • 데이터 과학 전문가들이 가장 흔히 마주치는 문제 중 하나는 과적합을 피하는 것입니다.

→ train data는 성능이 좋으나, test(새로운) data에 대해서는 성능이 낮다

 

Issue with Rich Representation

// 풍부한 표현: 모델이 매우 복잡하거나 많은 매개변수를 가지고 있어 데이터를 세밀하게 학습할 수 있는 능력

→ 근데 이렇게 좋은 것에 문제가 있을 수 있다? 그것은 바로!

  • input data point에서는 오류가 낮지만, 그 주변(nearby)에서는 오류가 높음 (d = 9일 때, 2에 대한 값 생각)
  • train 데이터에서는 오류가 낮지만, test 데이터에서는 오류가 높음

Generalization Error

  • Fundamental problem: we are optimizing parameters to solve
    // 즉, 우리는 훈련 데이터에서 가능한 낮은 오류를 내기 위해 매개변수를 조정하는 것이 근복적인 문제 해결 방법이라며 이런식으로 최적하기 바쁩니다.
  • But what we really care about is loss of prediction on new data (x, y)
    – also called generalization error
    // 그러나, 우리는 새로운 데이터가 왔을 때 prediction을 잘하는 것이 중요합니다. 이를 일반화 오류라고 합니다.
  • Divide data into training set, and validation (testing) set
    // 그래서 우리는 데이터를 훈련 세트와 검증(테스트) 세트로 나누어야 합니다.

Regularization (Shrinkage Methods)

// 정규화

  • 많은 특징을 사용할 경우, 예측 함수가 매우 표현력이 높아집니다.(모델 복잡성 증가)
    그러므로 
    1. 덜 표현력이 높은 함수를 선택한다.
      (ex) 낮은 차수의 다항식, 더 적은 RBF 중심, 더 큰 RBF 대여폭)
       ? RBF: 입력 데이터의 거리에 따라 값을 반환하는 함수
    2. 매개변수의 크기를 작게 유지한다.
      - 정규화(Shrinkage): 큰 매개변수 θ에 페널티를 부여하여 매개변수 값을 축소
          - λ: 정규화 매개변수로, 낮은 손실과 작은 θ 값 사이의 균형을 맞추기
                 - λ 값 ↑ , 정규화 효과가 강화되어 모델의 복잡성이 줄어듦

Different Regularization Techniques

= 아예  훈련 데이터의 크기를 완전 늘려 다양한 패턴을 학습시켜 Overfitting을 줄이는 방법

  1. Big data
  2. Data augmentation (데이터 증강)
  3. Early stopping (조기 종료) // 검증 데이터에서의 성능이 나빠지는 것을 관찰하면 훈련을 즉시 중단하는 기법

'AI > Deep Learning' 카테고리의 다른 글

[Deep learning] DP → Backpropagation  (0) 2024.06.25
[Deep learning] Perceptron  (0) 2024.06.25
[Deep learning] Machine Learning  (0) 2024.05.30
[Deep learning] Gradient Descent  (0) 2024.05.22
[Deep learning] Optimization  (0) 2024.05.02