[머신러닝] 선형 분류와 회귀 (Linear Classification and Regression)
#ML

[머신러닝] 선형 분류와 회귀 (Linear Classification and Regression)

이전 글에서 우리는 학습이 언제 가능한지를 이론적으로 분석했습니다. VC 차원이 유한하고 데이터가 충분하면, 훈련 오차 EinE_{\text{in}}과 일반화 오차 EoutE_{\text{out}}이 가까워진다는 것을 확인했죠.

이제 자연스러운 다음 질문으로 넘어갑니다: 실제로 어떻게 학습하는가? 이 글에서는 가장 기본적이면서도 놀라울 만큼 강력한 도구인 선형 모델을 다룹니다.

이 글의 여정
선형 분류기의 기하학에서 출발하여, 퍼셉트론으로 분류를 학습하고, 선형 회귀로 닫힌 형태의 해를 구하며, 경사하강법으로 대규모 학습의 문을 열고, 특성 변환으로 선형 모델의 한계를 돌파합니다.

1. 선형 분류기의 기하학

초평면으로 공간을 나누다

은행에서 대출 심사를 한다고 합시다. 고객의 연소득 기존 부채 금액 두 가지 정보를 보고 대출을 승인(+1+1)할지 거절(1-1)할지 결정해야 합니다.

2차원 평면에서 각 고객은 한 점이 되고, 우리가 하고 싶은 것은 평면 위에 직선 하나를 그어서 승인과 거절을 양쪽으로 나누는 것입니다. 이것이 바로 선형 분류기이며, 수식으로 쓰면 다음과 같습니다.

h(x)=sign(wTx)h(\mathbf{x}) = \text{sign}(\mathbf{w}^T\mathbf{x})

여기서 w\mathbf{w}는 가중치 열벡터(column vector), x\mathbf{x}는 입력 열벡터입니다. 내적 wTx\mathbf{w}^T\mathbf{x}의 부호가 양이면 +1, 음이면 -1을 출력합니다.

Q1
wTx=0\mathbf{w}^T\mathbf{x} = 0은 기하학적으로 어떤 도형을 나타낼까요? 2차원이라면? 3차원이라면? 일반적인 dd차원이라면?
w=(a,b)T\mathbf{w} = (a, b)^T이면 wTx=ax1+bx2=0\mathbf{w}^T\mathbf{x} = ax_1 + bx_2 = 0 직선입니다. 3차원이면 평면, 일반적인 dd차원에서는 초평면(hyperplane)이 됩니다. 이 초평면이 공간을 양의 영역과 음의 영역으로 이등분하고, 선형 분류기는 이 영역에 따라 +1 또는 -1을 출력합니다.

2. 퍼셉트론 학습 알고리즘 (PLA)

오분류를 하나씩 고쳐나가기

좋은 w\mathbf{w}를 어떻게 찾을까요? 가장 단순한 전략은 이렇습니다. 현재 w\mathbf{w}로 모든 데이터를 훑어보다가, 틀리게 분류된 점을 하나 발견하면 그 점을 이용해서 w\mathbf{w}를 수정합니다.

w(t+1)=w(t)+ynxn\mathbf{w}(t+1) = \mathbf{w}(t) + y_n\mathbf{x}_n
Q1
이 업데이트가 왜 "맞는 방향"일까요? yn=+1y_n = +1인 점이 잘못 분류되었다면 wTxn<0\mathbf{w}^T\mathbf{x}_n < 0입니다. 업데이트 후 w(t+1)Txn\mathbf{w}(t+1)^T\mathbf{x}_n은 어떻게 변할까요?
w(t+1)Txn=w(t)Txn+ynxn2\mathbf{w}(t+1)^T\mathbf{x}_n = \mathbf{w}(t)^T\mathbf{x}_n + y_n\|\mathbf{x}_n\|^2
xn20\|\mathbf{x}_n\|^2 \geq 0이고 yn=+1y_n = +1이므로, 업데이트 후의 값은 반드시 증가합니다. 즉, 양수 영역 쪽으로 밀어주는 것입니다.yn=1y_n = -1인 경우에도 대칭적으로, 값이 감소하여 음수 영역 쪽으로 밀어줍니다.

3. 선형 회귀 (Linear Regression)

닫힌 형태의 해

퍼셉트론은 +1 또는 -1이라는 이산적 답을 내놓았지만, 많은 문제는 연속적인 실수값을 예측해야 합니다. 선형 회귀는 sign 함수를 벗겨내고 wTx\mathbf{w}^T\mathbf{x} 자체를 출력으로 사용합니다.

h(x)=wTxh(\mathbf{x}) = \mathbf{w}^T\mathbf{x}

"가깝다"를 제곱 오차로 측정하고, 모든 데이터를 행렬로 쌓으면 다음과 같이 쓸 수 있습니다.

