Linear Models I

chelseey·2025년 4월 8일

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))(x^{(i)}, y^{(i)}) : 데이터셋에서 i번째 집의 면적과 가격 정보

Linear Regression (선형 회귀)

: 입력 변수 x와 출력 변수 y 사이의 선형적인 관계를 찾아내어,
새로운 입력이 주어졌을 때 그에 맞는 출력을 예측하는 모델

선형 회귀 모델 fθ(x)=fw,b(x)=wx+bf_\theta(x) = f_{w,b}(x) = wx + b

b : x=0일 때의 예측값
θ=(w,b) : 학습을 통해 찾고자 하는 모델의 파라미터

Simple Linear Regression

fθ(x)=fw,b(x)=wx+bf_\theta(x) = f_{w,b}(x) = wx + b

선형 회귀는 간단한 모델로,
데이터의 기본적인 패턴(선형 관계)을 빠르게 파악 가능

w와 b라는 두 개의 파라미터만으로도 데이터 간의 관계를 쉽게 설명

Determining Parameters

Simplification : 복잡도를 줄이기 위해 절편 b=0 으로 설정
모델이 학습해야 할 파라미터가 하나 줄어들어 계산과 구현이 더 간단

Cost Function

비용 함수 J(w)J(w): 모델의 예측이 실제 값과 얼마나 차이가 나는지를
수치로 나타내는 함수

최적화 목표 (Objective) : 비용 함수 J(w,b)의 값을 최소화하는
파라미터를 찾는 것

argminw,bJ(w,b)\arg\min_{w,b} J(w,b)

오차(Residual) : 각 데이터 포인트에 대해, 모델의 예측값 y^i\hat{y}_{i}
실제값 yiy_i 사이의 차이

J(w)=1ni=1n(wxiyi)2J(w) = \frac{1}{n} \sum_{i=1}^{n} (wx_i - y_i)^2

수직 거리(오차) 계산

점에서 직선 fw(x)=wxf_{w}(x)=wx 까지의 수직 거리 d=kx0y0+b1+k2d = \frac{|kx_0 - y_0 + b|}{\sqrt{1 + k^2}}

절대 오차 (Absolute Error)

각 데이터 샘플에서, 모델의 예측값 y^(i)\hat{y}^{(i)}과 실제 값 y(i)y^{(i)}의 차이의 절대값을 계산

L(y^(i),y(i))=L(fw(x(i)),y(i))=fw(x(i))y(i)\mathcal{L}(\hat{y}^{(i)}, y^{(i)}) = \mathcal{L}(f_w(x^{(i)}), y^{(i)}) = \left| f_w(x^{(i)}) - y^{(i)} \right|

제곱 오차 (Squared Error)

모델의 예측값 y^(i)\hat{y}^{(i)}과 실제 값 y(i)y^{(i)} 사이 오차의 제곱을 통해 전체 학습 성능을 측정

L(y^(i),y(i))=L(fw(x(i)),y(i))=(fw(x(i))y(i))2\mathcal{L}(\hat{y}^{(i)}, y^{(i)}) = \mathcal{L}(f_w(x^{(i)}), y^{(i)}) = \left(f_w(x^{(i)}) - y^{(i)}\right)^2

Least Squares Estimation (LSE)

데이터 포인트 (빨간 점): 입력 x에 대한 실제 관측값 y
분홍색 선 fw(x)=wxf_{w}(x)=wx : 현재 모델의 예측 결과

분홍색 선 fw(x)=wxf_{w}(x)=wx : w=1일 때의 예측
선과 데이터 포인트들이 일치 → 최적의 파라미터 w=1

최적의 w 찾기 (미분 이용)

각 데이터 포인트에 대해 오차 제곱합
J(w)=(2w1)2+(3w5)2+(5w6)2=38w294w+62J(w)=(2w−1)^2+(3w−5)^2+(5w−6)^2 = 38w^2−94w+62

최소값을 찾기 위해 J(w)를 w에 대해 미분 :

dJ(w)dw=76w94\frac{dJ(w)}{dw} = 76w - 94
w=94761.24w = \frac{94}{76} \approx 1.24

→ 최소제곱추정을 통해 오차 제곱합이 최소가 되는 기울기 w를 결정

오차 제곱합(SSE, Sum of Squared Errors) 최소화

비용 함수 J(w,b)를 파라미터에 대해 편미분한 후,
미분값이 0이 되는 지점을 찾으면, 그 지점이 오차 제곱합의 최소값에 해당

SSEw=0,SSEb=0\frac{\partial \text{SSE}}{\partial w} = 0, \quad \frac{\partial \text{SSE}}{\partial b} = 0

Closed-form Solution

