728x90
반응형
머신러닝에서의 정규화(Regularization)란?
머신러닝 모델을 처음 접할 때는 데이터에 잘 맞는 모델을 만드는 것이 중요하다고 생각하기 쉽습니다.
하지만 실제 문제에선 훈련 데이터에만 너무 잘 맞는 모델은 과적합(overfitting) 되기 쉽고,
새로운 데이터에 대한 예측 성능이 떨어질 수 있습니다.
이때 등장하는 핵심 개념이 바로 정규화(Regularization) 입니다.
1. 정규화의 정의
정규화(Regularization)는 머신러닝 모델이 너무 복잡해지는 것을 방지하고,
과적합을 줄이기 위해 패널티를 추가하는 방법입니다.
간단히 말하면, 모델이 너무 자유롭게 학습하지 않도록 일정한 제약을 거는 것입니다.
2. 왜 정규화가 필요한가요?
- 모델이 너무 복잡하면 훈련 데이터에는 잘 맞지만, 테스트 데이터에는 성능이 떨어집니다.
- 특히 피처 수가 많거나 다중공선성(multicollinearity)이 있을 경우, 회귀 계수가 불안정해질 수 있습니다.
- 정규화는 이 문제를 해결해줍니다.
3. 대표적인 정규화 기법
(1) Ridge Regression (L2 정규화)
손실 함수에 가중치의 제곱합을 추가하여 모델이 큰 가중치를 갖지 않도록 유도합니다.
$$
\text{Loss} = \text{MSE} + \alpha \sum w_i^2
$$
- 부드럽게 가중치를 줄입니다.
- 모든 피처가 남아있지만 크기가 줄어듭니다.
(2) Lasso Regression (L1 정규화)
손실 함수에 가중치의 절댓값 합을 추가합니다.
$$
\text{Loss} = \text{MSE} + \alpha \sum |w_i|
$$
- 일부 가중치를 0으로 만들어 변수 선택 효과(feature selection) 도 있습니다.
- 불필요한 피처가 자동으로 제거됩니다.
(3) ElasticNet
L1과 L2를 혼합한 방식입니다.
$$
\text{Loss} = \text{MSE} + \alpha \left( r \sum |w_i| + (1 - r) \sum w_i^2 \right)
$$
- Ridge와 Lasso의 장점을 결합합니다.
반응형
728x90
4. alpha(λ)의 역할
alpha
는 정규화의 강도를 조절하는 하이퍼파라미터입니다.- 값이 클수록 규제가 강해지고, 값이 작을수록 자유롭게 학습합니다.
- 일반적으로는 GridSearchCV 같은 기법으로 적절한
alpha
를 찾습니다.
5. 시각적으로 이해하기
alpha 값 | 설명 | 결과 |
---|---|---|
0 | 정규화 없음 | 과적합 위험 |
작음 | 약한 정규화 | 유연한 모델 |
큼 | 강한 정규화 | 단순하지만 과소적합 가능 |
6. 정규화 사용 목적
- 피처 수가 많고 다중공선성이 있을 때
- 과적합이 발생하는 경우
- Lasso를 이용해 불필요한 피처를 자동으로 제거하고 싶을 때
마무리
정규화는 머신러닝에서 모델의 복잡도를 적절히 조절해주는 중요한 도구입니다.
모델이 복잡할수록 좋은 게 아니라, 일반화 성능이 좋은 모델이 더 중요 합니다.
728x90
반응형
'AI > Machine Learning' 카테고리의 다른 글
분류 vs 회귀 모델 평가 지표 (2) | 2025.04.13 |
---|---|
원핫 인코딩(One-Hot Encoding) (1) | 2025.04.13 |
데이터 변환 (0) | 2025.04.08 |
로그(log)와 지수(exp)의 관계 (1) | 2025.04.08 |
선형 회귀 모델의 데이터 변환 (0) | 2025.04.07 |