Ein(w)=1NXwy2E_{\text{in}}(\mathbf{w}) = \frac{1}{N}\|X\mathbf{w} - \mathbf{y}\|^2
Q1
XXN×(d+1)N \times (d+1) 행렬이고 보통 Nd+1N \gg d+1입니다.Xw=yX\mathbf{w} = \mathbf{y}라는 연립방정식은 어떤 상태가 되나요?
방정식의 수(NN)가 미지수의 수(d+1d+1)보다 많으므로 과결정(overdetermined) 시스템입니다. 일반적으로 정확한 해가 존재하지 않으므로, 오차를 최소화하는w\mathbf{w}를 구해야 합니다.

4. 경사하강법 (Gradient Descent)

산에서 내려오기

선형 회귀의 닫힌 형태 해는 XTXX^TX의 역행렬이 필요합니다. dd가 수만, 수십만이면 이 계산이 비현실적이 됩니다. 대안은 최적해를 한 번에 구하는 대신, 좋은 방향으로 조금씩 이동하는 것입니다.

안개 속의 산에서 내려오는 상황을 떠올려 보세요. 전체 지형을 볼 수 없고, 할 수 있는 것은 발밑의 경사를 느끼는 것뿐입니다. 가장 가파르게 내려가는 방향, 즉 그래디언트의 반대 방향으로 한 걸음 내딛습니다.

w(t+1)=w(t)ηEin(w(t))\mathbf{w}(t+1) = \mathbf{w}(t) - \eta \, \nabla E_{\text{in}}(\mathbf{w}(t))
Q1
학습률 η\eta가 너무 크거나 너무 작으면 어떤 일이 벌어질까요?
η\eta너무 크면 최솟값을 뛰어넘어 반대편으로 가고, 진동하다가 오히려 발산합니다. η\eta너무 작으면 수렴은 하겠지만 실용적인 시간 안에 도달하지 못합니다. 아래 시뮬레이션에서 η\eta를 극단적으로 바꿔보며 확인해 보세요.

5. 특성 변환 (Feature Transformation)

선형 모델의 한계를 돌파하다

선형 모델의 결정 경계는 반드시 직선(초평면)이어야 합니다. 하지만 현실의 많은 문제는 직선으로 분리할 수 없죠. 해결책은 간단하면서도 강력합니다: 입력을 변환된 공간으로 보내고, 그 공간에서 선형 모델을 적용하는 것입니다.

예를 들어, 2차원 입력 (x1,x2)(x_1, x_2)에 2차 다항식 변환을 적용하면:

Φ(x)=(1,  x1,  x2,  x12,  x1x2,  x22)\Phi(\mathbf{x}) = (1, \; x_1, \; x_2, \; x_1^2, \; x_1 x_2, \; x_2^2)

원래 3개의 가중치로 직선만 표현할 수 있었는데, 변환 후에는 6개의 가중치로 타원, 포물선, 쌍곡선 등 훨씬 풍부한 결정 경계를 만들 수 있습니다. 핵심은, 변환된 공간에서 보면 여전히 선형이므로 앞서 배운 모든 알고리즘을 그대로 사용할 수 있다는 것입니다.

Q1
다항식 변환의 차수를 계속 높이면 EinE_{\text{in}}을 더 줄일 수 있습니다. 하지만 이전 글에서 배운 VC 차원과 일반화 경계를 떠올리면, 이 전략에는 어떤 위험이 있을까요?
차수가 높아지면 가설 공간의 VC 차원이 커집니다. VC 일반화 경계를 떠올리면:
EoutEin+O(dVCNlnNdVC)E_{\text{out}} \leq E_{\text{in}} + O\left(\sqrt{\frac{d_{\text{VC}}}{N} \ln \frac{N}{d_{\text{VC}}}}\right)
EinE_{\text{in}}은 줄어들지만 페널티 항이 커져서, 훈련 데이터에는 잘 맞추지만 새로운 데이터에서 성능이 나빠지는 과적합(overfitting)이 발생합니다. 아래 시뮬레이션에서 차수를 12 이상으로 올려보면 이 현상을 직접 관찰할 수 있습니다.

요약: 선형 모델의 세계

전체 흐름 정리

선형 분류기의 기하학
sign(wᵀx) — 초평면으로 공간을 이등분
bias를 w₀로 흡수하여 표기를 통일
퍼셉트론 (PLA)
오분류 점을 하나씩 수정하는 반복적 학습
선형 분리 가능 시 유한 번에 수렴 보장
선형 회귀
w = (XᵀX)⁻¹Xᵀy — 닫힌 형태의 최적해
정규방정식으로 한 번에 해결, 분류에도 활용 가능
경사하강법
w(t+1) = w(t) − η∇E — 기울기를 따라 하강
SGD로 대규모 데이터 처리, 퍼셉트론과의 연결
특성 변환
Φ(x) → 비선형 경계를 선형으로 변환
표현력 증가 ↔ VC 차원 증가의 트레이드오프
핵심 메시지
선형 모델은 단순하지만, 특성 변환을 통해 비선형 문제까지 다룰 수 있는 강력한 프레임워크입니다.

퍼셉트론, 선형 회귀, 경사하강법은 별개가 아니라 하나의 흐름 안에서 연결됩니다. 그리고 표현력을 높일수록 VC 차원이 커져 과적합 위험이 증가한다는 것 — 이것이 다음 섹션에서 다룰 정규화(regularization)의 동기가 됩니다.