콘텐츠로 이동

선형 모델 (Linear Models)

난이도: 초급~중급
선수 지식: 기초 선형대수, 미적분, 확률/통계 기본 개념
관련 문서: 정규화 이론 | 손실 함수 | 경사 하강법 | 과적합과 과소적합


핵심 요약: 선형 모델(Linear Model)은 입력의 가중 합(weighted sum)으로 예측한다. y=wx+by = wx + b가 핵심 공식이며, 해석이 쉽고 빠르다. 회귀(Regression)에는 선형 회귀, 분류(Classification)에는 로지스틱 회귀(Logistic Regression)를 사용하고, 과적합(Overfitting)을 막기 위해 Ridge/Lasso 정규화(Regularization)를 추가한다.

핵심 용어 미리보기:

  • 가중치 (Weight, ww): 각 입력 특성(Feature)이 출력에 미치는 영향력의 크기
  • 절편 (Bias, bb): 모든 입력이 0일 때의 기본 예측값
  • 정규화 (Regularization): 가중치가 너무 커지지 않도록 페널티(Penalty)를 부과하여 과적합을 방지하는 기법
  • 시그모이드 (Sigmoid): 실수를 0~1 사이 확률로 변환하는 S자 함수, 로지스틱 회귀의 핵심
  • 다중공선성 (Multicollinearity): 입력 특성 간의 강한 상관관계가 모델을 불안정하게 만드는 현상

선형 모델(Linear Models)은 머신러닝에서 가장 기본이 되는 모델 군이다. 입력 특성(feature)의 가중 합(weighted sum)으로 예측값을 만들며, 해석이 용이하고 수학적 성질이 잘 알려져 있어 모든 ML 실무자가 반드시 이해해야 하는 모델이다.

선형 모델은 크게 다음으로 나뉜다:

  • 선형 회귀 (Linear Regression): 연속값 예측
  • 로지스틱 회귀 (Logistic Regression): 분류 문제
  • 정규화된 변형 (Regularized variants): Ridge, Lasso, Elastic Net

선형 모델의 역사는 통계학의 역사와 함께한다. Carl Friedrich Gauss는 1809년 최소제곱법(Least Squares)을 발표했고, 이후 Gauss-Markov 정리가 선형 회귀의 이론적 기반을 확립했다. 이 정리는 특정 가정 하에서 OLS(Ordinary Least Squares) 추정량이 최소 분산을 가지는 불편 추정량(BLUE)임을 보장한다.

분류 문제로의 확장은 David Cox (1958)가 로지스틱 회귀(Logistic Regression)를 체계적으로 정립하면서 이루어졌다. 로지스틱 함수를 통해 연속적인 선형 결합을 확률로 변환하는 이 아이디어는, 이후 신경망의 활성화 함수 개념에까지 영향을 미쳤다.

정규화의 시대는 Hoerl & Kennard (1970)의 Ridge 회귀로 시작되었다. 다중공선성(Multicollinearity) 문제를 해결하기 위해 L2 페널티를 도입한 것이다. 그로부터 26년 후, Robert Tibshirani (1996)가 Lasso를 발표하며 L1 정규화를 통한 자동 특성 선택(automatic feature selection)이라는 혁신을 가져왔다. Ridge가 포트폴리오의 분산투자처럼 모든 가중치를 고르게 줄이는 전략이라면, Lasso는 가장 중요한 주식만 남기고 나머지는 전부 매도하는 전략에 비유할 수 있다.

이 세 가지 흐름 — 최소제곱법, 로지스틱 회귀, 정규화 — 이 합류하면서 오늘날의 선형 모델 생태계가 완성되었다.


y^=wTx+b\hat{y} = \mathbf{w}^T\mathbf{x} + b

집값을 예측하는 간단한 예를 생각해 보자. 특성(feature)이 면적 하나뿐이라면:

  • 가중치(weight) w=100w = 100 (만원/평): 1평 넓어질 때마다 가격이 100만원 오른다
  • 절편(bias) b=5000b = 5000 (만원): 면적이 0이어도 기본 가격이 5000만원
  • 면적 30평인 집: y^=100×30+5000=8000\hat{y} = 100 \times 30 + 5000 = 8000 (만원)

