0. 오버피팅 문제
모델을 한정된 데이터로 학습시키다 보면 모델이 학습 데이터셋에 대한 손실함수가 과하게 작아지는 경우가 생길 수 있습니다. 이런 경우 우리는 모델이 과적합되었다고 합니다. 과적합된 모델은 평가 데이터셋이나 실제 데이터셋에 대해 점수가 낮을 수 있습니다. 과적합 문제를 해결하기 위한 방법으로는 아래의 방법들이 있습니다.
- 학습 데이터 양을 늘리기
- 배치 정규화(* Batch Normalization)
- 모델의 복잡도 줄이기
- 드롭아웃(* Drop-Out)
- 가중치 규제(* Weight Regularization)
이들 중 가중치 규제란 모델의 손실 함수값이 너무 작아지지 않도록 특정한 값을 추가하는 방법인데 오늘은 이에 대해 설명하겠습니다.
1. 규제 Regularization
가중치 규제는 모델의 손실 함수에 특정한 Penalty 를 부여하여 모델을 단순하게 만들어 주는 작업입니다. 이 때 손실 함수에 부여되는 Penalty 의 종류에 따라 규제를 2 가지로 나눌 수 있습니다.
- L1 규제 (절댓값 규제)
- L2 규제 (제곱 규제)
두 규제 방식들은 모델의 가중치를 0에 가깝게 만들어서 모델을 단순하게 만들어 준다는 공통점을 가지고 있습니다. 하지만 L1 규제는 Penalty 에 절댓값을 사용하여 규제를 강하게 했을 경우 가중치를 0 까지 만들 수 있습니다. 그에 반해 L2 규제는 Penalty 에 제곱을 사용하여 L1 규제와 달리 규제를 강하게 해도 0에 가까운 값을 만들지, 0은 만들 수 없습니다.
1.1 L1 규제
더하기 전 좌측이 일반적인 Cost Function 이고 여기에 가중치 절댓값을 더해줍니다. 가중치가 너무 작은 경우에 0이 될 수 있습니다. 이는 몇몇 중요한 가중치만 남게 되는 결과를 만듭니다. 이는 해당 모델에서 어떤 가중치가 모델에 중요한 영향을 끼치는지, 어떤 가중치가 모델에 그렇게 안 중요한지 쉽게 알 수 있습니다.
L1 규제를 사용하는 선형 회귀 모델로는 Lasso 가 있습니다.
1.2 L2 규제
좌측에 Cost Function 에 제곱한 가중치의 값을 더해줘서 가중치의 크기를 조절합니다. L1 규제와 달리 L2 규제는 특정 가중치가 0이 되지는 않습니다. L2 규제를 사용하는 선형 회귀 모델로는 Ridge 가 있습니다.
1.3 Elastic-Net
Elastic-Net 은 L1 규제와 L2 규제를 합친 것으로 실제로 매우 강력합니다. 하지만 L1 규제의 파라미터와 L2 규제의 파라미터를 Cross Validate 와 같은 방법으로 두 개 모두 조절해야합니다.
- 배운 점
과적합을 해결하는 방법으로 규제 가 있지만 다른 방법들도 있다는 것을 알았다.
'[Deep daiv.] > 머신러닝' 카테고리의 다른 글
머신러닝 공부 - 4 Lasso (.contd) and LinearClassifier (0) | 2024.03.25 |
---|---|
머신러닝 공부 - 3 Ridge Regression and Lasso (0) | 2024.03.23 |
머신러닝 공부 - 2 KNN Regression and Linear Model (0) | 2024.03.22 |
머신러닝 공부 - 1 머신러닝에 대한 기본적인 이해와 KNN 알고리즘 (0) | 2024.03.19 |