본문 바로가기
Computer Science/Machine Learning

Linear Regression : Multi Linear Regression (1)

by BaekDaBang 2024. 3. 23.

1. 다중선형회귀(Multiple Linear Regression)

수치형 설명변수 X와 연속형 숫자로 이루어진 종속변수 Y간의 관계를 선형으로 가정하고, 이를 가장 잘 표현할 수 있는 회귀계수를 데이터로부터 추정하는 모델이다.

 

2. 다중선형회귀 모델 방정식

 

3. 회귀 계수 결정법 : Direct Solution

선형회귀 계수들은 실제값(Y)과 모델 예측값(Y')의 차이, 오차제곱합(Sum of squares for error, $SSE = \sum (y_i - y'_i) ^{2}$)을 최소로 하는 값을 회귀 계수로 선정한다. 최적의 계수들은 회귀 계수에 대해 미분한 식을 0으로 놓고 풀면 명시적인 해를 구할 수 있다.

$\overrightarrow{\beta } = (X^{T}X)^{-1}X_T\overrightarrow{y}$

 

4. 회귀 계수 결정법 : Numerical Search

Gradient descent(경사하강법) 같은 반복적인 방식으로 선형회귀 계수를 구할 수 있다. Gradient descent란 어떤 함수값(목적함수, 비용함수, 에러값)을 최소화하기 위해 임의의 시작점을 잡은 후 해당 지점에서의 gradient(경사)를 구하고, gradient의 반대 방향으로 조금씩 이동하는 과정을 여러 번 반복하는 것이다.

 

경사하강법의 종류

GD (Batch Gradient Descent)

  • 파라미터를 업데이트할 때마다, 모든 학습 데이터를 사용하여 cost function의 gradient를 계산
  • Vanilla Gradient Descent

  • 낮은 학습 효율

SGD (StochasticGradientDescent)

  • 파라미터를 업데이트할 때마다, 무작위로 샘플링된 학습 데이터를 하나씩만 사용하여 cost function의 gradient를 계산
  • 모델을 자주 업데이트하며, 성능 개선 정도를 빠르게 확인 가능하다.
  • Local minima에 빠질 가능성을 줄일 수 있다.
  • 최초 cost에 수렴했는지의 판단이 상대적으로 어렵다.

Mini Batch Gradient Descent

  • 파라미터를 업데이트할 때마다, 일정량의 일부 데이터를 무작위로 사용하여 cost function의 gradient를 계산
  • GD와 SGD 개념의 혼합
  • SGD의 노이즈를 줄이면서, GD의 전체배치보다 효율적이다.
  • 널리 사용되는 기법

 

5. 정규화 (Regularization)

회귀계수가 가질 수 있는 값에 제약 조건을 부여하여 미래 데이터에 대한 오차를 기대한다. 미래 데이터에 대한 오차의 기댓값은 모델의 bias와 variance로 분해 가능하다. 정규화는 variance를 감소시켜(이 과정에서 bias가 증가할 수 있음) 일반화 성능을 높이는 기법이다.

왼쪽 그림은 학습데이터를 잘 맞추고 있지만, 미래데이터가 조금만 바뀌어도 예측값이 들쭉날쭉할 수 있다. 우측 그림은 가장 강한 수준의 정규화를 수행한 결과로 학습데이터에 대한 설명력을 다소 포기하는 대신 미래 데이터 변화에 상대적으로 안정적인 결과를 나타낸다.

 

6. Bias-Variance Decomposition

일반화(generalization) 성능을 높이는 정규화(regularization), 앙상블(ensemble) 기법의 이론적 배경이다. 학습에 쓰이지 않은 미래데이터에 대한 오차의 기댓값을 모델의 bias와 variance로 분해한다. 

 

 첫번째 그림을 보면 예측값(파란색 X)의 평균이 과녁(truth)과 멀리 떨어져 있어 bias가 크고, 예측값들이 서로 멀리 떨어져 있어 variance 또한 크다. 네번째 그림의 경우 bias, variance 모두 작아 제일 이상적이다. 부스팅(boosting)은 bias를 줄여 성능을 높이고, 라쏘 회귀(Lasso regression)는 variance를 줄여 성능을 높이는 기법이다.

 

7. 다중선형회귀 예시

(1) 33명의 성인 여성에 대한 나이와 혈압 데이터

  • 오차제곱합을 최소로 하는 회귀계수 계산 결과 및 분석
  • SBP = 81.54 + 1.222AGE
  • 나이라는 변수에 대응하는 계수는 1.222로 나타났는데, 이는 나이를 한 살 더 먹으면 혈압이 1.222mm/Hg만큼 증가한다는 결과를 보여준다.

(2) 33명의 성인 여성에 대한 나이(Age)와 암 발병(CD) 데이터

  • 오차제곱합을 최소로 하는 회귀계수 계산 결과 및 분석
  • 다중선형회귀 모델 적용 불가하다. 범주형 숫자(암 발병 여부)는 연속형 숫자(혈압)와 달리 의미를 지니지 않는다. 즉, 0(정상)과 1(발병)을 서로 바꾸어도 상관 없다. → 범주형 숫자는 로지스틱 회귀 모델 적용 가능