즉, 예측가 8000만원이다. 이처럼 선형 모델은 입력과 출력의 관계를 가중치(weight)와 절편(bias)으로 표현한다.

목적 함수는 잔차 제곱합(RSS, Residual Sum of Squares)의 최소화이다:

minwi=1n(yiy^i)2\min_{\mathbf{w}} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2

닫힌 형태 해(closed-form solution)가 존재한다:

w=(XTX)1XTy\mathbf{w} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}

  • 시간 복잡도: O(p2n+p3)O(p^2n + p^3) (특성 수 pp, 샘플 수 nn)
  • XTX\mathbf{X}^T\mathbf{X}가 특이(singular)하면 역행렬이 존재하지 않음 (다중공선성 문제)

선형 회귀가 BLUE(Best Linear Unbiased Estimator)가 되려면 다음 가정이 필요하다:

가정설명위반 시 대응
선형성 (Linearity)yyx\mathbf{x}의 관계가 선형다항 특성, 비선형 변환
오차 독립성 (Independence)오차항이 서로 독립GLS (일반화 최소제곱)
등분산성 (Homoscedasticity)오차의 분산이 일정WLS (가중 최소제곱)
다중공선성 없음특성 간 강한 상관 없음정규화, PCA
정규성 (Normality)오차가 정규분포 (추론 시 필요, 추정 시 불필요)로버스트 표준오차
  • R2=1SSresSStotR^2 = 1 - \frac{\text{SS}_{\text{res}}}{\text{SS}_{\text{tot}}}: 설명된 분산 비율
  • 조정된 R2R^2 (Adjusted R2R^2): 특성 수 증가에 대한 페널티 부여
  • RMSE, MAE: 예측 오차의 크기
  • 잔차도 (Residual plot): 패턴이 보이면 가정 위반
  • Q-Q plot: 정규성 확인
  • 적합값 vs 실제값 (Fitted vs Actual): 45도 직선에 가까울수록 좋음

2. 로지스틱 회귀 (Logistic Regression)

섹션 제목: “2. 로지스틱 회귀 (Logistic Regression)”

P(y=1x)=σ(wTx+b)=11+e(wTx+b)P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T\mathbf{x} + b) = \frac{1}{1+e^{-(\mathbf{w}^T\mathbf{x} + b)}}

여기서 σ\sigma는 시그모이드(sigmoid) 함수이다.

손실 함수: 이진 교차 엔트로피 (Binary Cross-Entropy)

섹션 제목: “손실 함수: 이진 교차 엔트로피 (Binary Cross-Entropy)”

L=1Ni=1N[yilogy^i+(1yi)log(1y^i)]L = -\frac{1}{N}\sum_{i=1}^{N}\left[y_i\log\hat{y}_i + (1-y_i)\log(1-\hat{y}_i)\right]

  • 특성 공간에서 선형 초평면이다
  • wTx+b=0\mathbf{w}^T\mathbf{x} + b = 0인 지점이 결정 경계
  • 계수 wjw_j로그 오즈비(log-odds ratio)를 의미
  • 오즈비: ewje^{w_j} (해당 특성이 1 증가할 때 오즈가 ewje^{w_j}배 변화)
방법설명특징
OvR (One-vs-Rest)각 클래스에 대해 이진 분류기 학습KK개 모델, 가장 일반적
OvO (One-vs-One)모든 클래스 쌍에 대해 학습K(K1)/2K(K-1)/2개 모델
Softmax (Multinomial)전체 클래스에 대해 동시 학습단일 모델, 확률 합 = 1
  • 닫힌 형태 해가 존재하지 않음
  • 경사 하강법 또는 Newton-Raphson (IRLS: Iteratively Reweighted Least Squares) 사용

최적화 다이어그램

minwi=1n(yiy^i)2+λw22\min_{\mathbf{w}} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 + \lambda\|\mathbf{w}\|_2^2

