L2 정규화 (L2 Regularization)
L2 정규화는 기계 학습 모델의 복잡성을 제어하고 일반화 성능을 향상시키기 위해 사용하는 기법이다. 이는 모델의 과적합(overfitting)을 방지하는 데 중요한 역할을 한다. L2 정규화는 손실 함수에 추가적인 항(term)을 더해 가중치(weight)의 크기를 줄이는 방식으로 작동한다. 이 항은 가중치의 제곱합(squared sum)을 기반으로 한다. 이로 인해 모델이 과도하게 큰 가중치를 가지는 것을 방지하고, 보다 일반화된 해(solution)를 찾도록 유도한다.
수학적 정의와 도출
L2 정규화는 다음과 같은 방식으로 손실 함수에 추가된다. 주어진 손실 함수 $ J(\theta) $가 있을 때, L2 정규화가 적용된 손실 함수는 다음과 같다:
여기서 $ \theta_i $는 모델의 각 가중치를 의미하고, $ \lambda $는 정규화 강도(regularization strength)를 조절하는 하이퍼파라미터이다. 이 식에서 두 번째 항인 $ \frac{\lambda}{2} \sum_{i=1}^{n} \theta_i^2 $가 L2 정규화 항이다. 이 항은 모든 가중치 $ \theta_i $의 제곱합을 계산하여 손실 함수에 더한다.
L2 정규화의 직관적 이해
L2 정규화는 가중치가 너무 커지는 것을 억제한다. 큰 가중치는 학습 데이터에 과도하게 맞춰진 모델을 생성할 수 있다. 이로 인해 모델이 새로운 데이터에 대해 일반화 성능이 떨어질 수 있다. L2 정규화는 이 문제를 완화하기 위해 가중치의 크기를 줄이도록 유도한다. 이는 학습 과정에서 모델이 더 작은 가중치를 가지도록 하여, 복잡성이 줄어들고 일반화 성능이 향상되는 효과를 낳는다.
편미분을 통한 최적화 과정
L2 정규화는 경사 하강법(Gradient Descent)과 같은 최적화 알고리즘에 적용될 수 있다. L2 정규화가 포함된 손실 함수를 미분하면, 가중치에 대한 업데이트 식은 다음과 같이 수정된다:
여기서 $ \alpha $는 학습률(learning rate)이다. 위 식에서 볼 수 있듯이, 정규화 항으로 인해 가중치 업데이트 시 기존의 손실 함수의 기울기(gradient)에 더해, 가중치의 크기를 줄이는 방향으로 추가적인 조정이 이루어진다. 이는 가중치가 점진적으로 0에 가까워지도록 하여, 과적합을 방지하는 데 도움을 준다.
가중치 감소와 가설 공간의 제한
L2 정규화는 모델이 복잡한 가설(hypothesis)보다 간단한 가설을 선택하도록 강제하는 효과가 있다. 이는 특정 가중치가 지나치게 큰 값을 가지는 것을 억제함으로써, 모델이 전체 데이터에 대해 고르게 잘 예측할 수 있도록 한다. 이러한 가중치 감소 효과는 실제로 모델이 탐색하는 가설 공간(hypothesis space)을 제한하는 역할을 한다. 이로 인해 더 간결하고 일반화 가능한 모델을 얻을 수 있다.
관련 자료:
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
Ng, A. (2004). Feature selection, L1 vs. L2 regularization, and rotational invariance. In Proceedings of the Twenty-First International Conference on Machine Learning.
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
Last updated