SL Foundation

chelseey·2025년 3월 13일

Supervised learning

주어진 (입력, 정답) 쌍 (xi,yix^i,y^i)들로부터,
새로운 입력 x′에 대한 출력 y′를 예측하는함수 h:XYh:X→Y를 학습

Example: family car

클래스 C
예측하고 싶은 대상: 차가 ‘가족용 차’인가?

출력(Output)
Positive (+): 세단(Sedan) 같은 전형적인 가족용 차
Negative (–): 스포츠카, 슈퍼카, 오픈카 등 가족용이 아닌 차종

입력 표현(Input representation)

  • x1x_1 : 가격(Price)
  • x2x_2 : 엔진 출력(Engine power)

→ 각 차종을 (x1,x2x_1, x_2) 좌표에 찍음

입력 공간 X 정의

X=RdX = \mathbb{R}^d : d차원 유클리디안 공간
각 샘플은 d개의 연속형 특성(feature)으로 이루어진 벡터

x=(x1,x2,,xd)Xx = (x_1, x_2, \dots, x_d) \in X

→ 2차원

출력 공간 Y 정의

이진 분류(Binary decision) 문제이므로

Y={+1,1}Y = \{+1, -1\}

목표 함수(target function)와 가설(hypothesis)

ideal function f:XYf:X→Y
: 궁극적으로 알고 싶은 결정 규칙

학습 데이터 {(xi,yi)}i=1N\{ (x^i, y^i) \}_{i=1}^{N}
: 각각 실제 정답(레이블)이 달린 샘플들

가설 공간 H\mathcal{H} 과 가설 hh
H\mathcal{H} : 모델이 선택 가능한 함수 집합

→ 미지의 ff에 대해, 모델 hHh∈\mathcal{H}로 가장 근접한 함수를 선택

Hypothesis set H

어떤 형태의 결정 경계(예측 함수)를 쓸 것인지 정의

함수형 h(x)와 파라미터

파라메트릭(Parametric):
h(x;θ)h(x;θ)의 형태(ex. 직사각형 폭 p1,p2p_1, p_2 높이 e1,e2)e_1, e_2)를 고정하고,
학습할 파라미터 θ={p1,p2,e1,e2}\theta = \{p_1, p_2, e_1, e_2\} 만 조정

오류 측정 (Error of h on D)

학습 데이터 D={(xt,yt)}t=1ND=\{ (x^t, y^t) \}_{t=1}^{N}에서
h가 틀린 샘플의 개수를 세어 오류 E(hD)E(h∣D) 로 정의

E(hD)=t=1N1(h(xt)yt)E(h \mid \mathcal{D}) = \sum_{t=1}^{N} \mathbf{1}(h(x^t) \neq y^t)

Learning a (parametric) model

• 입력 벡터 x=[x1x2]R2x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} \in \mathbb{R}^2

x1x_1 : 가격(Price), x2x_2 : 엔진 출력(Engine power)

• 데이터 크기
N=15 (샘플 개수),
특징 차원 d=2,
X=R2X = \mathbb{R}^2,
Y={Yes,No}Y=\{Yes,No\} (이진 분류)

목표 함수 f vs. 학습된 가설 h

f (파란색): 이상적 decision boundary
h (노란색): 실제로 학습해서 얻는 파라메트릭 결정 경계

Optimization 단계

손실 함수를 최소화하도록 θθ를 학습해
D에서 오류를 줄이는 최적의 h 를 찾음

평가 지표: 손실 함수(Loss Function)

평균 제곱 오차(Mean Squared Error, MSE)

1mi=1m(hθ(x(i))y(i))2\frac{1}{m} \sum_{i=1}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2

큰 오차에 더 큰 페널티를 부여

Components of learning: algorithm

머신러닝 학습 알고리즘 :

  • 입력
    D={(xt,yt)}t=1ND=\{ (x^t, y^t) \}_{t=1}^{N}
    가설 집합(모델 클래스) H\mathcal{H}

  • 출력
    H\mathcal{H} 안에서 훈련 데이터 D에 가장 잘 맞는 단일 모델 h

Model generalization

학습은 불안정한 문제 (Ill-posed)

데이터가 한정적이어서,
충분한 샘플이 없다면 유일한 해를 찾기 어려움

일반화(Generalization)