w=(XTX+λI)1XTy\mathbf{w} = (\mathbf{X}^T\mathbf{X} + \lambda\mathbf{I})^{-1}\mathbf{X}^T\mathbf{y}

  • λI\lambda\mathbf{I}를 더함으로써 행렬이 항상 역행렬 가능해짐 (다중공선성 해결)
  • 계수를 0에 가깝게 축소하지만, 정확히 0으로 만들지는 않음
  • 기하학적 해석: 가중치가 L2 ball (w22t\|\mathbf{w}\|_2^2 \le t) 내에 있도록 제약
  • 베이지안 해석: 가중치에 대한 가우시안 사전분포 (Gaussian prior)

minwi=1n(yiy^i)2+λw1\min_{\mathbf{w}} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 + \lambda\|\mathbf{w}\|_1

  • 희소한 해(sparse solution)를 만듦 —> 자동 특성 선택 (feature selection)
  • 닫힌 형태 해 없음; 좌표 하강법(Coordinate Descent) 또는 LARS 알고리즘으로 해결
  • 기하학적 해석: L1 ball (다이아몬드 형태)의 꼭짓점에서 해가 만들어짐
  • 베이지안 해석: 가중치에 대한 라플라스 사전분포 (Laplace prior)
  • p>np > n일 때 최대 nn개의 특성만 선택 가능
  • 상관된 특성들 중 하나만 임의로 선택 (불안정)

minwi=1n(yiy^i)2+λ1w1+λ2w22\min_{\mathbf{w}} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 + \lambda_1\|\mathbf{w}\|_1 + \lambda_2\|\mathbf{w}\|_2^2

혼합 비율: α=λ1λ1+λ2\alpha = \frac{\lambda_1}{\lambda_1 + \lambda_2} (α=1\alpha=1이면 Lasso, α=0\alpha=0이면 Ridge)

  • Lasso의 희소성 + Ridge의 안정성을 결합
  • 그룹 효과 (grouping effect): 상관된 특성들을 함께 선택/제거
  • 상관된 특성 그룹이 있고, 동시에 희소성이 필요할 때 최적

상세 비교: Ridge vs Lasso vs Elastic Net

섹션 제목: “상세 비교: Ridge vs Lasso vs Elastic Net”
속성RidgeLassoElastic Net
희소성없음있음있음
특성 선택불가가능가능
상관된 특성잘 처리불안정잘 처리
계산 방식닫힌 형태반복적반복적
베이지안 사전분포가우시안라플라스혼합
λ\lambda \to \inftyw0\mathbf{w} \to 0w=0\mathbf{w} = 0w=0\mathbf{w} = 0

상세 비교: Ridge vs Lasso vs Elastic Net 다이어그램

L1 제약 영역은 다이아몬드(마름모) 형태이고, L2 제약 영역은 원 형태이다. 비용 함수의 등고선(contour)이 제약 영역과 만나는 점이 해가 된다.

  • L1: 등고선이 다이아몬드의 꼭짓점에서 접할 확률이 높음 —> 일부 가중치가 정확히 0
  • L2: 등고선이 원의 곡면에서 접함 —> 모든 가중치가 0이 아닌 작은 값

이것이 L1이 희소성을 만들고 L2는 만들지 못하는 근본적인 이유이다.


상황추천 모델
해석 가능성이 중요한 경우선형 회귀, 로지스틱 회귀
특성 수가 매우 많은 경우 (p>>np >> n)Lasso, Elastic Net
다중공선성이 있는 경우Ridge, Elastic Net
기본 성능 베이스라인이 필요한 경우로지스틱 회귀
확률 해석이 필요한 분류로지스틱 회귀
빠른 학습/예측이 필요한 경우모든 선형 모델
비선형 관계가 있는 경우다항 특성 + 선형 모델, 또는 다른 모델 고려

금융 리스크 모델에서 로지스틱 회귀가 딥러닝을 이긴 이유

섹션 제목: “금융 리스크 모델에서 로지스틱 회귀가 딥러닝을 이긴 이유”

글로벌 은행들의 신용 리스크 모델(Credit Risk Model)에서는 여전히 로지스틱 회귀가 표준이다. 그 이유는 규제 당국(Basel Committee 등)이 모델의 해석 가능성(Interpretability)을 요구하기 때문이다.