: 선형 회귀 모델의 최적 파라미터 w^,b^\hat{w}, \hat{b}을 구하는 공식

w^=i=1n(x(i)xˉ)(y(i)yˉ)i=1n(x(i)xˉ)2\hat{w} = \frac{\displaystyle \sum_{i=1}^{n} \left( x^{(i)} - \bar{x} \right) \left( y^{(i)} - \bar{y} \right)}{\displaystyle \sum_{i=1}^{n} \left( x^{(i)} - \bar{x} \right)^2}
b^=yˉw^xˉ\hat{b} = \bar{y} - \hat{w}\,\bar{x}
xˉ=1ni=1nx(i),yˉ=1ni=1ny(i)\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x^{(i)}, \quad \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y^{(i)}

분자 : x와 y 값이 평균 xˉ,yˉ\bar{x}, \bar{y} 에서 얼마나 같이 벗어나는지를 측정
분모 : x 값들이 평균 xˉ\bar{x} 에서 얼마나 흩어져 있는지를 나타내는 분산

wwbb 에 따라 바뀌는 cost function, SSE 그래프

U자형 곡면이 최소값(minimum)을 가지는 점 = 최적의 ww, bb 조합

Maximum Likelihood Estimation (MLE)

: 주어진 데이터가 관측될 확률(likelihood)을 최대화하는 (가장 잘 설명하는) 파라미터 값을 찾는 통계적 방법

선형 회귀 모델 : y=b+wx+ey=b+wx+e
e : 오차항(Residual)
오차항 e는 보통 정규분포를 따른다고 가정 : eN(0,σ2)e \sim \mathcal{N}(0, \sigma^2)

MLE를 위한 기본 가정

  • Linearity (선형성)
    : x와 y는 선형관계를 가짐
  • Normality (정규성)
    : 오차는 정규분포를 따른다고 가정
  • Homoscedasticity (등분산성)
    : 오차의 분산이 입력 값에 상관없이 일정하다고 가정

• Likelihood L(θ)\mathcal{L}(\theta)
: 모델 파라미터 θ가 주어졌을 때, 실제 관측된 데이터
(x(i),y(i))(x^{(i)},y^{(i)})가 나올 확률

L(θ)=i=1np(y(i)x(i),θ),θ=(w,b)\mathcal{L}(\theta) = \prod_{i=1}^{n} p\left(y^{(i)} \mid x^{(i)}, \theta \right), θ=(w,b)

p(y(i)x(i),θ)p\left(y^{(i)} \mid x^{(i)}, \theta \right) : 입력 x(i)x^{(i)}에 대해 실제로 y(i)y^{(i)}가 나올 확률
→ 모델의 성능이 좋을수록 Likelihood 값이 커져야 함

• Likelihood를 가장 크게 만드는 파라미터 θ^MLE=argmaxθL(θ)\hat{\theta}^{\text{MLE}} = \underset{\theta}{\arg\max} \, \mathcal{L}(\theta)

• Log-Likelihood J(θ)\mathcal{J}(\theta)
: 로그를 취해 Likelihood L(θ)\mathcal{L}(\theta)를 덧셈으로 바꿈

J(θ)=logL(θ)=i=1nlogp(y(i)x(i),θ)\mathcal{J}(\theta)= \log \mathcal{L}(\theta) = \sum_{i=1}^{n} \log p\left(y^{(i)} \mid x^{(i)}, \theta \right)

• 조건부 확률 밀도 함수 (정규분포 가정)
: 주어진 입력 x(i)x^{(i)} 와 파라미터 θ 하에서,
실제 y(i)y^{(i)} 가 관측될 확률을 정규분포 형태로 모델링

p(y(i)x(i),θ)=12πσ2exp((y(i)(wx(i)+b))22σ2)p(y^{(i)} \mid x^{(i)}, \theta) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp \left( -\frac{(y^{(i)} - (wx^{(i)} + b))^2}{2\sigma^2} \right)

(wx(i)+b)2(wx^{(i)} + b)^2 : x(i)x^{(i)}에 대해 모델이 예측한 출력 값
σ2σ^2 : 오차(Residual) 분포의 분산

MLE와 LSE의 연결

J(θ)=logL(w,b)=n2log(2πσ2)12σ2i=1n(y(i)(b+wx(i)))2\mathcal{J}(\theta)= \log \mathcal{L}(w, b) = -\frac{n}{2} \log(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} \left( y^{(i)} - (b + wx^{(i)}) \right)^2

첫 번째 항은 파라미터와 무관한 상수
두 번째 항은 MSE 포함

