선형 회귀 모형 (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 채널도 운영하고 있습니다.
댓글
댓글 쓰기