← 회귀분석
PART 2 · 03 회귀분석 · 10

규제회귀

계수를 줄여 과적합을 막고 예측 안정화

과적합Ridge (L2)Lasso (L1)Elastic Netλ · 교차검증

Ridge (L2)Lasso (L1)모서리에 닿으면한 계수가 정확히 0

일반적인 회귀분석에서는 데이터에 가장 잘 맞는 회귀계수를 추정합니다. 하지만 설명변수가 많거나 변수끼리 비슷한 정보를 담고 있으면 회귀계수가 불안정해질 수 있습니다. 표본에 지나치게 맞춰진 모형은 새로운 데이터에서 예측 성능이 떨어지기도 합니다.

이런 문제를 완화하기 위해 사용하는 방법이 규제회귀(Regularized Regression)입니다. 회귀계수에 제약을 주어 모형의 복잡성을 조절하는 방식입니다. 대표적인 방법은 Ridge 회귀와 Lasso 회귀이며, 두 방법을 결합한 Elastic Net도 널리 사용됩니다. 맨 위 그림의 원(Ridge)과 마름모(Lasso)가 두 방법의 차이를 요약합니다. 이 장의 그림은 고객 80명의 모의 데이터로 실제 계산한 결과입니다.

SECTION 01

왜 규제회귀가 필요할까?

예를 들어 고객의 구매 금액을 예측하기 위해 웹사이트 방문 횟수, 상품 페이지 조회 수, 장바구니에 담은 상품 수, 구매 전 검색 횟수, 상품 페이지 체류 시간, 광고 클릭 횟수를 사용한다고 가정해 보겠습니다. 이 변수들은 서로 관련이 있을 수 있습니다. 웹사이트 방문 횟수가 많은 고객은 상품 페이지도 많이 조회할 가능성이 있기 때문입니다(예제 데이터에서 두 변수의 상관은 0.81입니다).

이처럼 비슷한 정보를 담은 변수가 많으면 회귀계수가 데이터의 작은 변화에도 크게 달라질 수 있습니다(07장). 또한 설명변수가 많을수록 우연한 패턴까지 학습할 위험이 커집니다.

훈련 데이터 오차새 데이터 오차6213651설명변수 수 (의미 있는 6개 + 우연한 변수)평균 제곱오차
그림 1. 변수를 늘릴수록 훈련 오차는 줄지만 새 데이터 오차는 커진다 (모의실험, 훈련 60명)

그림 1은 의미 있는 변수 6개에 아무 관련 없는 무작위 변수를 하나씩 더해 가며 일반 회귀를 적합한 결과입니다. 훈련에 쓴 데이터의 오차는 변수가 늘수록 계속 줄어듭니다. 하지만 처음 보는 새 데이터의 오차는 오히려 커지고, 변수가 훈련 표본 수에 가까워지면 급격히 나빠집니다. 모형이 우연한 패턴까지 외워 버린 것, 즉 과적합입니다. 규제회귀는 회귀계수가 지나치게 커지는 것을 억제하여 이러한 문제를 완화합니다.

규제회귀가 어떻게 작동하는지 먼저 전체 흐름을 보면 다음과 같습니다. 이 장의 나머지는 이 흐름의 각 단계를 하나씩 살펴봅니다.

데이터와 설명변수예: 방문 횟수, 조회 수, 장바구니오차 최소화 + 계수 크기 규제SSE + λ × 페널티를 함께 최소화계수 축소과도하게 큰 계수를 억제변수 선택Lasso는 일부 계수를 0으로과적합 감소 · 예측 안정성 향상새 데이터에서의 예측 성능 개선
그림 2. 규제회귀의 작동 원리
SECTION 02

일반 회귀와 규제회귀의 차이

일반적인 최소제곱법(OLS)은 잔차제곱합(SSE)을 최소화합니다. 규제회귀는 여기에 회귀계수의 크기를 제한하는 페널티 항을 추가합니다. 세 방법을 나란히 놓으면 다음과 같습니다.

OLSmin Σ(yi − ŷi)²
Ridge (L2)min [ Σ(yi − ŷi)² + λ Σ βj² ]
Lasso (L1)min [ Σ(yi − ŷi)² + λ Σ |βj| ]
세 식의 앞부분(오차 제곱합)은 같고, 색칠한 페널티만 다릅니다. 즉 목적함수 = SSE + λ × 페널티입니다.