한 유럽 은행은 2019년에 딥러닝 기반 신용 평가 모델을 개발했으나, 규제 심사에서 “왜 이 고객의 대출이 거절되었는가?”를 설명하지 못해 승인을 받지 못했다. 결국 로지스틱 회귀로 돌아왔고, 각 특성의 오즈비(Odds Ratio)를 통해 “연소득이 1,000만원 증가하면 승인 확률이 1.3배 높아진다”는 식의 명확한 설명이 가능해졌다.

이 사례는 모델 성능이 비즈니스 가치의 전부가 아니라는 점을 보여준다. AUC가 0.02 높은 블랙박스 모델보다, 설명 가능한 모델이 실제 배포와 규제 승인에서 더 큰 가치를 가질 수 있다.


1. “로지스틱 회귀는 회귀 모델이다”

섹션 제목: “1. “로지스틱 회귀는 회귀 모델이다””
  • 이름에 “회귀”가 들어가지만 분류 모델이다. 이름의 유래는 로지스틱 함수를 사용하기 때문이다.

2. “로지스틱 회귀는 이진 분류만 가능하다”

섹션 제목: “2. “로지스틱 회귀는 이진 분류만 가능하다””
  • Multinomial(Softmax) 변형을 통해 다중 클래스 분류도 가능하다.

3. “선형 모델은 비선형 결정 경계를 만들 수 없다”

섹션 제목: “3. “선형 모델은 비선형 결정 경계를 만들 수 없다””
  • 다항 특성(polynomial features)이나 특성 교차(feature interaction)를 추가하면 원래 특성 공간에서는 비선형 경계를 만들 수 있다.
  • 모든 특성이 관련 있는 경우 Ridge가 Lasso보다 나은 성능을 보인다. 어떤 정규화가 좋은지는 데이터의 특성에 따라 다르다.

5. “R2R^2가 높으면 좋은 모델이다”

섹션 제목: “5. “R2R^2R2가 높으면 좋은 모델이다””
  • R2R^2는 특성을 추가할수록 항상 증가한다. 반드시 Adjusted R2R^2나 검증 세트 성능을 확인해야 한다.

6. “선형 회귀로 분류를 해도 된다”

섹션 제목: “6. “선형 회귀로 분류를 해도 된다””
  • 이론적으로 가능하지만, 예측값이 [0, 1] 범위를 벗어날 수 있고 이상치에 매우 민감하다. 분류에는 로지스틱 회귀를 사용해야 한다.

  • 정규화 이론: Ridge/Lasso/Elastic Net은 정규화의 대표적 사례
  • 손실 함수: MSE, Cross-Entropy 등 선형 모델의 손실 함수
  • 경사 하강법: 로지스틱 회귀의 최적화 방법
  • SVM: 선형 SVM은 힌지 손실을 사용하는 선형 모델의 변형
  • 차원 축소: PCA와의 연결 (다중공선성 해결), LDA와의 비교
  • 앙상블 방법: 선형 모델은 스태킹의 메타 학습기로 자주 사용됨

  1. 왜 L1은 희소성을 만들고 L2는 만들지 않는가?

    • 기하학적 논증: L1 ball의 꼭짓점이 축 위에 있어 등고선이 꼭짓점에서 접할 확률이 높음
  2. Ridge와 Lasso 중 어떤 것을 선택해야 하는가?

    • 모든 특성이 관련 있으면 Ridge, 일부만 관련 있으면 Lasso, 상관된 특성 그룹이 있으면 Elastic Net
  3. λ\lambda \to \infty일 때 Ridge 회귀에서 무슨 일이 일어나는가?

    • w0\mathbf{w} \to 0 (모든 가중치가 0에 수렴)
  4. 로지스틱 회귀가 선형 모델인 이유는?

    • 출력이 비선형(시그모이드)이지만, 결정 경계는 특성 공간에서 선형 초평면이다
  5. 선형 회귀를 분류에 사용할 수 있는가?

    • 가능하지만 부적절하다. 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”