정칙화 (Regularization)
정규화, 규제화, 일반화 등으로 쓰기도 하는데, 헷갈릴 여지가 있으므로 정칙화라고 하겠다.
이는 모델의 과적합(overfitting)을 방지하고, 모델을 좀 더 일반화(generalization)하기 위한 일종의 규제(penalty)를 가하는 것이다. 정확히는 손실함수에 규제를 가하여 극단적인 가중치(weight)를 갖지 않도록 만든다.
흔히 L1 정칙화라고 하는 라쏘(LASSO)와 L2 정칙화라고 하는 릿지(rigde), 이 두가지를 합친 엘라스틱넷(elastic net), 드롭아웃(dropout)이 대표적 정칙화 방법이다.
릿지회귀 (Ridge Regression)
릿지회귀는 가중치 제곱합을 규제항으로 추가하는데, 규제항은 다음과 같다.
$$ \| \mathbf{w} \|_2^2 = \sum_{i=1}^n (w_i)^2 $$
제곱합이라 L2 정칙화라고도 한다. 원래 손실함수가 $ MSE $ 일 때 최종적으로 손실함수는 다음과 같다.
$$ j (\mathbf{w}) = \frac{1}{2n} \sum_{i=1}^n (\hat{w} \cdot x_i + \hat{b} - y_i)^2 + \lambda \| \mathbf{w} \|_2^2 $$
여기서 $ \lambda $ 는 임의의 상수로 규제 강도를 조정한다. $ \lambda $ 가 크면 클수록 가중치에 더 많은 손실을 가하기에 가중치를 줄인다.
목표는 손실함수를 최소화하는 $ \mathbf{w} $ 를 찾는 것이기에 다음과 같다.
$$ \underset{\mathbf{w}}{\min} j(\mathbf{w}) $$
두 개의 가중치에 대해서 정칙화를 시각화하면 아래 그림과 같다. 원래 손실함수의 최솟값은 $\hat{\beta}$ 지점이지만, 정칙화 항을 포함하면 빨간 등고선인 손실함수 등고선과 청록색 원인 L2 정칙화 제약 조건이 만나는 지점에서 새로운 최적 해가 결정된다.
라쏘회귀 (LASSO Regression)
라쏘(LASSO)는 최소 절대 수축 및 선택 연산자(least absolute shrinkage and selection operator)의 약자이다.
가중치의 절대값의 합을 패널티 항으로 추가하는데, 패널티항은 다음과 같다.
$$ \| \mathbf{w} \|_1 = \sum_{i=1}^n \lvert w_i \rvert $$
절댓값 기반이라 L1 정칙화라고 부른다. 원래 손실함수가 $ MSE $ 일 때 최종적으로 손실함수는 다음과 같다.
$$ j (\mathbf{w}) = \frac{1}{2n} \sum_{i=1}^n (\hat{w} \cdot x_i + \hat{b} - y_i)^2 + \lambda \| \mathbf{w} \|_1 $$
여기서 $ \lambda $ 는 임의의 상수로 규제 강도를 조정한다. $ \lambda $ 가 크면 클수록 가중치에 더 많은 손실을 가하기에 가중치를 줄인다.
목표는 손실함수를 최소화하는 $ \mathbf{w} $ 를 찾는 것이기에 다음과 같다.
$$ \underset{\mathbf{w}}{\min} j(\mathbf{w}) $$
L1 정칙화는 가중치의 일부를 0으로 만들어 피처 선택(feature selection) 역할도 한다. 아래 그림에서는 빨간 등고선과 청록색 마름모인 L1 정칙화 제약 조건이 만나는 꼭짓점이 해가 되면서, $\beta_1$ 이 0이 되고 $\beta_2$ 만 남게 되는 구조다.
엘라스틱넷회귀 (Elastic Net Regression)
릿지회귀와 라쏘회귀를 합친 형태로 원래 손실함수가 $ MSE $ 일 때 손실함수를 다음과 같이 변형하여 사용한다.
$$ j (\mathbf{w}) = \frac{1}{2n} \sum_{i=1}^n (\hat{w} \cdot x_i + \hat{b} - y_i)^2 + \lambda_1 \| \mathbf{w} \|_1 + \lambda_2 \| \mathbf{w} \|_2^2 $$
즉 앞서 확인한 두 규제를 모두 가한다.
라쏘는 가중치 중 일부를 0으로 만들 수 있지만, 피처 수가 입력 데이터보다 클 경우(underdetermined system) 성능이 떨어질 수 있다. 반면 릿지는 모든 피처를 조금씩 줄이지만, 완전히 0으로 만들지 않기 때문에 변수 선택에는 적합하지 않다. 따라서 두 모델을 혼합하여 사용하는 것이다. 덕분에 릿지의 안정성과 수렴을 보장하고, 라쏘의 변수 선택 효과를 가져간다. 따라서 상관관계가 높은 변수들, 혹은 고차원 데이터에서도 잘 작동한다.
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[ML] 결정트리(decision tree)와 랜덤포레스트(random forest) (0) | 2025.04.07 |
---|---|
[ML] 로지스틱 회귀(logistic regression) (0) | 2025.03.31 |
[ML] 선형회귀모델(linear regression model) (0) | 2025.03.29 |
[ML] 분류 모델 평가(evaluation) (0) | 2025.03.29 |
[ML] 경사 하강법(gradient descent) (0) | 2025.03.27 |