본문 바로가기
실습 & 활동/LG Aimers

Module 3. 지도학습 (분류/회귀) - Linear Regression

by sim0609 2023. 1. 16.

Linear Regression Model

: model의 출력이 연속적인 값을 가짐

: 연속되는 출력을 예측하기 위해 label(정답)이 있는 dataset을 사용

 

 

Linear Model

: 선형모델에서의 Hypothesis set H는 X(input feature)θ(model parameter)의 

linear combination으로 구성

 

 

: 선형 모델이라고 해서 입력 변수 X에 대해서는 선형일 필요가 없음

 

 

선형 모델의 장점

  • Simplicity : 모델이 단순해 성능 측정이 쉽고 해석이 간단함
  • Generalization : 모델이 안정적인 성능 제공 가능(모델 변동이 심하지 않음

 

Feature organization

: feature를 추출하는 과정도 매우 중요

: 의미 없는 feature를 사용할 경우 학습의 의미가 없어짐

: feature extractor를 통해 입력의 다양한 특징을 추출 가능

: 입력 feature로부터 θ(model parameter)와의 linear combination을 통해 Hypothesis 함수 구성

 

 

Linear Regression 예시

: 사용하는 data sample의 구성은 입력 x와 출력 y의 pair로 구성

: 여기서 y는 연속적인 값

 

Univariate problem

: 입력 변수가 1개인 문제

 

Multivariate problem

: 입력 변수가 2개 이상인 문제

 

 

Linear Regression Framework

: 주어진 입력에 대해 출력과의 선형적인 관계를 추론하는 문제

 

고려해야할 3가지 요소

  • 어떤 predictor를 이용할 것인지 → Hypothesis class / ex. Univariate linear model
  • predictor의 성능은 얼마나 좋은지 Loss Function / ex. MeanSquaredError(MSE) 최소화
  • 최고의 predictor를 만드려면 어떻게 해야하는지, 어떻게 파라미터를 구하는지  Optimization algorithm / ex. Gradient descent algorithm, Normal equation

 

 

Linear regression: parameter optimization

: 모델의 좋은 성능을 위해 파라미터를 최적화해야 함

: 모델 파라미터가 달라짐에 따라 주어진 데이터를 fitting 하는 과정에서 오차가 발생할 수 있음

: 여기서 θ_0는 offset(편향)임

 

 

L2 cost function (Goal : minimizing MSE)

: 선형모델의 목적은 cost function(손실 함수)을 최소화하는 θ_0, θ_1을 찾는 것

가장 데이터에 fitting 하는 선형 모델을 찾게 해줌

: cost function == J(θ_0, θ_1)

 

→ 세타들에 의해 cost function이 0이 되는 값의 확보가 목표

 

 

: loss function이 가장 낮을 때 θ_0과 θ_1이 가장 최적화된 모델임을 알 수 있음

 

 

Optimization -Matrix representation in data

parameter optimization → cost function을 최소화 하는 θ를 구하는 과정

 

- X_m은 1 * (d+1) 차원임에 유의 → offset인 θ_0(b)를 포함시키기 때문에 X_m은 d+1개

 

- parameter도 (d+1) 차원임에 유의 → offset인 θ_0(b)부터 θ_d까지 존재하기에 parameter도 d+1개

 

- y: label(정답) / Xθ: score(모델 출력)

 

: learning parameter θ는 X와 선형 결합을 통해 Xθ(score)로 이루어지게 됨

 

 

Optimization -Getting a solution θ

: parameter θ(가중치)를 최적화하는 과정으로 분석적 해 구하기

: 손실함수를 θ(가중치)에 대해 미분했을 때 0이라는 식을 통해 손실함수를 최소화하는 θ를 구하는 방식

: Least Square Problem(과정)

: Normal Equation(방정식)

 

problem)

: data의 샘플 숫자가 늘어나는 경우 비효율적임

전치행렬 등을 구하는 과정에서 너무 큰 복잡도가 발생하여 효율적이지 못하며 전치행렬이 없는

데이터 샘플도 존재하기 때문 

 

solution) 

: gradient descent를 통해 최적의 paramter를 구하기

 

 

 

Iterative optimization by gradient descent

Gradient: 해당 함수의 변화하는 정도를 표현하는 값

 

: error surface에서 최소인 포인트(gradient가 0인 지점)를 찾아나가는 반복과정을 통해 파라미터 θ를 바꾸며 gradient가 0인 지점을 찾아나감

: 하강 기울기가 가장 큰 쪽으로 반복적으로 내려가며, error surface에서 가장 낮은 지점을 찾아감

 

 

아래의 식처럼 최적의 파라미터를 찾을 때까지 파라미터를 업데이트 함

여기서, a는 학습률이고 파라미터의 업데이트 속도를 조절하는 역할

 

 

a가 큰 경우

: weight 최소 지점에 수렴이 어려움

 

a가 작은 경우

: weight 최소 지점 수렴까지 너무 오랜 시간이 걸림

 

 

Error surface

Global optimum

: error surface에서 가장 최소인 값을 갖는 지점

 

Local optimum

: 특정 구역에서는 최소이지만 전체 영역에서는 최소가 아닌 지점

 

 

아래 그래프와 같은 Local Minima와 Saddle points를 해결하기 위해 stochastic gradient descent, mini batch 방식을 이용할 수 있음