엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다.
✅ 회귀 분석
머신러닝은 지도학습, 비지도학습, 강화학습으로 나뉘는데 지도학습은 다시 회귀 분석과 분류로 나뉜다.
즉, 회귀 분석은 지도학습에 속하므로 input과 output data를 가지고 예측 모델을 만든다.
회귀 분석(Regression Analysis)은 가장 넓은 의미로는 독립변수(x)로 종속변수(y)를 예측하는 것을 의미한다.
여기서 독립변수란 변수의 변화 원인이 모형 밖에 있는 변수, 종속변수란 변수의 변화 원인이 모형 안에 있는 변수이다.
독립변수는 다른 변수의 변화와 관계없이 독립적으로 변하고 다른 변수의 값을 결정한다.
이때 독립변수에 의해 결정되는 값이 종속변수이다.
✅ 선형회귀분석
회귀 분석을 좀 더 좁은 의미로 말할 때는 종속변수가 연속인 경우를 말한다.
선형 회귀 분석(Linear Regression)은 독립변수와 종속변수 사이의 직선적인 형태의 관계가 있다고 가정한다.
직선적인 형태란 독립변수가 일정하게 증가하면 종속변수도 그에 비례해서 일정하게 증가하거나 감소하는 형태를 말한다.
선형 모형에서 \(x\) 와 \(y\) 의 관계를 수식으로 나타내면 다음과 같다.
$$y=wx + b$$
독립변수 \(x\) 가 1 증가할 때마다 종속변수 \(y\) 는 \(w\) 만큼 증가한다.
이때 \(w\) 를 회귀계수(cofficient)라고 한다.
편의상 \(w\) 와 \(b\) 의 값을 각각 1로 두고 위 식을 그래프로 표현하면 위와 같다.
즉, 회귀계수 \(w\) 는 직선의 기울기(slope)가 된다.
또한 위 식에서 \(x = 0\) 이면 \(y=b\) 이다.
이를 y절편 또는 절편(intercept)이라고 한다.
✅ 단순 선형 회귀 분석
단순 선형 회귀 분석(Simple Linear Regression)은 선형 회귀 분석 중 주어진 문제가 input data와 output data가 각 하나씩 존재하는 단순한 문제인 경우라고 생각하면 된다.
단순 선형 회귀 분석에서의 변수 표기는 다음과 같다.
- \(N\) : 데이터의 개수
- \(X\) : Input, 데이터/Feature
- \(Y\) : Output, 해답/응답
- \((x^{(i)},y^{(i)})\) : i번째 데이터
선형 회귀 분석이므로 \(X\) 와 \(Y\) 는 선형적인 관계를 가진다고 가정한다.
따라서 이때 다음과 같은 식을 얻을 수 있다.
$$Y \sim \beta_{0}X + \beta_{1}$$
완벽한 예측은 불가능하므로 모델의 학습 목표는 각 데이터 \((x^{(i)},y^{(i)})\) 의 실제 값과 모델이 예측하는 값의 차이를 최소한으로 하는 \(\beta\) 값들을 찾는 것이다.
i 번째 데이터 \((x^{(i)},y^{(i)})\) 에 대한 계산 과정은 다음과 같다.
- 실제 값 : \(y^{(i)}\)
- 예측 값 : \(\beta_{0}x^{(i)}+\beta_{1}\)
- 차이 : \(y^{(i)}-(\beta_{0}x^{(i)}+\beta_{1})\)
따라서 전체 모델의 차이는 \(\sum_i^Ny^{i}-(\beta_{0}x^{(i)}+\beta_{1})\) 이다.
하지만 이때 각 모델들이 다음의 관계를 가지고 있다면 제대로된 분석이 어려울 수 있다.
\(\sum_i^Ny^{i}-(\beta_{0}x^{(i)}+\beta_{1})\) 의 값이 0이 되어버리기 때문이다.
이러한 반례가 존재하기 때문에 i번째 데이터에서 구한 실제값과 예측값의 차이를 제곱해 무조건 0 이상의 값을 가지도록 만든다.
결론적으로 단순 선형 회귀 분석은 \(\sum_i^N(y^{i}-(\beta_{0}x^{(i)}+\beta_{1}))^{2}\) 이라는 loss function을 가지며 이 차이를 최소로 하는 \(\beta_{0}\) 과 \(\beta_{1}\) 을 구하는 게 목표이다.
$$ arg \min_{\beta_{0},\beta_{1}}(y^{i}-(\beta_{0}x^{(i)}+\beta_{1}))^{2} $$
✅ 다중 선형 회귀 분석
다중 선형 회귀 분석(Multiple Linear Regression)은 단순 선형 회귀 분석보다 데이터가 좀 더 복잡한 경우에 사용한다.
단순 선형 회귀 분석이 각 하나의 input, output data 쌍을 가지고 있었다면 다중 선형 회귀 분석은 여러 개의 input data와 하나의 output data가 존재한다.
다중 선형 회귀 분석에서의 변수 표기는 다음과 같다.
- \(N\) : 데이터의 개수
- \(X\) : Input, 데이터/Feature
- \(X_{1},X_{2},X_{3},...\)
- \(Y\) : Output, 해답/응답
- \((x_{1}^{(i)},x_{2}^{(i)},x_{3}^{(i)},...,y^{(i)})\) : i번째 데이터
다중 선형 회귀 분석을 푸는 방법은 단순 선형 회귀 분석과 동일하다.
완벽한 예측은 불가능하니 \(Y \sim \beta_{0}X_{1} + \beta_{1}X_{2} + \beta_{2}X_{3} + \beta_{3}\) 과 같은 식에서 각 데이터 \((x_{1}^{(i)},x_{2}^{(i)},x_{3}^{(i)},...,y^{(i)})\) 의 실제 값과 모델이 예측하는 값의 차이를 최소한으로 하는 \(\beta\) 들의 값을 구하는 것이다.
input으로 주어진 \(X\)가 \(X_{1},X_{2},X_{3}\)이라고 할 때,
i번째 데이터 \((x_{1}^{(i)},x_{2}^{(i)},x_{3}^{(i)},y^{(i)})\)의 계산 과정은 다음과 같다.
- 실제 값 : \(y^{(i)}\)
- 예측 값 : \(\beta_{0}x_{1}^{(i)} + \beta_{1}x_{2}^{(i)} + \beta_{2}x_{3}^{(i)} + \beta_{3}\)
- 차이의 제곱 : \((y^{(i)}-(\beta_{0}x_{1}^{(i)} + \beta_{1}x_{2}^{(i)} + \beta_{2}x_{3}^{(i)} + \beta_{3}))^{2}\)
결론적으로 다중 선형 회귀 분석은 \(\sum_i^N(y^{(i)}-(\beta_{0}x_{1}^{(i)} + \beta_{1}x_{2}^{(i)} + \beta_{2}x_{3}^{(i)} + \beta_{3}))^{2}\) 이라는 loss funtion을 가지며 이 차이를 최소로 하는 \(\beta_{0},\beta_{1},\beta_{2},\beta_{3}, ...\)을 구하는 것이 목표이다.
✅ 다항식 회귀 분석
다항식 회귀 분석(Polynomial Linear Regression)은 \(Y = \beta_{0}X^{2} + \beta_{1}X + \beta_{2}\) 처럼 독립변수 \(X\)의 차수가 일차식이 아닌 경우이다.
단순 선형 모델보다 조금 더 데이터에 맞게 학습할 수 있다는 장점이 있다.
다항식 회귀 분석은 각 독립 변수들을 차수에 상관없이 단순히 하나의 input data로 생각하면 다중 회귀 분석과 동일해진다.
그러니까 \(Y = \beta_{0}X^{2} + \beta_{1}X + \beta_{2}\) 의 식에서 \(X^{2}\) 을 \(X_{1}\)으로, \(X\) 를 \(X_{2}\) 로 치환하면 \(Y = \beta_{0}X_{1} + \beta_{1}X_{2} + \beta_{2}\) 와 같은 다중 회귀 분석식을 얻을 수 있는 것이다.
이러한 방법을 통해 다항식 회귀 분석 계산이 가능해진다.
🔍 참조
회귀분석이란 무엇인가 https://mindscale.kr/course/basic-stat-r/regression-intro/
독립변수 https://www.scienceall.com/%EB%8F%85%EB%A6%BD%EB%B3%80%EC%88%98independent-variable/
'엘리스 AI 트랙 4기 > Data Analysis Study' 카테고리의 다른 글
[인공지능/머신러닝 기초] 선형대수 기초 (0) | 2022.02.12 |
---|---|
[프로그래밍수학] 확률 (0) | 2022.02.10 |
[프로그래밍수학] 순열과 조합 (0) | 2022.02.10 |
[프로그래밍수학] 수열 (0) | 2022.02.10 |
[프로그래밍수학] 소수 (0) | 2022.02.10 |
댓글