선형 모델 (Linear Models)¶
난이도: 초급~중급
선수 지식: 기초 선형대수, 미적분, 확률/통계 기본 개념
관련 문서: 정규화 이론 | 손실 함수 | 경사 하강법 | 과적합과 과소적합
개요¶
선형 모델(Linear Models)은 머신러닝에서 가장 기본이 되는 모델 군이다. 입력 특성(feature)의 가중 합(weighted sum)으로 예측값을 만들며, 해석이 용이하고 수학적 성질이 잘 알려져 있어 모든 ML 실무자가 반드시 이해해야 하는 모델이다.
선형 모델은 크게 다음으로 나뉜다: - 선형 회귀 (Linear Regression): 연속값 예측 - 로지스틱 회귀 (Logistic Regression): 분류 문제 - 정규화된 변형 (Regularized variants): Ridge, Lasso, Elastic Net
핵심 개념¶
1. 선형 회귀 (Linear Regression)¶
모델 정의¶
목적 함수는 잔차 제곱합(RSS, Residual Sum of Squares)의 최소화이다:
정규 방정식 (Normal Equation)¶
닫힌 형태 해(closed-form solution)가 존재한다:
- 시간 복잡도: \(O(p^2n + p^3)\) (특성 수 \(p\), 샘플 수 \(n\))
- \(\mathbf{X}^T\mathbf{X}\)가 특이(singular)하면 역행렬이 존재하지 않음 (다중공선성 문제)
Gauss-Markov 가정¶
선형 회귀가 BLUE(Best Linear Unbiased Estimator)가 되려면 다음 가정이 필요하다:
| 가정 | 설명 | 위반 시 대응 |
|---|---|---|
| 선형성 (Linearity) | \(y\)와 \(\mathbf{x}\)의 관계가 선형 | 다항 특성, 비선형 변환 |
| 오차 독립성 (Independence) | 오차항이 서로 독립 | GLS (일반화 최소제곱) |
| 등분산성 (Homoscedasticity) | 오차의 분산이 일정 | WLS (가중 최소제곱) |
| 다중공선성 없음 | 특성 간 강한 상관 없음 | 정규화, PCA |
| 정규성 (Normality) | 오차가 정규분포 (추론 시 필요, 추정 시 불필요) | 로버스트 표준오차 |
주요 평가 지표¶
- \(R^2 = 1 - \frac{\text{SS}_{\text{res}}}{\text{SS}_{\text{tot}}}\): 설명된 분산 비율
- 조정된 \(R^2\) (Adjusted \(R^2\)): 특성 수 증가에 대한 페널티 부여
- RMSE, MAE: 예측 오차의 크기
진단 시각화¶
- 잔차도 (Residual plot): 패턴이 보이면 가정 위반
- Q-Q plot: 정규성 확인
- 적합값 vs 실제값 (Fitted vs Actual): 45도 직선에 가까울수록 좋음
2. 로지스틱 회귀 (Logistic Regression)¶
모델 정의¶
여기서 \(\sigma\)는 시그모이드(sigmoid) 함수이다.
손실 함수: 이진 교차 엔트로피 (Binary Cross-Entropy)¶
결정 경계 (Decision Boundary)¶
- 특성 공간에서 선형 초평면이다
- \(\mathbf{w}^T\mathbf{x} + b = 0\)인 지점이 결정 경계
계수의 해석¶
- 계수 \(w_j\)는 로그 오즈비(log-odds ratio)를 의미
- 오즈비: \(e^{w_j}\) (해당 특성이 1 증가할 때 오즈가 \(e^{w_j}\)배 변화)
다중 클래스 확장¶
| 방법 | 설명 | 특징 |
|---|---|---|
| OvR (One-vs-Rest) | 각 클래스에 대해 이진 분류기 학습 | \(K\)개 모델, 가장 일반적 |
| OvO (One-vs-One) | 모든 클래스 쌍에 대해 학습 | \(K(K-1)/2\)개 모델 |
| Softmax (Multinomial) | 전체 클래스에 대해 동시 학습 | 단일 모델, 확률 합 = 1 |
최적화¶
- 닫힌 형태 해가 존재하지 않음
- 경사 하강법 또는 Newton-Raphson (IRLS: Iteratively Reweighted Least Squares) 사용
graph LR
A[입력 x] --> B["z = w^T x + b"]
B --> C["σ(z) = 1/(1+e^{-z})"]
C --> D{P ≥ 0.5?}
D -->|Yes| E[클래스 1]
D -->|No| F[클래스 0] 3. Ridge 회귀 (L2 정규화)¶
목적 함수¶
닫힌 형태 해¶
- \(\lambda\mathbf{I}\)를 더함으로써 행렬이 항상 역행렬 가능해짐 (다중공선성 해결)
핵심 특성¶
- 계수를 0에 가깝게 축소하지만, 정확히 0으로 만들지는 않음
- 기하학적 해석: 가중치가 L2 ball (\(\|\mathbf{w}\|_2^2 \le t\)) 내에 있도록 제약
- 베이지안 해석: 가중치에 대한 가우시안 사전분포 (Gaussian prior)
4. Lasso 회귀 (L1 정규화)¶
목적 함수¶
핵심 특성¶
- 희소한 해(sparse solution)를 만듦 --> 자동 특성 선택 (feature selection)
- 닫힌 형태 해 없음; 좌표 하강법(Coordinate Descent) 또는 LARS 알고리즘으로 해결
- 기하학적 해석: L1 ball (다이아몬드 형태)의 꼭짓점에서 해가 만들어짐
- 베이지안 해석: 가중치에 대한 라플라스 사전분포 (Laplace prior)
한계¶
- \(p > n\)일 때 최대 \(n\)개의 특성만 선택 가능
- 상관된 특성들 중 하나만 임의로 선택 (불안정)
5. Elastic Net¶
목적 함수¶
혼합 비율: \(\alpha = \frac{\lambda_1}{\lambda_1 + \lambda_2}\) (\(\alpha=1\)이면 Lasso, \(\alpha=0\)이면 Ridge)
핵심 특성¶
- Lasso의 희소성 + Ridge의 안정성을 결합
- 그룹 효과 (grouping effect): 상관된 특성들을 함께 선택/제거
- 상관된 특성 그룹이 있고, 동시에 희소성이 필요할 때 최적
상세 비교: Ridge vs Lasso vs Elastic Net¶
| 속성 | Ridge | Lasso | Elastic Net |
|---|---|---|---|
| 희소성 | 없음 | 있음 | 있음 |
| 특성 선택 | 불가 | 가능 | 가능 |
| 상관된 특성 | 잘 처리 | 불안정 | 잘 처리 |
| 계산 방식 | 닫힌 형태 | 반복적 | 반복적 |
| 베이지안 사전분포 | 가우시안 | 라플라스 | 혼합 |
| \(\lambda \to \infty\) 시 | \(\mathbf{w} \to 0\) | \(\mathbf{w} = 0\) | \(\mathbf{w} = 0\) |
flowchart TD
A[정규화 방법 선택] --> B{특성 선택이 필요한가?}
B -->|아니오| C[Ridge]
B -->|예| D{특성 간 상관관계가 높은가?}
D -->|아니오| E[Lasso]
D -->|예| F[Elastic Net] L1 vs L2 기하학적 직관¶
L1 제약 영역은 다이아몬드(마름모) 형태이고, L2 제약 영역은 원 형태이다. 비용 함수의 등고선(contour)이 제약 영역과 만나는 점이 해가 된다.
- L1: 등고선이 다이아몬드의 꼭짓점에서 접할 확률이 높음 --> 일부 가중치가 정확히 0
- L2: 등고선이 원의 곡면에서 접함 --> 모든 가중치가 0이 아닌 작은 값
이것이 L1이 희소성을 만들고 L2는 만들지 못하는 근본적인 이유이다.
언제 사용하는가¶
| 상황 | 추천 모델 |
|---|---|
| 해석 가능성이 중요한 경우 | 선형 회귀, 로지스틱 회귀 |
| 특성 수가 매우 많은 경우 (\(p >> n\)) | Lasso, Elastic Net |
| 다중공선성이 있는 경우 | Ridge, Elastic Net |
| 기본 성능 베이스라인이 필요한 경우 | 로지스틱 회귀 |
| 확률 해석이 필요한 분류 | 로지스틱 회귀 |
| 빠른 학습/예측이 필요한 경우 | 모든 선형 모델 |
| 비선형 관계가 있는 경우 | 다항 특성 + 선형 모델, 또는 다른 모델 고려 |
흔한 오해와 함정¶
1. "로지스틱 회귀는 회귀 모델이다"¶
- 이름에 "회귀"가 들어가지만 분류 모델이다. 이름의 유래는 로지스틱 함수를 사용하기 때문이다.
2. "로지스틱 회귀는 이진 분류만 가능하다"¶
- Multinomial(Softmax) 변형을 통해 다중 클래스 분류도 가능하다.
3. "선형 모델은 비선형 결정 경계를 만들 수 없다"¶
- 다항 특성(polynomial features)이나 특성 교차(feature interaction)를 추가하면 원래 특성 공간에서는 비선형 경계를 만들 수 있다.
4. "L1이 L2보다 항상 낫다"¶
- 모든 특성이 관련 있는 경우 Ridge가 Lasso보다 나은 성능을 보인다. 어떤 정규화가 좋은지는 데이터의 특성에 따라 다르다.
5. "\(R^2\)가 높으면 좋은 모델이다"¶
- \(R^2\)는 특성을 추가할수록 항상 증가한다. 반드시 Adjusted \(R^2\)나 검증 세트 성능을 확인해야 한다.
6. "선형 회귀로 분류를 해도 된다"¶
- 이론적으로 가능하지만, 예측값이 [0, 1] 범위를 벗어날 수 있고 이상치에 매우 민감하다. 분류에는 로지스틱 회귀를 사용해야 한다.
다른 주제와의 연결¶
- 정규화 이론: Ridge/Lasso/Elastic Net은 정규화의 대표적 사례
- 손실 함수: MSE, Cross-Entropy 등 선형 모델의 손실 함수
- 경사 하강법: 로지스틱 회귀의 최적화 방법
- SVM: 선형 SVM은 힌지 손실을 사용하는 선형 모델의 변형
- 차원 축소: PCA와의 연결 (다중공선성 해결), LDA와의 비교
- 앙상블 방법: 선형 모델은 스태킹의 메타 학습기로 자주 사용됨
자주 묻는 면접 질문¶
- 왜 L1은 희소성을 만들고 L2는 만들지 않는가?
-
기하학적 논증: L1 ball의 꼭짓점이 축 위에 있어 등고선이 꼭짓점에서 접할 확률이 높음
-
Ridge와 Lasso 중 어떤 것을 선택해야 하는가?
-
모든 특성이 관련 있으면 Ridge, 일부만 관련 있으면 Lasso, 상관된 특성 그룹이 있으면 Elastic Net
-
\(\lambda \to \infty\)일 때 Ridge 회귀에서 무슨 일이 일어나는가?
-
\(\mathbf{w} \to 0\) (모든 가중치가 0에 수렴)
-
로지스틱 회귀가 선형 모델인 이유는?
-
출력이 비선형(시그모이드)이지만, 결정 경계는 특성 공간에서 선형 초평면이다
-
선형 회귀를 분류에 사용할 수 있는가?
- 가능하지만 부적절하다. LDA와의 연결점이 있으나, 예측 범위 제한 없음, 이상치 민감성 등의 문제가 있다.
코드 예시¶
from sklearn.linear_model import (
LinearRegression, LogisticRegression,
Ridge, Lasso, ElasticNet
)
# 선형 회귀
lr = LinearRegression()
lr.fit(X_train, y_train)
# 로지스틱 회귀
log_reg = LogisticRegression(penalty='l2', C=1.0) # C = 1/lambda
log_reg.fit(X_train, y_train)
# Ridge 회귀
ridge = Ridge(alpha=1.0) # alpha = lambda
ridge.fit(X_train, y_train)
# Lasso 회귀
lasso = Lasso(alpha=1.0)
lasso.fit(X_train, y_train)
# Elastic Net
elastic = ElasticNet(alpha=1.0, l1_ratio=0.5) # l1_ratio = alpha (혼합 비율)
elastic.fit(X_train, y_train)
용어 정리¶
| 영어 | 한국어 |
|---|---|
| Linear Regression | 선형 회귀 |
| Logistic Regression | 로지스틱 회귀 |
| Ridge Regression | 릿지 회귀 |
| Lasso Regression | 라쏘 회귀 |
| Elastic Net | 엘라스틱 넷 |
| Normal Equation | 정규 방정식 |
| Regularization | 정규화 |
| Feature Selection | 특성 선택 |
| Multicollinearity | 다중공선성 |
| Odds Ratio | 오즈비 |
| Decision Boundary | 결정 경계 |
| Sparsity | 희소성 |
참고 자료¶
- Hastie, Tibshirani, Friedman - The Elements of Statistical Learning (Ch. 3, 4)
- Bishop - Pattern Recognition and Machine Learning (Ch. 3, 4)
- Tibshirani (1996) - "Regression Shrinkage and Selection via the Lasso"
- Zou & Hastie (2005) - "Regularization and Variable Selection via the Elastic Net"