9장. 통계적 회귀

확률과 통계 · 3부. 통계적 추론

심화 · 약 15분 · 연습문제 5

요약

단순선형회귀와 최소제곱, 상관계수와 결정계수, 다중회귀와 정규방정식, 로지스틱 회귀, 과적합과 정규화

키로 몸무게를 예측하고, 공부 시간으로 점수를 예측하는 것처럼 한 변수로 다른 변수를 설명하는 일을 회귀라 합니다. 회귀는 머신러닝의 가장 기본 모델이고, 신경망의 마지막 층도 결국 선형회귀나 로지스틱 회귀입니다. 이 장에서는 7장의 최대우도로 최소제곱을 정당화하고, 선형대수의 정규방정식으로 다중회귀를 풀고, 분류를 위한 로지스틱 회귀까지 갑니다.

9.1 단순선형회귀

데이터 (xi,yi)(x_i, y_i)에 직선 y^=a+bx\hat y = a + bx를 맞춥니다. 오차 ei=yi−y^ie_i = y_i - \hat y_i를 잔차(residual)라 하고, 잔차 제곱합 ∑ei2\sum e_i^2를 최소로 하는 직선을 고릅니다(최소제곱). 7장 정리 7.11에 따라 이것은 정규 잡음 가정의 최대우도입니다.

정리 9.1 (최소제곱 직선). xˉ,yˉ\bar x, \bar y를 평균이라 할 때

b=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2,a=yˉ−bxˉ.b = \frac{\sum(x_i - \bar x)(y_i - \bar y)}{\sum(x_i - \bar x)^2}, \qquad a = \bar y - b\bar x.

증명. S(a,b)=∑(yi−a−bxi)2S(a, b) = \sum(y_i - a - bx_i)^2를 aa, bb로 편미분해 0으로 두면 ∑ei=0\sum e_i = 0, ∑xiei=0\sum x_ie_i = 0입니다. 첫 식에서 a=yˉ−bxˉa = \bar y - b\bar x, 이를 둘째 식에 넣으면 bb가 나옵니다. □

직선은 항상 점 (xˉ,yˉ)(\bar x, \bar y)를 지납니다.

예제 9.2. (1,2),(2,3),(3,5),(4,6)(1, 2), (2, 3), (3, 5), (4, 6): xˉ=2.5\bar x = 2.5, yˉ=4\bar y = 4. 분자 (−1.5)(−2)+(−0.5)(−1)+(0.5)(1)+(1.5)(2)=7(-1.5)(-2) + (-0.5)(-1) + (0.5)(1) + (1.5)(2) = 7, 분모 55이므로 b=1.4b = 1.4, a=4−3.5=0.5a = 4 - 3.5 = 0.5. 직선은 y^=0.5+1.4x\hat y = 0.5 + 1.4x입니다.

9.2 상관계수와 결정계수

정의 9.3 (표본 상관계수).

r=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2.r = \frac{\sum(x_i - \bar x)(y_i - \bar y)}{\sqrt{\sum(x_i - \bar x)^2}\sqrt{\sum(y_i - \bar y)^2}}.

−1≤r≤1-1 \le r \le 1이고(코시–슈바르츠 부등식), 데이터를 평균을 뺀 벡터로 보면 두 벡터 사이 각의 코사인입니다.

정의 9.4 (결정계수). R2=1−∑ei2∑(yi−yˉ)2R^2 = 1 - \dfrac{\sum e_i^2}{\sum(y_i - \bar y)^2}. 모델이 yy의 흔들림 중 몇 %를 설명하는지 나타냅니다. 단순선형회귀에서는 R2=r2R^2 = r^2입니다.

상관은 인과가 아닙니다. 아이스크림 판매량과 익사 사고는 상관이 크지만, 둘 다 기온이라는 숨은 원인(교란변수)의 결과입니다.

9.3 다중회귀와 정규방정식

입력이 여러 개이면 y^=Xβ\hat y = X\boldsymbol\beta로 씁니다. XX는 n×(p+1)n \times (p + 1) 설계행렬(design matrix)로, 첫 열이 모두 1입니다(절편).

정리 9.5 (정규방정식). ∥y−Xβ∥2\|\mathbf{y} - X\boldsymbol\beta\|^2를 최소로 하는 β\boldsymbol\beta는

X⊤Xβ^=X⊤y,β^=(X⊤X)−1X⊤y.X^\top X\hat{\boldsymbol\beta} = X^\top\mathbf{y}, \qquad \hat{\boldsymbol\beta} = (X^\top X)^{-1}X^\top\mathbf{y}.

기하학적으로 Xβ^X\hat{\boldsymbol\beta}는 y\mathbf y를 XX의 열공간에 정사영한 것이고, 잔차는 열공간에 수직입니다(선형대수의 최소제곱). 그래디언트로 보면 ∇β∥y−Xβ∥2=−2X⊤(y−Xβ)=0\nabla_\beta\|\mathbf y - X\beta\|^2 = -2X^\top(\mathbf y - X\beta) = 0입니다(다변수 미적분 11장).

9.4 로지스틱 회귀

y∈{0,1}y \in \{0, 1\}을 예측할 때는 확률을 냅니다.

정의 9.6. σ(z)=11+e−z\sigma(z) = \dfrac{1}{1 + e^{-z}}을 시그모이드(sigmoid) 함수라 하고, 로지스틱 회귀(logistic regression)는 P(y=1∣x)=σ(w⊤x+b)P(y = 1 \mid \mathbf x) = \sigma(\mathbf w^\top\mathbf x + b)로 모델링합니다.