λ(람다)란? 페널티를 얼마나 세게 줄지 정하는 규제 강도입니다. λ = 0이면 일반 회귀와 같고, 클수록 계수가 더 작아집니다. 회귀계수와 달리 데이터에서 자동으로 계산되지 않고 분석자가 정하는 값이라, 여러 후보를 비교해 고릅니다(섹션 6).

λ = 0 (OLS): β = 2.00λ = 2: β = 1.33λ = 8: β = 0.6700123회귀계수 βSSE + λ × 페널티
그림 3. λ가 커질수록 목적함수의 최솟값이 0 쪽으로 이동 (개념 예시, 계수 하나)

그림 3은 계수가 하나뿐인 단순한 예입니다. 회색 곡선(λ = 0)은 SSE만 있는 경우로, β = 2에서 가장 작습니다. 여기에 β²에 비례하는 페널티를 더하면 곡선의 바닥이 0 쪽으로 옮겨 갑니다. λ = 2이면 1.33, λ = 8이면 0.67입니다. 데이터에 맞추려는 힘과 계수를 작게 유지하려는 힘 사이에서 타협점을 찾는 것입니다.

실제 분석에서는 변수의 단위가 서로 다르면 규제의 영향도 달라질 수 있으므로, 일반적으로 설명변수를 표준화한 뒤 규제회귀를 적용합니다. 예를 들어 금액을 원 단위로 쓰면 계수가 아주 작아 페널티를 거의 받지 않고, 백만 원 단위로 쓰면 계수가 커져 강하게 줄어듭니다. 절편은 보통 페널티 대상에서 제외합니다.

SECTION 03

Ridge 회귀란?

Ridge 회귀는 회귀계수의 제곱합에 페널티를 부여하는 방법입니다. L2 규제라고도 하며, 식은 섹션 2의 파란 페널티(λ Σ βj²)입니다.

방문 횟수페이지 조회장바구니검색 횟수체류 시간광고 클릭10^-210^-111010^210^3규제 강도 λ (오른쪽으로 갈수록 강함)
그림 4. Ridge: λ가 커질수록 모든 계수가 0 쪽으로 줄어듦 (모의 데이터)

그림 4는 예제 데이터에서 λ를 아주 작은 값부터 큰 값까지 바꾸며 Ridge 계수를 계산한 경로입니다. λ가 커질수록 여섯 계수가 모두 함께 0 쪽으로 줄어들지만, 그래프 오른쪽 끝에서도 정확히 0이 되지는 않습니다. Ridge 회귀는 계수가 지나치게 커지는 것을 억제하면서 여러 변수의 정보를 함께 활용합니다.

예를 들어 구매 금액을 예측할 때 방문 횟수와 페이지 조회 수가 모두 유용한 정보라면, Ridge는 두 변수의 계수를 함께 축소하여 모형을 안정화할 수 있습니다.

SECTION 04

Lasso 회귀란?

Lasso 회귀는 회귀계수의 절댓값 합에 페널티를 부여하는 방법입니다. L1 규제라고도 하며, 식은 섹션 2의 주황 페널티(λ Σ |βj|)입니다.

방문 횟수페이지 조회장바구니검색 횟수체류 시간광고 클릭10^-310^-210^-11규제 강도 λ선이 0에 닿아 머무는 지점 = 그 변수가 빠짐
그림 5. Lasso: λ가 커지면 계수가 하나씩 정확히 0이 됨 (모의 데이터)

Ridge와 달리 Lasso는 일부 회귀계수를 정확히 0으로 만들 수 있습니다. 그림 5에서 λ가 커질수록 계수가 하나씩 0에 닿아 그대로 머무릅니다. 실제로 영향이 없게 만든 체류 시간과 광고 클릭이 가장 먼저 0이 되고, 가장 중요한 장바구니가 가장 오래 남습니다. 계수가 0이 된 변수는 해당 모형의 예측식에 기여하지 않으므로, Lasso는 변수 선택에도 활용됩니다.

