선형 회귀 모형 (linear regression model)

+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.

- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,

- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc

- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.


+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.



1. 선형회귀 모형 overview

1-1. 단순 회귀 분석 (simple linear regression)

- 데이터 예시

신장 (X) 체중 (Y)
170 71
175 75
163 61
... ...

- 독립변수1개, 종속변수1개로 이루어진다.

- 종속변수는 연속형 (구간척도, 비율척도) 자료이다.

- 단순 회귀 분석 모형의 방정식 형태 예시

$$$y = \beta_0 + \beta_1x_1 + \epsilon$$$

- 위 방정식은 실세계의 패턴을 모델링한다. 따라서, 우리가 어쩔수 없는 에러 $$$\epsilon$$$ 항이 방정식에 포함되어있다.

- 위의 true 모형은 사실상 우리가 알 수 없는 것이고, 이것과 가장 근사하게, 즉, $$$\epsilon$$$ 을 최소화하면서 (최소 제곱 추정법 등 사용) , 회귀계수들 $$$\beta$$$ 를 추정된 회귀계수 $$$\hat{\beta}$$$ 로 추정한다. 그러면 $$$\epsilon$$$ 항이 없어진 아래의 추정된 선형회귀모형 방정식을 얻을 수 있다.

$$$\hat{y} = \hat{\beta}_0 + \hat{\beta}_1x_1$$$

1-2. 다중 회귀 분석 (multiple linear regression)

- 데이터 예시

신장 (X1) 성별 (X2) 체중 (Y)
170 1 71
175 1 75
163 2 61
... ... ...

- 독립변수2개 이상, 종속변수1개로 이루어진다.

- 다중 회귀 분석 모형의 방정식 형태 예시

$$$y = \beta_0 + \beta_1x_1+\beta_2x_2 + \epsilon$$$

1-3. 다항 회귀 모형 (polynomial regression model) 과 구분

- 다중 회귀 분석에서 독립변수 X 의 개수가 늘어나면 모형의 존재하는 공간이 2차원, 3차원으로 늘어나는 것이지 모형 자체는 여전히 선형 모형이다.

2차원 선형 회귀 모형

3차원 선형 회귀 모형


- 다항 회귀 모형은 독립변수에서 차수를 높여 비선형 모형을 만드는 방법이다.


- 다항 회귀 모형 방정식 형태 예시

$$$y = \beta_0 + \beta_1x_1 + \beta_2x_2^2 + \beta_3x_3^3 + \epsilon$$$



2. 선형회귀 모형 정의

- n개의 객체가 있다고 한다.

- i번째 객체의 연속형 목표변수를 $$$y_i$$$ 라 하자.

- i번째 객체의 종속변수들의 값을 $$$x_{1i}, x_{2i}, x_{3i}, \cdots, x_{pi}$$$ 라 하자. (feature p개)

- 데이터 구조로 표현하면 아래와 같다.

$$$X_1$$$ $$$X_2$$$ ... $$$X_p$$$ Y
... ... ... ... ...
$$$x_{1i}$$$ $$$x_{2i}$$$ ... $$$x_{pi}$$$ $$$y_i$$$
... ... ... ... ...

- 그러면, true 선형회귀 모형은 아래처럼 정의된다.

$$$y_i = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_px_{pi}+\epsilon_i$$$, where, $$$i=1, \cdots, n$$$ (객체가 n개 이므로)

- $$$\beta_0, \beta_1, \cdots, \beta_p$$$ 를 회귀 모수 (regression parameters) 또는 회귀 계수 (regression coefficient) 라고 한다. 이 값들은 알려지지 않은 상수이다. 데이터에 기반해서 최적인 값으로 찾아야 (추정해야) 하는 값이다.

- $$$\epsilon$$$ : 실세계의 정답값 $$$y_i$$$ 안에 포함되어있는 어쩔 수 없는, 모델링 할 수 없는 에러값이다.

- 각 객체들의 에러들은 서로 독립이고, 평균이 0이고 일정한 분산을 가진 정규분포를 따른다고 가정한다.

$$$\epsilon_1$$$ : 객체1의 에러항

$$$\epsilon_2$$$ : 객체2의 에러항

...

$$$\epsilon_n$$$ : 객체n의 에러항

$$$\epsilon_1, \epsilon_2, \cdots, \epsilon_n$$$ : 서로 독립, 평균0이고 분산이 일정한 정규분포를 따름



3. 회귀 모수의 추정

- 각 관측치로부터 회귀 직선까지 수직 거리 제곱의 합을 최소화하는 회귀모수를 찾는 방법 (최소 제곱 추정법, least square estimation, LSE) 를 주로 사용한다.