σ\sigma는 실수 전체를 (0,1)(0, 1)로 보냅니다. 거꾸로 z=ln⁡p1−pz = \ln\frac{p}{1 - p}(로그 오즈, log-odds 또는 logit)가 입력의 일차식이라는 뜻입니다. 학습은 베르누이 분포의 최대우도, 곧 이진 교차 엔트로피 −∑[yiln⁡pi+(1−yi)ln⁡(1−pi)]-\sum[y_i\ln p_i + (1 - y_i)\ln(1 - p_i)]를 최소로 하는 것이고, 닫힌 해가 없어 경사하강법으로 풉니다. 그래디언트는 놀랍게 간단해서 ∑(pi−yi)xi\sum(p_i - y_i)\mathbf x_i입니다.

예제 9.7. w=2w = 2, b=−1b = -1, x=1x = 1이면 z=1z = 1, P(y=1)=σ(1)=11+e−1≈0.731P(y = 1) = \sigma(1) = \frac{1}{1 + e^{-1}} \approx 0.731.

9.5 과적합과 정규화

변수가 많으면 훈련 데이터의 잡음까지 외워 새 데이터에서 틀립니다(과적합, overfitting). 계수의 크기에 벌점을 줍니다.

  • 릿지(ridge, L2): ∥y−Xβ∥2+λ∥β∥2\|\mathbf y - X\beta\|^2 + \lambda\|\beta\|^2, 해는 (X⊤X+λI)−1X⊤y(X^\top X + \lambda I)^{-1}X^\top\mathbf y. 항상 역행렬이 존재합니다.
  • 라쏘(lasso, L1): λ∑∣βj∣\lambda\sum|\beta_j|. 많은 계수를 정확히 0으로 만들어 변수 선택을 합니다.

7장의 편향–분산 분해에서 보면, 정규화는 편향을 조금 늘리고 분산을 크게 줄이는 거래입니다. 10장에서는 이것이 계수에 사전분포를 준 베이즈 추론이라는 것을 봅니다.

9.6 이 장의 요약

  • 최소제곱 직선: b=Sxy/Sxxb = S_{xy}/S_{xx}, a=yˉ−bxˉa = \bar y - b\bar x.
  • 상관계수 rr, 결정계수 R2R^2. 상관은 인과가 아닙니다.
  • 다중회귀: 정규방정식 X⊤Xβ=X⊤yX^\top X\beta = X^\top y.
  • 로지스틱 회귀: 시그모이드 + 이진 교차 엔트로피. 정규화: 릿지, 라쏘.

쓰이는 곳. 신경망의 출력층(회귀는 선형, 이진 분류는 시그모이드, 다중 분류는 소프트맥스), “linear probe”(표현 위에 선형회귀/로지스틱 회귀를 학습해 정보가 있는지 확인), 가중치 감쇠(L2 정규화), 스케일링 법칙 논문의 로그–로그 직선 맞춤, 물리·공학 실험의 데이터 맞춤이 모두 이 장의 도구입니다.

문제

9.1 [계산] · 확인 문제

데이터 (1,1),(2,3),(3,4),(4,4)(1, 1), (2, 3), (3, 4), (4, 4)에 최소제곱 직선 y^=a+bx\hat y = a + bx를 맞춥니다.

값 답
기울기 bb [?]
절편 aa [?]
정답
1
0.5
풀이

xˉ=2.5\bar x = 2.5, yˉ=3\bar y = 3. Sxy=(−1.5)(−2)+(−0.5)(0)+(0.5)(1)+(1.5)(1)=5S_{xy} = (-1.5)(-2) + (-0.5)(0) + (0.5)(1) + (1.5)(1) = 5, Sxx=5S_{xx} = 5이므로 b=1b = 1, a=3−2.5=0.5a = 3 - 2.5 = 0.5입니다.

9.2 [계산] · 확인 문제

예제 9.2의 데이터 (1,2),(2,3),(3,5),(4,6)(1, 2), (2, 3), (3, 5), (4, 6)의 상관계수 rr은? (소수 넷째 자리까지)

정답
0.9899
풀이

Sxy=7S_{xy} = 7, Sxx=5S_{xx} = 5, Syy=4+1+1+4=10S_{yy} = 4 + 1 + 1 + 4 = 10이므로 r=7/50≈0.9899r = 7/\sqrt{50} \approx 0.9899입니다.

9.3 [계산] · 확인 문제

로지스틱 회귀 P(y=1)=σ(3x−6)P(y = 1) = \sigma(3x - 6)에서 x=2.5x = 2.5일 때의 확률은? (소수 넷째 자리까지)

정답
0.8176
풀이

z=1.5z = 1.5, σ(1.5)=1/(1+e−1.5)≈0.8176\sigma(1.5) = 1/(1 + e^{-1.5}) \approx 0.8176입니다.

9.4 [계산]

위 모델에서 확률이 정확히 0.5가 되는 xx는?

정답
2
풀이

σ(z)=0.5  ⟺  z=0\sigma(z) = 0.5 \iff z = 0이므로 3x−6=03x - 6 = 0, x=2x = 2입니다. 이것이 결정 경계입니다.

9.5 [증명]

시그모이드가 σ′(z)=σ(z)(1−σ(z))\sigma'(z) = \sigma(z)(1 - \sigma(z))를 만족함을 보입니다.

풀이

σ=(1+e−z)−1\sigma = (1 + e^{-z})^{-1}을 미분하면 σ′=e−z(1+e−z)2=11+e−z⋅e−z1+e−z=σ(1−σ)\sigma' = \frac{e^{-z}}{(1 + e^{-z})^2} = \frac{1}{1 + e^{-z}}\cdot\frac{e^{-z}}{1 + e^{-z}} = \sigma(1 - \sigma)입니다.