HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
기계학습개론
기계학습개론
/
#04. Overfitting

#04. Overfitting

선택
mid
참고 자료
https://junstar92.tistory.com/24https://jrc-park.tistory.com/272
텍스트
Mar 7, 2024
보편적으로 사용되는 분야 (정해진 것은 아님,classification model이 regression할 수 있도록 할 수 있다)
차수 (일주일 단위)
2-2.
📌
Overfitting에 대해서 알아보자.
 

[Overfitting]

What
Overfitting vs Underfitting
notion image
왼쪽: Underfit.. == high bias, low variance
가운데: Right!
오른쪽: Overfit.. == low bias, high variance
📌
Bias와 Variance
 
Bias가 높다는 것은 값이 틀리다는 것을 의미한다. 따라서 Underfit 상황은 high bias를 의미한다. Variance가 높다는 것은 값들이 흩어져 있는 것을 의미한다(= 가설 함수의 변화 폭이 크다고 이해해도 될 것 같다. 가설 함수의 변화 폭이 크다는 건 당연히 함수가 그만큼 복잡하다는 걸 의미하겠지…). 따라서 Overfit 상황은 high variance를 의미한다.
(⇒ underfit 상황에서는 경향성을 잘 찾을 수 있지만, 실제 값과 예측 값이 차이나고, overfit 상황에서는 실제 값과 예측 값의 차이는 적지만, 경향성을 찾을 수 없다 정도로 이해하면 될 것 같다)
notion image
검정색 point 위치까지 학습시키는 것이 가장 좋은 학습이다.
notion image
How
Underfit 상황에서는 학습을 많이 시키면 된다. 그렇다면 Overfit 상황은 어떻게 해결해야 할까?
  1. 데이터 셋을 늘린다.
    1. data가 무지막지하게 많다면, 모델도 깊게 학습되지 못할 것이다…
      그러나 이 방법은 data 수집 비용이 비싸고, 시간이 많이 든다는 한계점이 있다.
  1. Reducing Features, 모델의 복잡성을 줄인다.
    1. data가 적은데 feature가 많다면, overfit될 가능성이 있다. 이를 피하기 위해서 필요 없는 feature들을 줄이는 방법이다.
      • feature selection: 관련 있는 특징들만 선택하는 방법 (관련 있는 특징이란?: 값이 잘 분류 되는 특징들. 예를 들어 ‘집 사이즈’라는 특징이 있을 때 집 가격이 10평 당 1000만원씩 증가한다면, 분류를 잘 하는 것이므로 유의미한 특징이라고 할 수 있다)
        • ⇒ 이는 Correlation, T검정 등의 방법을 통해서 알아볼 수 있다..!
      • feature extraction: 새로운 특징을 만드는 방법
        • ⇒ 기존의 특징이 linear 한 형태가 아닐 때 log를 씌워서 linear한 특징 제작
          ⇒ demension reduction 등으로 기존보다 줄어든 차원 형태의 특징 제작
  1. Regularization
    1. 모든 feature를 유지한다. 단 유용한 feature의 parameter 값은 올려주고, 비이상적인 feature의 parameter 값은 내려준다.
      ⇒ “local noise와 이상 값(outlier)을 피하기 위해서 이 방법을 사용한다”라고 이해해도 될 것 같다..!
      자세히 (with수식)
      “Cost Function에 각 feature들의 가중치(regularization 항목)를 더한 수식 Cost Function으로써 활용한다.”
      • = hyperparameter(러닝 과정을 조정하는 매개 변수. ex learning rate) → 모델을 단순화 하고 싶다면, 람다 값을 높이면 된다.
      notion image
      이처럼 regularizaion 항목을 더해주면 모델은 cost뿐만 아니라 theta 또한 최소화 하기 위한 학습을 진행하기 된다.
      다음과 같이 theta를 갱신하며 업데이트를 진행해 나간다 (Gradient Descent) → 위에껄 직접 미분 해보면 된다… 참고자료를 참고하자…
      notion image
      (위는 linear reg에서 regularization을 적용했을 때의 경사하강법(GD) 예시이고, 만약 Logistic reg에서 적용한다면 달라진다! → 당연히 linear와 logistic의 GD 수식이 다르므로!)
      L1 Regularization vs L2 Regularization
      notion image
      Regularization을 시각화 하면 다음과 같다.
      notion image
📌
위의 내용은 ‘교수님의 방법’
다른 링크에서는 regularizaion은 feature selection의 한 방법으로 보기도 한다. 즉 위의 것들은 교수님 기준으로 나눈 방식이므로 너무 암기하지는 말고, 그냥 이런 방법들이 있구나~ 하고 넘어가자!
 

[Model Selection]

Model Selection
모델 선택에 대한 다이어그램이다.
notion image
  1. model 선택 (ex. 분류 문제라면, KNN, decision tree…)
  1. data preperation: noise 제거하거나, feature를 선택하는 과정
  1. split: train/validation/test … 등으로 분류
  1. 학습
  1. 정확도 측정
 

[Validation]

Cross Validation
데이터가 부족할 때 사용하는 방법이다.
ex. K-fold Cross-Validation
notion image
 
 

[Batch]

Mini-Batch
데이터가 많을 경우 mini-batch로 나누어서 학습을 진행한다.
1epoch = 1개의 데이터 셋을 다 돌았다는 의미이다.