[ML] Regularization

2024. 10. 27. 07:48·Programming/ML
728x90
728x90

Regularization 이란?

기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.

  • Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대해 일반화(generalization)가 잘되지 않는 상황을 의미함.
  • Regularization을 통해 모델의 Degree of Freedom(자유도), 즉 모델이 표현할 수 있는 복잡성을 제어해 일반화 성능을 높일 수 있음.

주요 Regularization 기법들

1. L1 및 L2 Regularization

  • L1 Regularization: 가중치 값의 절댓값 합을 손실 함수에 추가하는 방식임.
    • 모델의 일부 가중치가 0이 되게 만들어 희소성(sparsity)을 증가시키는 효과가 있음.
    • 이는 Linear Regression에서는 흔히 Lasso Regression으로도 알려져 있음
  • L2 Regularization: 가중치 값의 제곱합을 손실 함수에 추가하는 방식임.
    • 손실 함수에 패널티 항을 추가해 모델이 점진적으로 가중치 크기를 줄여가며 과도한 가중치 값이 발생하는 것을 억제함.
    • 이는 Linear Regression에서는 흔히 Ridge Regression으로도 알려져 있음.
  • Elastic Net: L1과 L2 Regularization을 결합한 방법임.
    • 데이터의 특성이 상관관계가 있을 때 특히 유용하며, 희소성과 일반화 능력을 동시에 강화할 수 있음.

2. Early Stopping

  • Early Stopping은 모델이 검증 데이터에 대한 성능이 더 이상 향상되지 않을 때 학습을 조기에 중단하는 방법임.
  • 이는 Over-fitting 을 방지하는 효과가 있으며, 모델이 훈련 데이터에 너무 맞춰지지 않게 함.

3. Dropout

  • 이 기법은 훈련 중에 일부 뉴런을 무작위로 비활성화하는 방식으로 작동하며, 이를 통해 네트워크가 특정 뉴런에 과도하게 의존하지 않도록 훈련시킴.
  • Dropout을 적용하면 매 훈련 단계마다 원래 네트워크의 일부만 사용되는데, 이를 '서브 네트워크'라고 함.
  • Dropout은 여러 서브 네트워크를 학습하면서 모델이 더 다양한 패턴을 배우도록 하고, 특정 서브 네트워크에 대한 의존성을 낮춤.
  • 이는 결과적으로 새로운 데이터에 대해서도 잘 작동하는 모델을 만드는 데 도움을 줌.

4. Data Augmentation

  • 데이터가 부족한 경우 Data Augmentation을 사용해 훈련 데이터를 인위적으로 늘려 모델이 더 다양한 패턴을 학습할 수 있도록 하는 방법임.
  • 예를 들어 이미지 데이터에서 회전, 크기 조절, 색상 변경 등을 통해 데이터를 증강할 수 있음.

5. Batch Normalization

  • Batch Normalization은 각 미니 배치마다 입력을 정규화(normalize)해 학습이 안정되고 빠르게 진행될 수 있도록 하는 방법임.
  • 이는 간접적으로 정규화 효과를 제공해 과적합을 줄이는 데 도움을 줄 수 있음.

6. Weight Constraint

  • Weight Constraint는 가중치의 크기를 특정 범위로 직접 제한하는 방식임.
  • 학습 중 가중치가 미리 정해진 값(예: 1)을 넘지 않도록 강제로 제한해 네트워크가 안정적으로 학습될 수 있도록 도움을 줌.
  • L2 Regularization과 달리, 손실 함수에 패널티 항을 추가하는 대신 가중치의 크기 자체를 제한하여 보다 직접적으로 제어함.

7. Noise Injection

  • Noise Injection은 학습 중 네트워크의 입력 데이터 나 Weightings (가중치) 에 임의의 노이즈를 추가하는 방법임.
  • 이를 통해 모델이 노이즈에 강인한 특성을 학습하고, 과적합을 방지함.
  • Gaussian noise 등을 주로 사용함.

8. Label Smoothing

  • Label Smoothing은 훈련 데이터의 라벨을 조금 부드럽게 만들어 확신을 덜 가지게 하는 방법임.
  • 예를 들어, One-Hot Vector 에서 완전히 0과 1로 설정하는 대신, 약간의 값을 추가해 0.9와 0.1 같은 형태로 라벨을 조정함.
  • 이를 통해 Over-fitting(과적합)을 방지하고, 모델이 너무 확신을 가지지 않도록 만듦.

9. Soft Labeling

  • Soft Labeling은 라벨 값을 완전히 0과 1로 설정하는 대신, 연속적인 값으로 조정해 모델이 조금 더 부드러운 예측을 하도록 하는 방법임.
  • Label Smoothing과 유사하게 Soft Labeling은 라벨 간의 애매한 경계를 반영하여 모델이 불확실성을 학습하도록 도움을 줌.
  • 예를 들어, 분류 문제에서 서로 유사한 두 클래스의 라벨을 0.9와 0.1의 비율로 주어, 모델이 더 일반화된 판단을 내리게 함.
  • 특히 불균형 데이터나 애매한 클래스 경계를 가진 문제에서 유용하게 사용됨.

 

'Programming > ML' 카테고리의 다른 글

[ML] Nearest Neighbor Search: k-d Tree  (0) 2024.11.25
[ML] Feature Importances for Decision Tree  (0) 2024.11.10
[ML] Linear Classification Model: Hyperplane and Decision Boundary  (0) 2024.10.27
[ML] Diabetes Dataset  (0) 2024.10.05
[ML] Yeast Dataset  (0) 2024.10.05
'Programming/ML' 카테고리의 다른 글
  • [ML] Nearest Neighbor Search: k-d Tree
  • [ML] Feature Importances for Decision Tree
  • [ML] Linear Classification Model: Hyperplane and Decision Boundary
  • [ML] Diabetes Dataset
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (740)
      • Private Life (13)
      • Programming (56)
        • DIP (104)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Programming
    Optimization
    Vector
    numpy
    Convolution
    SS
    math
    fourier transform
    signal_and_system
    signals_and_systems
    opencv
    SIGNAL
    인허가제도
    linear algebra
    Term
    Probability
    random
    function
    검사
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[ML] Regularization
상단으로

티스토리툴바