두 번째 항 12σ2i=1n(y(i)(b+wx(i)))2\frac{1}{2\sigma^2} \sum_{i=1}^{n} \left( y^{(i)} - (b + wx^{(i)}) \right)^2 최소화
= SSE i=1n(y(i)(b+wx(i)))2\sum_{i=1}^{n} \left( y^{(i)} - (b + wx^{(i)}) \right)^2 최소화

→ 오차가 정규분포를 따른다는 가정 하에,
MLE를 통해 구한 최적 파라미터는 최소제곱법으로 구한 파라미터와 일치

θ^MLE=θ^LSE\hat{\theta}_{\text{MLE}} = \hat{\theta}_{\text{LSE}}

Multiple Linear Regression

: 여러 개의 입력 변수(특징)를 이용해서 하나의 출력 값을 예측하는 모델

y=β0+β1x1+β2x2++βkxk+ey = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + e

X=(x1,x2,,xk)X=(x_1, x_2, \ldots, x_k) : 여러 입력 변수들 (독립 변수)
β0,β1,,βk\beta_0, \beta_1, \ldots, \beta_k : 각 변수들 xix_i가 y에 미치는 영향력

Multiple Linear Regression의 목적

: 주어진 데이터에 대해 실제 관측값과 모델의 예측값 사이의 오차(SSE)를 최소화하는 파라미터 β\beta를 구하는 것

SSE=i=1n(y(i)(β0+β1x1(i)++βkxk(i)))2\text{SSE} = \sum_{i=1}^{n} \left( y^{(i)} - \left( \beta_0 + \beta_1 x_1^{(i)} + \cdots + \beta_k x_k^{(i)} \right) \right)^2

각 계수 β₀, β₁, ..., βₖ에 대해 미분한 결과가 0이 되어야 함

SSEβi=0for i=0,1,,k\frac{\partial \, \text{SSE}}{\partial \beta_i} = 0 \quad \text{for } i = 0, 1, \dots, k

행렬로 모델 표현

• 입력 행렬 X
각 행은 하나의 데이터 샘플에 대한 입력값,
첫 번째 열의 1은 절편 β0β_0를 포함시키기 위함

X=[1x11x21xk11x12x22xk21x1nx2nxkn]\mathbf{X} = \begin{bmatrix} 1 & x_{11} & x_{21} & \cdots & x_{k1} \\ 1 & x_{12} & x_{22} & \cdots & x_{k2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{1n} & x_{2n} & \cdots & x_{kn} \end{bmatrix}

• 출력 벡터 y

y=[y(1)y(2)y(n)]\mathbf{y} = \begin{bmatrix} y^{(1)} \\ y^{(2)} \\ \vdots \\ y^{(n)} \end{bmatrix}

• 파라미터 벡터 β

β=[β0β1βk]\quad \boldsymbol{\beta} = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_k \end{bmatrix}

비용 함수 (Sum of Squared Errors, SSE)

SSE=i=1n(y(i)y^(i))2=yXβ2\mathrm{SSE} = \sum_{i=1}^{n} \left( y^{(i)} - \hat{y}^{(i)} \right)^2 = \left\| \mathbf{y} - \mathbf{X} \boldsymbol{\beta} \right\|^2

SSE를 β에 대해 최소화하기 위해 미분하고 0으로 설정

XT(yXβ)=0\mathbf{X}^T(\mathbf{y} - \mathbf{X}\boldsymbol{\beta}) = \mathbf{0}

식을 풀면,

β^=(XTX)1XTy\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}

Polynomial Regression (다항 회귀)

: 데이터가 선형 회귀로 잘 설명되지 않을 때, 좀 더 복잡한 곡선 형태로 모델링하여 데이터의 패턴을 포착하는 방법

빨간 직선 : Linear Regression
파란 직성 : Polynomial Regression

• 다항 회귀식

y=β0+β1x1+β2x2++βpxp+e,eN(0,σ2)y = \beta_0 + \beta_1 x^1 + \beta_2 x^2 + \cdots + \beta_p x^p + e, \quad e \sim \mathcal{N}(0, \sigma^2)

• 입력 벡터 X

X=(x1,x2,,xp)\mathbf{X} = (x^1, x^2, \dots, x^p)

• 새로운 변수 Z 정의 (ziz_i : x의 i 제곱항)

Z=(z1=x1, z2=x2, , zp=xp)\mathbf{Z} = (z_1 = x^1,\ z_2 = x^2,\ \dots,\ z_p = x^p)

• 선형 회귀 형태 변형

y=β0+β1z1+β2z2++βpzp+e,eN(0,σ2)y = \beta_0 + \beta_1 z_1 + \beta_2 z_2 + \cdots + \beta_p z_p + e,\quad e \sim \mathcal{N}(0, \sigma^2)

→ 다항 회귀도 입력 차원만 늘린 선형 회귀 문제로 변형 가능

0개의 댓글