Supervised learning
주어진 (입력, 정답) 쌍 (xi,yi)들로부터,
새로운 입력 x′에 대한 출력 y′를 예측하는함수 h:X→Y를 학습
Example: family car
클래스 C
예측하고 싶은 대상: 차가 ‘가족용 차’인가?
출력(Output)
Positive (+): 세단(Sedan) 같은 전형적인 가족용 차
Negative (–): 스포츠카, 슈퍼카, 오픈카 등 가족용이 아닌 차종
입력 표현(Input representation)
- x1 : 가격(Price)
- x2 : 엔진 출력(Engine power)
→ 각 차종을 (x1,x2) 좌표에 찍음
입력 공간 X 정의
X=Rd : d차원 유클리디안 공간
각 샘플은 d개의 연속형 특성(feature)으로 이루어진 벡터
x=(x1,x2,…,xd)∈X
→ 2차원
출력 공간 Y 정의
이진 분류(Binary decision) 문제이므로
Y={+1,−1}
목표 함수(target function)와 가설(hypothesis)
ideal function f:X→Y
: 궁극적으로 알고 싶은 결정 규칙
학습 데이터 {(xi,yi)}i=1N
: 각각 실제 정답(레이블)이 달린 샘플들
가설 공간 H 과 가설 h
H : 모델이 선택 가능한 함수 집합
→ 미지의 f에 대해, 모델 h∈H로 가장 근접한 함수를 선택
Hypothesis set H
어떤 형태의 결정 경계(예측 함수)를 쓸 것인지 정의
함수형 h(x)와 파라미터
파라메트릭(Parametric):
h(x;θ)의 형태(ex. 직사각형 폭 p1,p2 높이 e1,e2)를 고정하고,
학습할 파라미터 θ={p1,p2,e1,e2} 만 조정
오류 측정 (Error of h on D)
학습 데이터 D={(xt,yt)}t=1N에서
h가 틀린 샘플의 개수를 세어 오류 E(h∣D) 로 정의
E(h∣D)=t=1∑N1(h(xt)=yt)
Learning a (parametric) model
• 입력 벡터 x=[x1x2]∈R2
x1 : 가격(Price), x2 : 엔진 출력(Engine power)
• 데이터 크기
N=15 (샘플 개수),
특징 차원 d=2,
X=R2,
Y={Yes,No} (이진 분류)
목표 함수 f vs. 학습된 가설 h
f (파란색): 이상적 decision boundary
h (노란색): 실제로 학습해서 얻는 파라메트릭 결정 경계
Optimization 단계
손실 함수를 최소화하도록 θ를 학습해
D에서 오류를 줄이는 최적의 h 를 찾음
평가 지표: 손실 함수(Loss Function)
평균 제곱 오차(Mean Squared Error, MSE)
m1i=1∑m(hθ(x(i))−y(i))2
큰 오차에 더 큰 페널티를 부여
Components of learning: algorithm
머신러닝 학습 알고리즘 :
-
입력
D={(xt,yt)}t=1N
가설 집합(모델 클래스) H
-
출력
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))에 대해
예측값 h(i)와 실제값y(i)의 차이를 수치화한 것
-
제곱 오차 (Squared Error)
e(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))
→ 맞혔는지(0) 틀렸는지(1) count
전체 오차로 확장(Aggregation)
일반화 성능을 평가
평균 오차 (ex. MSE)
Eavg=m1∑i=1m(hθ(x(i))−y(i))2
- 훈련 오차 Etrain
학습에 사용한 데이터에서의 평균 오차
- 검증 오차 Eval
하이퍼파라미터 튜닝용 데이터에서의 평균 오차
- 테스트 오차 Etest
모델 최종 평가용 데이터에서의 평균 오차
Etrain ≪ Etest ⟹과적합 위험 높음
Noise (잡음)
같은 x라도, 잡음 때문에 y=f(x)가 여러 값으로 분포될 수 있음
Vector Norm
p-norm
벡터 공간 X 위에 노름 함수 p:X→R 가 주어졌다고 할 때,
벡터 x=(x1,x2,…,xn)∈X의 p-노름은
∥x∥p=(i=1∑n∣xi∣p)1/p
- p=2일 때 ∥x∥2 = L2 노름 (유클리드 노름)
- p=1일 때 ∥x∥1 = L1 노름 (Manhattan norm)
- p→∞일 때 ∥x∥∞=maxi∣xi∣
norm을 거리로 쓰기
두 벡터 x,y간 거리를 재려면, 차이벡터 (x-y)의 norm을 계산
d(x,y)=∥x−y∥=i=1∑N(xi−yi)2
- L₂ 노름 거리 : 점 대 점의 직선 거리
- L₁ 노름 거리 : 맨해튼 격자 거리
- L∞ 거리 : 각 성분 차이의 최댓값
훈련 오차 vs. 일반화 오차
목표 : Etest≈Egen≈0
목표 1 : Etest≈Egen
• 실패 양상
과적합(overfitting) → High Variance
• 해결책
- Regularization: 모델 복잡도를 억제하여 과도한 파라미터 튜닝을 방지
- More Data: 더 다양한 샘플로 학습시켜 편향 완화
목표 2 : make Etest≈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), 실제 값 y
MSE(y^)=E[(y−y^)2]
기대치(μ) 도입 및 전개
예측 y^의 기대값을 μ=E[y^]라고 두고 쪼갬
y−y^=(y−μ)+(μ−y^)
제곱하여 전개하고, 기댓값을 취하면
E[(y−y^)2]=Bias2(y−E[y^])2+VarianceE[(y^−E[y^])2]−=02(y−μ)E[y^−μ]
결과: 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(θ)=2m1∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2
-
앙상블(Ensemble)
서로 다른 여러 모델을 평균으로 결합
Avoid overfitting (modern advice)
-
복잡한 모델(Complex model)
훈련 데이터에 완벽히 맞춤
Etrain≈0
-
Effective regularization
모델이 노이즈나 훈련 세트 특이치(outlier)에
과도하게 반응하지 않도록 제어
Etest≈Etrain
-
Big data
Cross-validation (CV)
훈련 세트(녹색)를 k개의 동등한 조각(fold) 으로 나눔
k번 반복하며, 매번
하나의 fold를 검증 세트(파란색)로 떼어 두고
나머지 k–1개 fold(분홍색)로 학습
k회 검증을 수행해 얻은 검증 오류를 평균냄
→ 훈련 데이터를 최대한 활용하면서, 과적합 위험을 줄임