학습 목표: Supervised Learning의 예시인 Linear Regression에 대해 알아보자
Tom Mitchell's ML definition
- T: Improve on Task
- P: Respect to Performance metric
- E: Based on Experience
학습 방법의 종류
1. Supervised Learning: Classification, Regression
2. Unsupervised Learning: Clustering, anomaly detection, density estimation...
3. semi-supervised Learning: Label-Unlabel(LU), Positive-Unlabel(PU)(=One-class Classification)
4. Reinforcement learning: Agent-Environment (Reward)
Supervised Learning
-
Setup
True function: f∗, where f∗(xi)=yi
want to find gθ(x)≈f∗(x)
Function class: G
Goal: gθ(x)≈f∗(x), gθ∈G
θ:parameter
우리의 목표는 정답 함수가 f∗일 때, 모델이 학습을 통해 생성한 함수 gθ가 정답 함수와 같은 동작을 하도록 만드는 것이다.
먼저, 예측값이 정답으로부터 얼마나 떨어져 있는지 확인하고 오차를 수정하는 과정이 필요하다.
반복적으로 오차를 수정한다면 정답 함수 f와 근사하게 된다.
L(θ)=i=1∑nl(gθ(xi),yi)
loss는 정답 y와 모델의 예측값 gθ 사이 차이를 나타낸다.
따라서 gθ를 학습시키는 것은 loss를 가장 minimize하는 최적화 문제로 생각할 수 있다.
이때, 손실 함수는 문제의 종류에 따라 다양한 방식으로 구할 수 있다.
손실 함수의 종류
- Mean Absolute Error (MAE)
MAE=N1i=1∑N∣yi−y^i∣
- Mean Squared Error (MSE)
MSE=N1i=1∑N(yi−y^i)2
- Cross-Entropy Error (CEE)
CEE=−N1i=1∑Nyilog(y^i)
1. Linear Regression
- Data
x=(1,x1,x2,…,xd)∈Rd+1,y∈R
- function Class
G={gθ=a⊤x:a∈Rd+1}θ=(a0,a1,a2,…,ad)
g = ax+b꼴에서 a,b 파라미터를 간편하게 구하기위해 다음과 같이
a⊤x+b=b+→a′⊤x=a0×1+a1x1+a2x2+⋯+adxda1x1+a2x2+⋯+adxd,(x0=1)
b를 a0로 포함시켜 하나의 파라미터 벡터로 나타낼 수 있다.
Normal Equation
XL(a)=⎣⎢⎢⎢⎢⎡x(1)x(2)⋮x(n)⎦⎥⎥⎥⎥⎤∈Rn×d,Y=⎣⎢⎢⎢⎢⎡y(1)y(2)⋮y(n)⎦⎥⎥⎥⎥⎤∈Rn=Y=∥∥∥∥∥∥∥∥∥∥⎣⎢⎢⎢⎢⎡a⊤x(1)−y(1)a⊤x(2)−y(2)⋮a⊤x(n)−y(n)⎦⎥⎥⎥⎥⎤∥∥∥∥∥∥∥∥∥∥2=∣∣Xa−Y∣∣2=Y⊤Y−2Y⊤Xa+a⊤X⊤Xa
이제 a를 구하기 위해 손실 함수를 a에 대해 편미분한 결과가 0이 되는 식을 적으면
∂a∂L(a)=−2X⊤Y+2X⊤Xa=0X⊤Xa=X⊤Y∴a=(X⊤X)−1X⊤Y
Generalized Linear Model - (Polynomial)
또한 직선이 아니라 2차식(Quadratiac form)과 같이 데이터 x가 n차 다항식 함수로 구성되는 경우를 polynomial regression이라 하며 일차식보다 더 높은 차수의 항을 추가하여 모델의 복잡도를 증가시킨다.
- Data
x=(1,x1,x2,x22,x23,…,x2n)∈Rn+2,y∈R
- function Class
G={gθ=a⊤x:a∈Rn+2}θ=(a0,a1,a2,…,an+2)
하지만 g는 여전히 선형 모델임을 확인할 수 있다. 이는 예측값 gθ가 학습 파라미터 θ에 대하여 선형성을 갖기 때문에
높은 차수의 x값들은 Linear Regression에서 다룬 x와 차이가 없다.
x=(1,x1,x2,x22,x23,…,x2n)=(1,x1,x2,…,xd),n+2=d
정리
-
지도 학습은 데이터와 label이 존재하여 모델에게 정답을 맞추도록 학습시키는 방식을 의미하며 회귀와 분류 문제로 구분한다.
-
회귀 문제는 label이 연속적인 값을 가지는 경우, 분류 문제는 label이 특정 범주나 클래스로 나누어져 불연속적인 값을 가지는 경우이다.
-
정답 함수와 같은 동작을 하도록 모델이 학습하는 과정에서 예측값과 정답의 차이를 loss라고 부르며 loss를 최소화하는 문제로 학습 파라미터를 구할 수 있다.
-
선형 회귀는 학습하려는 함수의 형태가 선형성을 가진다, 또한 모델의 복잡성을 증가시키기 위해 독립 변수 x를 다항식 형태로 확장한 경우를 다항 회귀라고 부르며 파라미터에 대해 선형성을 유지하므로 여전히 선형 회귀 모델로 생각할 수 있다.