정규화 (Regularization)

정규화는 머신러닝 모델이 훈련 데이터에 지나치게 적응하지 않도록 규제하는 방법이다. 과적합은 모델이 훈련 데이터에 너무 잘 맞춰져서 새로운 데이터에 대한 일반화 성능이 떨어지는 현상이다. 이를 방지하기 위해 정규화는 모델의 복잡도를 제한하거나 가중치를 조절하는 방식을 사용한다. 정규화는 손실 함수에 추가 항을 도입하여, 모델의 학습 과정에서 특정 조건을 만족하도록 유도한다.

L1 정규화 (Lasso Regression)

L1 정규화는 손실 함수에 가중치의 절대값 합을 추가하는 방식이다. 이는 일부 가중치를 0으로 만들어 특정 특성(feature)을 선택하지 않도록 한다. L1 정규화의 손실 함수는 다음과 같다:

L(θ)=J(θ)+λi=1nθiL(\theta) = J(\theta) + \lambda \sum_{i=1}^{n} |\theta_i|

L1 정규화는 희소한 모델을 생성하며, 이는 특성 선택(feature selection)의 효과를 가지고 있다. 모델의 복잡도를 줄이는 데 유용하다.

L2 정규화 (Ridge Regression)

L2 정규화는 손실 함수에 가중치의 제곱합을 추가하는 방식이다. 이는 가중치의 크기를 가능한 작게 유지하도록 유도한다. L2 정규화는 다음과 같은 손실 함수를 사용한다:

L(θ)=J(θ)+λi=1nθi2L(\theta) = J(\theta) + \lambda \sum_{i=1}^{n} \theta_i^2

여기서 $ J(\theta) $는 기존의 손실 함수이고, $ \lambda $는 정규화 강도를 조절하는 하이퍼파라미터이다. L2 정규화는 가중치가 0에 가까워지도록 하여 모델이 특정 입력에 대해 과도한 가중치를 부여하는 것을 방지한다.

Elastic Net

Elastic Net은 L1 정규화와 L2 정규화를 결합한 기법이다. 두 정규화 방법의 장점을 동시에 활용하며, 다음과 같은 손실 함수를 사용한다:

L(θ)=J(θ)+λ1i=1nθi+λ2i=1nθi2L(\theta) = J(\theta) + \lambda_1 \sum_{i=1}^{n} |\theta_i| + \lambda_2 \sum_{i=1}^{n} \theta_i^2

Elastic Net은 모델이 많은 특성을 포함할 때 유용하며, L1 정규화의 특성 선택 효과와 L2 정규화의 안정성을 동시에 제공한다.

배치 정규화 (Batch Normalization)

배치 정규화는 신경망의 각 층에서 입력을 정규화하여 학습 속도를 높이고 과적합을 방지하는 방법이다. 배치 정규화는 미니배치(mini-batch) 단위로 평균과 분산을 계산하여 입력을 정규화한 후, 이를 다시 학습 가능한 파라미터로 조정한다.

배치 정규화를 사용하면 학습이 안정화되며, 초기화와 학습률에 덜 민감해진다. 이는 깊은 신경망에서 특히 효과적이다.


관련 자료:

  • Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.

  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.

  • Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. Springer.

  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

Last updated