모델은 학습에 쓰지 않은 새로운 데이터에서도 잘 작동해야 함

Learning from data → Learning from error (supervision)

순수히 데이터 포인트만 보고 패턴을 학습하는 것이 아니라,
손실 함수(loss function)을 통해 파라미터 조정

Error and Noise

Error (오차)

모델 h가 이상적 함수 f에 얼마나 가까운지 수치로 나타낸 것
오차 방식이 학습 결과에 직접적인 영향을 미침

Pointwise error

각 입력 샘플 (x(i),y(i))(x^{(i)}, y^{(i)})에 대해
예측값 h(i)h^{(i)}와 실제값y(i)y^{(i)}의 차이를 수치화한 것

  • 제곱 오차 (Squared Error)
    e(h(x(i)),y(i))=(h(x(i))y(i))2e(h(x^{(i)}), y^{(i)}) = (h(x^{(i)}) - y^{(i)})^2

  • 이진 오차 (Binary Error)
    e(h(x(i)),y(i))=1(h(x(i))y(i))e(h(x^{(i)}), y^{(i)}) = \mathbf{1}(h(x^{(i)}) \neq y^{(i)})
    → 맞혔는지(0) 틀렸는지(1) count

전체 오차로 확장(Aggregation)

일반화 성능을 평가

평균 오차 (ex. MSE)
Eavg=1mi=1m(hθ(x(i))y(i))2E_{\text{avg}} = \frac{1}{m} \sum_{i=1}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2

  • 훈련 오차 EtrainE_{\text{train}}
    학습에 사용한 데이터에서의 평균 오차
  • 검증 오차 EvalE_{\text{val}}
    하이퍼파라미터 튜닝용 데이터에서의 평균 오차
  • 테스트 오차 EtestE_{\text{test}}
    모델 최종 평가용 데이터에서의 평균 오차

EtrainE_{\text{train}}EtestE_{\text{test}} ⟹과적합 위험 높음

Noise (잡음)

같은 x라도, 잡음 때문에 y=f(x)가 여러 값으로 분포될 수 있음

Vector Norm

p-norm

벡터 공간 X 위에 노름 함수 p:XRp:X→R 가 주어졌다고 할 때,
벡터 x=(x1,x2,,xn)Xx =(x_1, x_2, \dots, x_n) \in X의 p-노름은

xp=(i=1nxip)1/p\|x\|_p = \left( \sum_{i=1}^{n} |x_i|^p \right)^{1/p}
  • p=2일 때 x2\|x\|_2 = L2 노름 (유클리드 노름)
  • p=1일 때 x1∥x∥_1 = L1 노름 (Manhattan norm)
  • p→∞일 때 x=maxixi\|x\|_\infty = \max_i |x_i|

norm을 거리로 쓰기

두 벡터 x,y간 거리를 재려면, 차이벡터 (x-y)의 norm을 계산

d(x,y)=xy=i=1N(xiyi)2d(x, y) = \|x - y\| = \sqrt{\sum_{i=1}^{N} (x_i - y_i)^2}
  • L₂ 노름 거리 : 점 대 점의 직선 거리
  • L₁ 노름 거리 : 맨해튼 격자 거리
  • LL_∞ 거리 : 각 성분 차이의 최댓값

훈련 오차 vs. 일반화 오차

목표 : EtestEgen0E_{\text{test}} \approx E_{\text{gen}} \approx 0

  • 훈련 오차 EtestE_{\text{test}}
    훈련 세트에 대해 계산한 평균 손실

  • 테스트 오차 EgenE_{\text{gen}}
    훈련에 쓰이지 않은 별도 데이터로 계산한 손실

목표 1 : EtestEgenE_{\text{test}} \approx E_{\text{gen}}

• 실패 양상
과적합(overfitting) → High Variance

• 해결책

  • Regularization: 모델 복잡도를 억제하여 과도한 파라미터 튜닝을 방지
  • More Data: 더 다양한 샘플로 학습시켜 편향 완화

목표 2 : make Etest0E_{\text{test}} \approx 0

• 실패 양상
과소적합(underfitting) → High Bias

• 해결책

  • Optimization: 학습률·알고리즘 변경으로 손실 최소화
  • More Complex Model: 표현력이 높은 구조(딥러닝, 앙상블 등) 도입

Bias and Variance

Bias

