Python/[코칭스터디 10기] Beyond AI Basic

[쇼핑데이터를 활용한 머신러닝] 6. 머신러닝 기본개념 (1)

김초송 2023. 5. 8. 18:42

1. Underfitting & Overfitting

1)  Underfitting

  • 데이터를 설명하지 못함
  • 방지하는 방법
    1. 더 많은 데이터를 더 오래 학습
    2. feature 를 더 많이 반영
    3. various 가 높은 머신러닝 모델 사용

2) Overfitting

  • 데이터를 과하게 설명함
  • Regularization
    1. Early Stopping
    2. Parameter norm penalty
    3. Data Augmentation
    4. Noise Robustness
    5. Label Smoothing
    6. Dropout
    7. Batch Normalization
  • 1, 2, 3, 6 은 정형데이터에서 사용 가능한 방법

왼쪽 underfitting, 오른쪽 overfitting

- Early Stopping

  • validation error 가 지속적으로 증가하는 시점에서 stop
  • trade off 관계에 있다고 표현

- Parameter Norm Panalty

  • Noise 에 민감하지 않게 모델을 만들 수 있음
  • 패널티를 적절하게 선택해서 모델을 학습

- Data Augmentation

  • 딥러닝에서 원본 이미지를 회전, flip, 확대, 축소함으로써 이미지 데이터 개수를 늘림
  • 데이터를 의도적으로 증가 -> 머신러닝 모델에게 다양한 경험
  • 의미있는 데이터가 많을 수록 분석하는데 용이함
  • 비슷한 방법으로 정형데이터에서는 SMOTH 라는 방법이 있음

- Smoth

  • inbalanced 데이터를 처리할 때 많이 쓰는 방법
  • inbalanced 데이터에 대해서 augmentation 수행
  1. inbalanced 데이터를 찾아 기준으로 설정
  2. 기준 데이터의 근처에 있는 데이터를 찾음
  3. 기준 데이터와 근처 데이터 사이에 새로운 데이터 생성

- Drop Out

  • 딥러닝에서 무작위로 노드의 연결을 끊음
  • 트리모델에서 모든 노드가 학습에 필요하지 않을 수 있으니
    feature 의 일부분만 사용하여 모델을 생성
  • 모델을 생성할 때 random 하게 컬럼을 sampling

- Prunning (가지치기)

  • 정형데이터에서 drop out 가 비슷한 기법