예를 들어 고객 구매 금액을 예측하는 데 50개의 변수가 사용되었다고 가정하겠습니다. Lasso를 적용한 뒤 18개 변수의 계수가 0이 되었다면, 나머지 32개 변수가 해당 규제 수준에서 예측식에 남은 것입니다. 다만 계수가 0이 되었다고 해서 해당 변수가 현실에서 중요하지 않다는 뜻은 아닙니다. 선택 결과는 표본, 변수 간 상관관계, 규제 강도에 따라 달라질 수 있습니다.

SECTION 05

Ridge와 Lasso 비교

두 방법의 차이는 계수를 줄이는 방식에서 나옵니다.

OLS311.520.830.34Ridge: 모두 절반으로1.510.7520.430.154Lasso: 모두 0.6씩 빼고, 0 아래는 02.410.920.2304Ridge는 비율로 줄여 작은 계수도 남고, Lasso는 같은 양을 빼서 작은 계수가 0이 된다
그림 6. 계수를 줄이는 방식의 차이 (단순화한 개념 예시)

그림 6은 설명변수끼리 상관이 없는 단순한 경우를 가정한 예입니다. 이때 Ridge는 모든 계수를 같은 비율로 줄입니다(예: 절반). 그래서 3은 1.5, 0.3은 0.15가 되어 작은 계수도 작게나마 남습니다. Lasso는 모든 계수에서 같은 양을 뺍니다(예: 0.6). 그래서 3은 2.4가 되지만, 0.3처럼 빼는 양보다 작은 계수는 0 아래로 내려가는 대신 정확히 0이 됩니다. 맨 위 그림에서 Lasso의 마름모 꼭짓점에 닿으면 계수가 0이 되는 것과 같은 원리입니다.

비교 항목RidgeLasso
규제 방식계수 제곱합(L2)계수 절댓값 합(L1)
계수 축소가능가능
계수를 정확히 0으로 만들기일반적으로 어려움가능
변수 선택직접적인 변수 제거 효과는 없음가능
상관관계가 높은 변수여러 변수의 계수를 함께 축소할 수 있음일부 변수만 선택할 수 있음
적합한 상황여러 변수가 함께 유용할 때변수 수를 줄이고 싶을 때

어느 방법이 항상 더 우수한 것은 아닙니다. 예측 정확도가 목적이라면 교차검증으로 성능을 비교하고, 변수 선택과 해석 가능성이 중요하다면 선택된 변수와 계수의 안정성도 확인해야 합니다.

SECTION 06

규제 강도 λ는 어떻게 결정할까?

규제 강도 λ는 규제회귀의 핵심 설정값입니다.

일반적으로 여러 λ 후보를 비교하고, 교차검증(Cross-validation)을 통해 적절한 값을 선택합니다. 훈련 데이터를 여러 조각으로 나눠, 한 조각을 빼고 학습한 모형으로 뺀 조각을 예측하는 일을 조각마다 반복해 평균 오차를 구합니다. 예제 데이터에서 5-겹 교차검증으로 고른 값은 Ridge λ ≈ 6.6, Lasso λ ≈ 0.11였고, 이때 Lasso는 영향이 없게 만든 체류 시간과 광고 클릭의 계수를 정확히 0으로 만들었습니다. 실무에서는 보통 다음과 같은 절차를 따릅니다.

데이터 분리훈련 / 평가훈련 안 교차검증표준화 · λ 선택다시 학습선택한 λ로평가 데이터최종 성능 확인전체 데이터로 먼저 표준화·변수 선택 = 데이터 누수평가 데이터 정보가 학습에 섞여 성능이 과대평가됨
그림 7. 규제회귀 분석 절차와 데이터 누수
  1. 훈련 데이터와 평가 데이터를 분리합니다.
  2. 훈련 데이터 안에서 교차검증을 수행합니다.
  3. 여러 규제 강도의 성능을 비교합니다.
  4. 선택한 설정으로 훈련 데이터를 다시 학습합니다.
  5. 별도로 보관한 평가 데이터에서 최종 성능을 확인합니다.

표준화와 변수 선택을 포함한 전처리도 각 교차검증의 훈련 구간 안에서 수행해야 합니다. 전체 데이터로 먼저 표준화하거나 변수를 선택하면 평가 데이터의 정보가 학습 과정에 유입되는 데이터 누수(Data Leakage)가 발생할 수 있습니다. 그러면 시험 문제를 미리 본 것처럼 성능이 실제보다 좋게 평가됩니다.

