Type of ML Problems
- Supervised Learning (지도학습)
데이터에 정답(레이블)이 함께 주어짐
- Unsupervised Learning (비지도학습)
데이터 자체만 주어지며, 정답(레이블)이 없음
모델이 데이터를 "어떻게" 분류할지 스스로 규칙을 찾아내야 함
• 지도학습(Supervised Learning)의 종류
- Classification (분류 문제)
Label이 카테고리형(Categorical)인 경우
정해진 범주 중 하나를 예측함
- Label이 수치형(Continuous)인 경우
어떤 값을 숫자로 예측함
Label의 유무 → 지도학습 vs 비지도학습
Label의 형태 → 지도학습 내에서 분류 vs 회귀
Supervised Learning: Regression
회귀(Regression) : 연속적인 수치 값을 예측하는 문제
ex. 주택 가격 예측
입력 데이터 (X):
집의 방 개수 등과 같이 주어진 특성(Features)
출력 데이터 (Y):
예측해야 하는 집의 가격
Supervised Learning: Classification
분류(Classification) : 주어진 데이터 포인트를 미리 정의된 여러 범주 중 하나로 할당하는 문제
ex. 암 종양 분류 문제
입력 특성(Features): 종양 크기, 환자 나이 등
출력 레이블(Label): "Benign" 또는 "Malignant"
Unsupervised Learning
: 데이터에 레이블이 없는 상태에서
데이터 자체의 패턴이나 구조를 찾아내는 학습 방식
데이터에 정답이 제공되지 않으므로,
모델이 스스로 데이터의 군집이나 특성을 찾아냄
- 차원 축소: 데이터의 주요 특징만 남기고 불필요한 정보 제거
ex. Google News 클러스터링
여러 언론사의 뉴스를 비슷한 주제별로 자동으로 묶어서 분류
• Clustering (군집화)
: 비슷한 특성을 가진 데이터끼리 자동으로 그룹화
• Anomaly Detection (이상치 탐지)
: 일반적인 데이터 패턴에서 벗어난 특이한 데이터(이상치)를 찾아냄
• 연관 규칙 학습 (Association)
: 데이터 항목들 간에 자주 함께 발생하는 관계를 찾아내는 방법
• 차원 축소 (Dimensionality Reduction)
: 고차원 데이터에서 중요한 정보(주요 특징)만을 추출하여, 데이터의 차원을 줄임
관련 용어(Terminology)
집의 면적을 입력으로 받아, 그 집의 가격을 예측하는 문제
→ 회귀(Regression) 문제
입력 변수 x : 집의 면적
출력 변수 y : 집의 가격
(x(i),y(i)) : 데이터셋에서 i번째 집의 면적과 가격 정보
Linear Regression (선형 회귀)
: 입력 변수 x와 출력 변수 y 사이의 선형적인 관계를 찾아내어,
새로운 입력이 주어졌을 때 그에 맞는 출력을 예측하는 모델
선형 회귀 모델 fθ(x)=fw,b(x)=wx+b
b : x=0일 때의 예측값
θ=(w,b) : 학습을 통해 찾고자 하는 모델의 파라미터
Simple Linear Regression
fθ(x)=fw,b(x)=wx+b
선형 회귀는 간단한 모델로,
데이터의 기본적인 패턴(선형 관계)을 빠르게 파악 가능
w와 b라는 두 개의 파라미터만으로도 데이터 간의 관계를 쉽게 설명
Determining Parameters
Simplification : 복잡도를 줄이기 위해 절편 b=0 으로 설정
모델이 학습해야 할 파라미터가 하나 줄어들어 계산과 구현이 더 간단
Cost Function
비용 함수 J(w): 모델의 예측이 실제 값과 얼마나 차이가 나는지를
수치로 나타내는 함수
최적화 목표 (Objective) : 비용 함수 J(w,b)의 값을 최소화하는
파라미터를 찾는 것
argminw,bJ(w,b)
오차(Residual) : 각 데이터 포인트에 대해, 모델의 예측값 y^i와
실제값 yi 사이의 차이
J(w)=n1∑i=1n(wxi−yi)2
수직 거리(오차) 계산
점에서 직선 fw(x)=wx 까지의 수직 거리 d=1+k2∣kx0−y0+b∣
절대 오차 (Absolute Error)
각 데이터 샘플에서, 모델의 예측값 y^(i)과 실제 값 y(i)의 차이의 절대값을 계산
L(y^(i),y(i))=L(fw(x(i)),y(i))=∣∣∣∣fw(x(i))−y(i)∣∣∣∣
제곱 오차 (Squared Error)
모델의 예측값 y^(i)과 실제 값 y(i) 사이 오차의 제곱을 통해 전체 학습 성능을 측정
L(y^(i),y(i))=L(fw(x(i)),y(i))=(fw(x(i))−y(i))2
Least Squares Estimation (LSE)
데이터 포인트 (빨간 점): 입력 x에 대한 실제 관측값 y
분홍색 선 fw(x)=wx : 현재 모델의 예측 결과
분홍색 선 fw(x)=wx : w=1일 때의 예측
선과 데이터 포인트들이 일치 → 최적의 파라미터 w=1
최적의 w 찾기 (미분 이용)
각 데이터 포인트에 대해 오차 제곱합
J(w)=(2w−1)2+(3w−5)2+(5w−6)2=38w2−94w+62
최소값을 찾기 위해 J(w)를 w에 대해 미분 :
dwdJ(w)=76w−94
w=7694≈1.24
→ 최소제곱추정을 통해 오차 제곱합이 최소가 되는 기울기 w를 결정
오차 제곱합(SSE, Sum of Squared Errors) 최소화
비용 함수 J(w,b)를 파라미터에 대해 편미분한 후,
미분값이 0이 되는 지점을 찾으면, 그 지점이 오차 제곱합의 최소값에 해당
∂w∂SSE=0,∂b∂SSE=0
: 선형 회귀 모델의 최적 파라미터 w^,b^을 구하는 공식
w^=i=1∑n(x(i)−xˉ)2i=1∑n(x(i)−xˉ)(y(i)−yˉ)
b^=yˉ−w^xˉ
xˉ=n1i=1∑nx(i),yˉ=n1i=1∑ny(i)
분자 : x와 y 값이 평균 xˉ,yˉ 에서 얼마나 같이 벗어나는지를 측정
분모 : x 값들이 평균 xˉ 에서 얼마나 흩어져 있는지를 나타내는 분산
w와 b 에 따라 바뀌는 cost function, SSE 그래프
U자형 곡면이 최소값(minimum)을 가지는 점 = 최적의 w, b 조합
Maximum Likelihood Estimation (MLE)
: 주어진 데이터가 관측될 확률(likelihood)을 최대화하는 (가장 잘 설명하는) 파라미터 값을 찾는 통계적 방법
선형 회귀 모델 : y=b+wx+e
e : 오차항(Residual)
오차항 e는 보통 정규분포를 따른다고 가정 : e∼N(0,σ2)
MLE를 위한 기본 가정
- Linearity (선형성)
: x와 y는 선형관계를 가짐
- Normality (정규성)
: 오차는 정규분포를 따른다고 가정
- Homoscedasticity (등분산성)
: 오차의 분산이 입력 값에 상관없이 일정하다고 가정
• Likelihood L(θ)
: 모델 파라미터 θ가 주어졌을 때, 실제 관측된 데이터
(x(i),y(i))가 나올 확률
L(θ)=i=1∏np(y(i)∣x(i),θ),θ=(w,b)
p(y(i)∣x(i),θ) : 입력 x(i)에 대해 실제로 y(i)가 나올 확률
→ 모델의 성능이 좋을수록 Likelihood 값이 커져야 함
• Likelihood를 가장 크게 만드는 파라미터 θ^MLE=θargmaxL(θ)
• Log-Likelihood J(θ)
: 로그를 취해 Likelihood L(θ)를 덧셈으로 바꿈
J(θ)=logL(θ)=i=1∑nlogp(y(i)∣x(i),θ)
• 조건부 확률 밀도 함수 (정규분포 가정)
: 주어진 입력 x(i) 와 파라미터 θ 하에서,
실제 y(i) 가 관측될 확률을 정규분포 형태로 모델링
p(y(i)∣x(i),θ)=2πσ21exp(−2σ2(y(i)−(wx(i)+b))2)
(wx(i)+b)2 : x(i)에 대해 모델이 예측한 출력 값
σ2 : 오차(Residual) 분포의 분산
• MLE와 LSE의 연결
J(θ)=logL(w,b)=−2nlog(2πσ2)−2σ21i=1∑n(y(i)−(b+wx(i)))2
첫 번째 항은 파라미터와 무관한 상수
두 번째 항은 MSE 포함
두 번째 항 2σ21∑i=1n(y(i)−(b+wx(i)))2 최소화
= SSE ∑i=1n(y(i)−(b+wx(i)))2 최소화
→ 오차가 정규분포를 따른다는 가정 하에,
MLE를 통해 구한 최적 파라미터는 최소제곱법으로 구한 파라미터와 일치
θ^MLE=θ^LSE
Multiple Linear Regression
: 여러 개의 입력 변수(특징)를 이용해서 하나의 출력 값을 예측하는 모델
y=β0+β1x1+β2x2+⋯+βkxk+e
X=(x1,x2,…,xk) : 여러 입력 변수들 (독립 변수)
β0,β1,…,βk : 각 변수들 xi가 y에 미치는 영향력
Multiple Linear Regression의 목적
: 주어진 데이터에 대해 실제 관측값과 모델의 예측값 사이의 오차(SSE)를 최소화하는 파라미터 β를 구하는 것
SSE=i=1∑n(y(i)−(β0+β1x1(i)+⋯+βkxk(i)))2
각 계수 β₀, β₁, ..., βₖ에 대해 미분한 결과가 0이 되어야 함
∂βi∂SSE=0for i=0,1,…,k
행렬로 모델 표현
• 입력 행렬 X
각 행은 하나의 데이터 샘플에 대한 입력값,
첫 번째 열의 1은 절편 β0를 포함시키기 위함
X=⎣⎢⎢⎢⎢⎡11⋮1x11x12⋮x1nx21x22⋮x2n⋯⋯⋱⋯xk1xk2⋮xkn⎦⎥⎥⎥⎥⎤
• 출력 벡터 y
y=⎣⎢⎢⎢⎢⎡y(1)y(2)⋮y(n)⎦⎥⎥⎥⎥⎤
• 파라미터 벡터 β
β=⎣⎢⎢⎢⎢⎡β0β1⋮βk⎦⎥⎥⎥⎥⎤
비용 함수 (Sum of Squared Errors, SSE)
SSE=i=1∑n(y(i)−y^(i))2=∥y−Xβ∥2
SSE를 β에 대해 최소화하기 위해 미분하고 0으로 설정
XT(y−Xβ)=0
식을 풀면,
β^=(XTX)−1XTy
Polynomial Regression (다항 회귀)
: 데이터가 선형 회귀로 잘 설명되지 않을 때, 좀 더 복잡한 곡선 형태로 모델링하여 데이터의 패턴을 포착하는 방법
빨간 직선 : Linear Regression
파란 직성 : Polynomial Regression
• 다항 회귀식
y=β0+β1x1+β2x2+⋯+βpxp+e,e∼N(0,σ2)
• 입력 벡터 X
X=(x1,x2,…,xp)
• 새로운 변수 Z 정의 (zi : x의 i 제곱항)
Z=(z1=x1, z2=x2, …, zp=xp)
• 선형 회귀 형태 변형
y=β0+β1z1+β2z2+⋯+βpzp+e,e∼N(0,σ2)
→ 다항 회귀도 입력 차원만 늘린 선형 회귀 문제로 변형 가능