- 아래의 식에서 $$$\epsilon_i$$$ 을 최소화하면서 최적의 $$$\beta$$$ 를 찾는다.

$$$y_i = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_px_{pi}+\epsilon_i$$$

- $$$\epsilon_i$$$ 에 관해 정리한다.

$$$\epsilon_i = y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi}$$$

- 양변을 제곱한다.

$$$\epsilon_i^2 = (y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi})^2$$$

- 객체 1부터 n까지 값들을 합한다.

$$$\sum\limits_{i=1}^{n}\epsilon_i^2 = \sum\limits_{i=1}^{n} \left[ (y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi})^2\right]$$$

- 위의 값을 최소화해주는 beta 들을 찾기위해, 각각의 $$$\beta_0, \beta_1, \cdots$$$ 로 편미분한다.

$$$\dfrac{\partial}{\partial \beta_0} \sum\limits_{i=1}^{n}\epsilon_i^2 = \dfrac{\partial}{\partial \beta_0} \sum\limits_{i=1}^{n} \left[ (y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi})^2\right] = 0$$$

$$$\dfrac{\partial}{\partial \beta_1} \sum\limits_{i=1}^{n}\epsilon_i^2 = \dfrac{\partial}{\partial \beta_1} \sum\limits_{i=1}^{n} \left[ (y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi})^2\right] = 0$$$

$$$\dfrac{\partial}{\partial \beta_2} \sum\limits_{i=1}^{n}\epsilon_i^2 = \dfrac{\partial}{\partial \beta_2} \sum\limits_{i=1}^{n} \left[ (y_i - \beta_0 - \beta_1x_{1i} - \beta_2x_{2i} - \cdots - \beta_px_{pi})^2\right] = 0$$$

...

- 위에서 정리된 식을 연립방정식으로 풀어서 추정된 $$$\hat{\beta}_0, \hat{\beta}_1, \hat{\beta}_2, \cdots$$$ 를 구한다.

- 추정된 회귀 모형은 아래와 같다.

$$$\hat{y}_i = \hat{\beta}_0 + \hat{\beta}_1x_{1i} + \hat{\beta}_2x_{2i} + \cdots + \hat{\beta}_px_{pi}$$$



4. 회귀 계수의 해석

- 회귀 계수 $$$\beta_j$$$ 는 다른 입력 변수들이 일정할 때, $$$j$$$번째 feature 가 한단위 변동할 때, 예측값 $$$y$$$ 의 변동 양으로 해석한다.

- 회귀 계수 $$$\beta_j$$$ 가 양수라면, $$$x_j$$$ 가 증가할 때, $$$y$$$도 증가하고, $$$\beta_j$$$ 가 음수라면, $$$x_j$$$ 가 증가하면, $$$y$$$는 감소한다.



5. 모형을 이용한 예측

- 주어진 데이터에 기반하여 위의 회귀식을 얻었다.

- 임의의 객체 $$$i^*$$$ 에 대해, 관측된 독립변수의 값이 $$$x_{1i^*}, x_{2i^*}, \cdots, x_{pi^*}$$$ 라면, 이 값들을 회귀식에 대입하면, 종속변수의 예측값 $$$\hat{y}_{i^*}$$$ 을 얻을 수 있음.

$$$\hat{y}_{i^*} = \hat{\beta}_0 + \hat{\beta}_1x_{1i^*} + \hat{\beta}_2x_{2i^*} + \cdots + \hat{\beta}_px_{pi^*}$$$



6. 선형 회귀 모형의 예측력

- 종속변수가 연속형 자료일 때, 주로 사용되는 예측력 척도는 MSE (Mean Squared Error) 이다.

$$$MSE = \sum\limits_{i=1}^{n} \dfrac{(y_i-\hat{y}_i)^2}{n}$$$

- 산출된 예측력에서, 불편성 (unbiasedness) 를 가지게 하기 위해 n대신 (n-p-1) 로 나누기도 한다.

- 시각적으로 선형회귀 모형의 예측력을 확인하려면, 관측값 ($$$y_i$$$) 과 예측값 ($$$\hat{y}_i$$$) 을 가로축 및 세로축에 놓고 산점도 플롯을 그렸을 때, 포인트들이 45도 대각선 중심에 모여있으면 좋은 예측력으로 평가할 수 있다.





+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.

- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,

- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc

- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.


+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.

댓글

이 블로그의 인기 게시물

[논문 full 번역 + 이해를 위한 추가설명] CRNN, An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

[논문 full 번역 + 이해를 위한 추가설명] DQN, Playing Atari with Deep Reinforcement Learning

CUDA 와 CuDNN 의 설치, 삭제 및 버전 변경