모델이 학습해야 할 패턴을 충분히 포착하지 못해 생기는 오차
과소적합(underfitting) 으로 이어짐

Variance (분산)

모델이 훈련 데이터의 작은 변동(노이즈)까지 과하게 학습해,
다른 데이터 샘플에는 예측이 크게 달라지는 현상에서 오는 오차
과적합(overfitting) 으로 이어짐

→ Bias와 Variance는 트레이드오프(trade-off)

Bias and Variance decomposition

MSE의 정의

모델 예측 y^=g(x)\hat{y} = g(x), 실제 값 yy

MSE(y^)=E[(yy^)2]\text{MSE}(\hat{y}) = \mathbb{E}[(y - \hat{y})^2]

기대치(μ) 도입 및 전개

예측 y^\hat{y}의 기대값을 μ=E[y^]\mu = \mathbb{E}[\hat{y}]라고 두고 쪼갬

yy^=(yμ)+(μy^)y - \hat{y} = (y - \mu) + (\mu - \hat{y})

제곱하여 전개하고, 기댓값을 취하면

E[(yy^)2]=(yE[y^])2Bias2+E[(y^E[y^])2]Variance2(yμ)E[y^μ]=0\mathbb{E}[(y - \hat{y})^2] = \underbrace{(y - \mathbb{E}[\hat{y}])^2}_{\text{Bias}^2} + \underbrace{\mathbb{E}[(\hat{y} - \mathbb{E}[\hat{y}])^2]}_{\text{Variance}} - \underbrace{2 (y - \mu) \mathbb{E}[\hat{y} - \mu]}_{=0}

결과: Bias² + Variance

Underfitting

True concept
실제로 데이터가 따라야 할 분포

Simple model
검은 실선(선형 회귀) 하나로 모든 샘플을 설명
→ 실제 분포를 잘 따라가지 못해, 흩어진 +와 − 샘플을 제대로 구분하지 못함

Overfitting

Complex model
노이즈 영역(orange)까지 과하게 학습해서
훈련 데이터에만 특화되고, 새로운 데이터에선 성능이 크게 떨어짐

Bias-variance trade-off

모델을 더 복잡하게 하면 Bias는↓ but Variance는↑
모델을 더 단순하게 하면 Variance는↓ but Bias는↑

Avoid overfitting

Curse of Dimension

차원을 늘리면(특징(feature)을 더 추가)
데이터 공간의 volume은 exponential하게 증가
각 축(특징)의 분할 개수만큼 셀 수가 늘어나므로
→ 샘플 당 밀도(density)는 급격히 낮아짐

과적합을 피하는 방법

이론적 원칙
Occam’s Razor : 가능한 한 가장 단순한 모델을 선택
현실에서는
고차원·비선형 데이터가 많기 때문에
너무 단순한 모델을 쓰면 과소적합되어 실제 패턴을 못 잡아냄

과적합 방지의 핵심 기법

  • 데이터 증강(Data Augmentation)
    이미지 회전·뒤집기·노이즈 삽입 등으로 가상의 샘플을 만듦

  • 정규화(Regularization)
    손실 함수에 모델 복잡도 페널티를 추가
    ex. L2 정규화 Ridge
    J(θ)=12mi=1m(hθ(x(i))y(i))2+λj=1nθj2J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2 + \lambda \sum_{j=1}^{n} \theta_j^2

  • 앙상블(Ensemble)
    서로 다른 여러 모델을 평균으로 결합

Avoid overfitting (modern advice)

  1. 복잡한 모델(Complex model)
    훈련 데이터에 완벽히 맞춤
    Etrain0E_{\text{train}} \approx 0

  2. Effective regularization
    모델이 노이즈나 훈련 세트 특이치(outlier)에
    과도하게 반응하지 않도록 제어
    EtestEtrainE_{\text{test}} \approx E_{\text{train}}

  3. Big data

Cross-validation (CV)

훈련 세트(녹색)를 k개의 동등한 조각(fold) 으로 나눔

k번 반복하며, 매번
하나의 fold를 검증 세트(파란색)로 떼어 두고
나머지 k–1개 fold(분홍색)로 학습

k회 검증을 수행해 얻은 검증 오류를 평균냄

→ 훈련 데이터를 최대한 활용하면서, 과적합 위험을 줄임

0개의 댓글