Supervised Learning - Linear Regression

김카누·2024년 7월 16일

Aimers

목록 보기
4/8
post-thumbnail

학습 목표: 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: ff^*, where f(xi)=yif^*(x^i)=y^i
    want to find gθ(x)f(x)g_\theta(x)\approx f^*(x)

    Function class: G\mathcal{G}
    Goal: gθ(x)f(x)g_\theta(x)\approx f^*(x), gθGg_\theta\in\mathcal{G}
    θ:parameter\theta: parameter

우리의 목표는 정답 함수가 ff^*일 때, 모델이 학습을 통해 생성한 함수 gθg_\theta가 정답 함수와 같은 동작을 하도록 만드는 것이다.

먼저, 예측값이 정답으로부터 얼마나 떨어져 있는지 확인하고 오차를 수정하는 과정이 필요하다.
반복적으로 오차를 수정한다면 정답 함수 f와 근사하게 된다.

L(θ)=i=1nl(gθ(xi),yi)\mathcal{L}(\theta)=\sum_{i=1}^nl(g_\theta(x^i),y^i)

loss는 정답 y와 모델의 예측값 gθg_\theta 사이 차이를 나타낸다.
따라서 gθg_\theta를 학습시키는 것은 loss를 가장 minimize하는 최적화 문제로 생각할 수 있다.

이때, 손실 함수는 문제의 종류에 따라 다양한 방식으로 구할 수 있다.

손실 함수의 종류

  • Mean Absolute Error (MAE)
    MAE=1Ni=1Nyiy^iMAE=\frac{1}{N}\sum_{i=1}^N|y_i-\hat y_i|
  • Mean Squared Error (MSE)
    MSE=1Ni=1N(yiy^i)2MSE=\frac{1}{N}\sum_{i=1}^N(y_i-\hat y_i)^2
  • Cross-Entropy Error (CEE)
    CEE=1Ni=1Nyilog(y^i)CEE=-\frac{1}{N}\sum_{i=1}^Ny_ilog(\hat y_i)

1. Linear Regression

  • Data
    x=(1,x1,x2,,xd)Rd+1,yRx=(1,x_1,x_2,\dots,x_d) \in \R^{d+1},y\in \R
  • function Class
    G={gθ=ax:aRd+1}θ=(a0,a1,a2,,ad)\mathcal{G}=\{g_{\theta}=a^\top x:a\in\R^{d+1}\}\\ \theta = (a_0,a_1,a_2,\dots,a_d)

g = ax+b꼴에서 a,b 파라미터를 간편하게 구하기위해 다음과 같이

ax+b=b+a1x1+a2x2++adxd  ax=a0×1+a1x1+a2x2++adxd,  (x0=1)\begin{aligned} a^\top x+b =b+&a_1x_1+a_2x_2+\dots+a_dx_d\\ \rarr\; a'^\top x =a_0\times1+&a_1x_1+a_2x_2+\dots+a_dx_d,\; (x_0=1) \end{aligned}

b를 a0a_0로 포함시켜 하나의 파라미터 벡터로 나타낼 수 있다.

Normal Equation

X=[x(1)x(2)x(n)]Rn×d,  Y=[y(1)y(2)y(n)]RnL(a)=Y=[ax(1)y(1)ax(2)y(2)ax(n)y(n)]2=XaY2  =YY2YXa+aXXa\begin{aligned} X&=\begin{bmatrix} x^{(1)}\\ x^{(2)}\\ \vdots\\ x^{(n)} \end{bmatrix}\in \R^{n\times d} ,\; Y=\begin{bmatrix} y^{(1)}\\ y^{(2)}\\ \vdots\\ y^{(n)} \end{bmatrix}\in \R^n \\ \, \\ \mathcal{L}(a)&= Y=\begin{Vmatrix} \begin{bmatrix} a^\top x^{(1)}-y^{(1)}\\ a^\top x^{(2)}-y^{(2)}\\ \vdots\\ a^\top x^{(n)}-y^{(n)} \end{bmatrix} \end{Vmatrix}^2=||Xa-Y||^2\\ \; \\ &=Y^\top Y-2Y^\top Xa+a^\top X^\top X a \end{aligned}

이제 a를 구하기 위해 손실 함수를 a에 대해 편미분한 결과가 0이 되는 식을 적으면

L(a)a=2XY+2XXa=0  XXa=XY  a=(XX)1XY\frac{\partial \mathcal{L}(a)}{\partial a}=-2X^\top Y+2X^\top Xa=0\\ \;\\ X^\top Xa=X^\top Y\\ \; \\ \therefore a=(X^\top X)^{-1}X^\top Y

Generalized Linear Model - (Polynomial)

또한 직선이 아니라 2차식(Quadratiac form)과 같이 데이터 x가 n차 다항식 함수로 구성되는 경우를 polynomial regression이라 하며 일차식보다 더 높은 차수의 항을 추가하여 모델의 복잡도를 증가시킨다.

  • Data
    x=(1,x1,x2,x22,x23,,x2n)Rn+2,yRx=(1,x_1,x_2,x_2^2,x_2^3,\dots,x_2^n) \in \R^{n+2},y\in \R
  • function Class
    G={gθ=ax:aRn+2}θ=(a0,a1,a2,,an+2)\mathcal{G}=\{g_{\theta}=a^\top x:a\in\R^{n+2}\}\\ \theta = (a_0,a_1,a_2,\dots,a_{n+2})

하지만 g는 여전히 선형 모델임을 확인할 수 있다. 이는 예측값 gθg_\theta가 학습 파라미터 θ\theta에 대하여 선형성을 갖기 때문에
높은 차수의 x값들은 Linear Regression에서 다룬 x와 차이가 없다.

x=(1,x1,x2,x22,x23,,x2n)=(1,x1,x2,,xd),  n+2=dx=(1,x_1,x_2,x_2^2,x_2^3,\dots,x_2^n)=(1,x_1,x_2,\dots,x_d),\;n+2=d

정리

  • 지도 학습은 데이터와 label이 존재하여 모델에게 정답을 맞추도록 학습시키는 방식을 의미하며 회귀와 분류 문제로 구분한다.

  • 회귀 문제는 label이 연속적인 값을 가지는 경우, 분류 문제는 label이 특정 범주나 클래스로 나누어져 불연속적인 값을 가지는 경우이다.

  • 정답 함수와 같은 동작을 하도록 모델이 학습하는 과정에서 예측값과 정답의 차이를 loss라고 부르며 loss를 최소화하는 문제로 학습 파라미터를 구할 수 있다.

  • 선형 회귀는 학습하려는 함수의 형태가 선형성을 가진다, 또한 모델의 복잡성을 증가시키기 위해 독립 변수 x를 다항식 형태로 확장한 경우를 다항 회귀라고 부르며 파라미터에 대해 선형성을 유지하므로 여전히 선형 회귀 모델로 생각할 수 있다.

profile
데이터를 해석하기 위한 방법을 고민하는 분석 블로그입니다.

0개의 댓글