보고서에는 다음과 같이 작성할 수 있습니다.

보고 문장 예시

고객 80명의 구매 금액을 6개 설명변수로 예측하기 위해 규제회귀를 적용하였다. 5-겹 교차검증으로 선택한 규제 강도는 Ridge λ ≈ 6.6, Lasso λ ≈ 0.11이었으며, 선택된 Lasso 모형에서는 체류 시간과 광고 클릭의 계수가 0으로 축소되어 방문 횟수, 상품 페이지 조회 수, 장바구니 상품 수, 검색 횟수의 4개 변수가 예측식에 남았다.

SECTION 07

Elastic Net이란?

Elastic Net은 Ridge의 L2 규제와 Lasso의 L1 규제를 결합한 방법입니다.

min [ Σ(yi − ŷi)² + λ ( α Σ|βj| + 1 − α2 Σβj² ) ]

여기서 λ는 전체 규제 강도이고, α는 두 규제의 상대적인 비중을 조절합니다. 이 식의 계수 정규화는 설명을 위한 일반적인 형태이며, 실제 소프트웨어에 따라 목적함수의 스케일링은 다를 수 있습니다.

α = 0 · Ridgeα = 1 · Lasso0 < α < 1 · Elastic Net계수를 함께 줄임일부를 0으로상관된 변수를 묶어 선택
그림 8. Elastic Net: α로 Ridge와 Lasso 사이를 조절

Elastic Net은 설명변수가 많고 서로 높은 상관관계를 보이는 상황에서 유용한 후보가 될 수 있습니다. Lasso는 비슷한 변수 중 하나만 고르고 나머지를 버리는 경향이 있는데, Elastic Net은 L2 부분 덕분에 비슷한 변수들을 묶어서 함께 남기거나 함께 뺍니다. 변수 선택 효과를 유지하면서 상관된 변수 집합을 다루는 데 도움을 줄 수 있습니다.

SECTION 08

실제 분석에서는 어떻게 활용할까?

예를 들어 설문조사 데이터로 고객의 전반적인 만족도를 예측한다고 가정하겠습니다. 설명변수에는 서비스 품질, 응답 속도, 사용 편의성, 신뢰도, 재이용 의향 등 여러 항목이 포함될 수 있습니다. 이 항목들은 서로 관련되어 있을 수 있고, 변수 수도 많을 수 있습니다.

분석 목적고려할 방법이유
여러 변수의 정보를 유지하면서 예측Ridge계수를 축소해 모형을 안정화
예측에 필요한 변수 수를 줄이고 싶음Lasso일부 계수를 0으로 만들 수 있음
상관된 변수가 많고 변수 선택도 필요Elastic NetL1과 L2 규제를 결합
각 변수의 효과를 통계적으로 해석하고 싶음일반 회귀 등과 함께 검토규제회귀 계수만으로 전통적인 유의성 검정을 대체하기 어려움

규제회귀는 예측 성능을 개선하는 데 초점을 둔 방법입니다. 따라서 규제회귀에서 선택된 변수가 곧바로 원인 변수라는 뜻은 아닙니다. 또한 일반적인 OLS의 표준오차와 p값을 규제회귀 계수에 그대로 적용해 해석해서는 안 됩니다. 계수가 일부러 0 쪽으로 당겨져 있기 때문입니다.

규제회귀를 사용할 때 주의할 점

✓ 핵심 정리

규제를 통해 과적합을 줄이고 예측의 안정성을 높입니다.


다음은 11 로버스트 회귀와 분위회귀입니다. 극단적인 관측값이 회귀 결과에 미치는 영향을 줄이는 방법과, 평균이 아니라 중앙값이나 특정 분위수에 해당하는 관계를 분석하는 방법을 알아봅니다.

KEY TAKEAWAYS

규제회귀는 SSE에 λ × 페널티를 더해 계수를 0 쪽으로 당깁니다. Ridge(제곱)는 모두 비율로 줄이고, Lasso(절댓값)는 같은 양을 빼서 작은 계수를 0으로 만듭니다. λ는 교차검증으로 고르고, 표준화는 훈련 구간 안에서 하며, 규제 계수에 OLS의 p값을 쓰지 않습니다.