1. 회귀 분석이란?
회귀 분석(Regression Analysis)은 변수들 사이의 관계를 모델링하는 통계적 방법입니다. 가장 단순한 예로, '집의 크기'를 알 때 '집의 가격'을 예측하는 모델을 만들 수 있습니다. 이처럼 하나의 변수(독립 변수)를 사용하여 다른 변수(종속 변수)의 값을 예측하는 것이 회귀 분석의 핵심입니다.
회귀 분석 과정은 다음 세 단계로 요약할 수 있습니다.
- 데이터 준비: 예측 모델을 학습시키기 위한 훈련 데이터 세트 $(x, y)$를 준비합니다. 여기서 $x$는 예측에 사용될 독립 변수이고, $y$는 예측하고자 하는 종속 변수입니다.
- 모델 학습: 훈련 데이터를 가장 잘 표현하는 수학적 모델을 정의하고, 데이터에 가장 근접한 예측을 하는 최적의 파라미터(parameter)를 찾습니다.
- 예측: 새로운 데이터의 $x$값이 주어졌을 때, 학습된 모델을 사용하여 $y$값을 예측합니다.
만약 모델이 독립 변수 $x$에 대한 1차 함수(직선) 형태로 표현된다면, 이를 선형 회귀(Linear Regression)라고 합니다. 이때 $x$가 하나의 변수이면 단순 선형 회귀(Simple Linear Regression), 두 개 이상이면 다중 선형 회귀(Multiple Linear Regression)라고 부릅니다.
이 문서에서 사용할 주요 용어는 다음과 같습니다.
- 가설 (Hypothesis): 데이터를 설명하는 모델의 수학적 표현식입니다. ($h_θ(x)$)
- 특성 (Feature): 예측에 사용되는 독립 변수 $x$의 각 요소입니다.
- 비용 함수 (Cost Function): 모델의 예측값과 실제 데이터의 종속 변수 $y$ 값 사이의 오차를 측정하는 함수입니다. ($J(θ)$)
2. 단순 선형 회귀
2.1. 가설
하나의 특성($x$)으로 결과를 예측하는 경우, 가설(모델)은 다음과 같은 간단한 직선 방정식으로 표현할 수 있습니다.
$$h_{\theta }(x)=\theta _0+\theta _1x$$
여기서 $θ_0$는 $y$ 절편(intercept), $θ_1$은 직선의 기울기(slope)를 나타내는 파라미터입니다. 우리의 목표는 주어진 데이터를 가장 잘 설명하는 $θ_0$와 $θ_1$을 찾는 것입니다.
2.2. 비용 함수
최적의 파라미터를 찾기 위해서는 "좋은" 직선과 "나쁜" 직선을 구별할 기준이 필요합니다. 이 기준이 바로 비용 함수입니다. 비용 함수는 모델의 예측값($h_θ(x^{(i)})$)과 실제 값($y^{(i)}$)의 차이, 즉 오차(error)를 측정합니다.
선형 회귀에서는 주로 평균 제곱 오차(Mean Squared Error, MSE)를 비용 함수로 사용합니다.
$$J(\theta )=\frac{1}{2m}\sum _{i=1}^m(h_{\theta }(x^{(i)})-y^{(i)})^2$$
- $m$: 전체 훈련 데이터의 개수
- $(i)$: $i$번째 데이터를 의미
- $(h_θ(x^{(i)})−y^{(i)})^2$: 예측값과 실제 값의 차이를 제곱한 것입니다. 오차가 양수든 음수든 동일하게 취급하고, 오차가 클수록 더 큰 불이익을 주기 위해 제곱을 사용합니다.
- $\frac{1}{2m}$: 모든 데이터의 오차 제곱 합을 평균 내어 정규화합니다. (2로 나누는 것은 나중에 미분 계산을 용이하게 하기 위한 수학적 장치입니다.)
결국, 비용 함수 $J(θ)$의 값을 최소로 만드는 파라미터 $θ$를 찾는 것이 선형 회귀 모델의 학습 목표입니다.
3. 다중 선형 회귀
3.1. 가설
실제 문제에서는 집의 크기, 방의 개수, 역과의 거리 등 여러 특성을 사용하여 집값을 예측하는 경우가 많습니다. 이처럼 $n$개의 특성을 사용하는 경우, 가설은 다음과 같이 확장됩니다.
$$h_{\theta }(x)=\theta _0+\theta _1x_1+\theta _2x_2+\cdots +\theta _nx_n$$
이 식은 행렬을 사용하여 다음과 같이 간결하게 표현할 수 있습니다. ($x_0=1$로 가정)
$$h_{\theta }(x)=\theta ^Tx$$
$$\theta =\begin{bmatrix}θ_0\\θ_1\\\vdots \\θ_n\end{bmatrix},\ x=\begin{bmatrix}x_0\\x_1\\\vdots \\x_n\end{bmatrix}$$
3.2. 비용 함수
다중 선형 회귀의 비용 함수는 단순 선형 회귀와 형태가 동일합니다. 단지 가설 $h_θ(x)$가 여러 특성을 포함하도록 확장되었을 뿐입니다.
$$J(\theta )=\frac{1}{2m}\sum _{i=1}^m(h_{\theta }(x^{(i)})-y^{(i)})^2$$
4. 최적의 파라미터(θ) 찾기
비용 함수 $J(θ)$를 최소화하는 $θ$를 찾는 대표적인 방법 두 가지는 경사 하강법과 정규 방정식입니다.
4.1. 경사 하강법 (Gradient Descent)
경사 하강법은 비용 함수의 값이 최소가 되는 지점을 찾아 반복적으로 파라미터를 업데이트하는 알고리즘입니다. 마치 안개 속에서 산을 내려올 때, 현재 위치에서 가장 가파른 경사를 따라 한 걸음씩 내려가는 것과 같습니다.
파라미터 업데이트 규칙은 다음과 같습니다.
$$\theta _j:=\theta _j-\alpha \frac{\partial }{\partial \theta _j}J(\theta )$$
- $θ_j$: 업데이트할 파라미터 (예: $θ_0$, $θ_1$, …)
- $α$: 학습률(Learning Rate). 한 번에 얼마나 크게 파라미터를 업데이트할지 결정합니다. 너무 크면 최저점을 지나쳐 버리고, 너무 작으면 학습 시간이 오래 걸립니다.
- $\frac{\partial}{\partial θ_j}J(θ)$: 비용 함수를 $θ_j$에 대해 편미분한 값으로, 현재 위치에서의 기울기(gradient)를 의미합니다.
비용 함수를 편미분한 결과는 다음과 같습니다.
$$\frac{\partial }{\partial \theta _j}J(\theta )=\frac{1}{m}\sum _{i=1}^m(h_{\theta }(x^{(i)})-y^{(i)})x_j^{(i)}$$
이 업데이트 규칙을 비용 함수가 더 이상 줄어들지 않을 때까지 모든 $j$에 대해 동시에 반복하여 최적의 $θ$를 찾습니다.
4.2. 정규 방정식 (Normal Equation)
정규 방정식은 반복적인 과정 없이, 수학 공식을 통해 최적의 $θ$를 한 번에 계산하는 방법입니다. 비용 함수의 기울기가 0이 되는 지점을 미분을 통해 직접 찾는 원리입니다.
$$\theta =(X^TX)^{-1}X^Ty$$
여기서 $X$와 $y$는 다음과 같습니다.
$$X=\begin{bmatrix}x_0^{(1)}&x_1^{(1)}&x_2^{(1)}&\cdots \\x_0^{(2)}&x_1^{(2)}&x_2^{(2)}&\cdots \\x_0^{(3)}&x_1^{(3)}&x_2^{(3)}&\cdots \\\vdots &\vdots &\vdots &\ddots \end{bmatrix},\quad y=\begin{bmatrix}y^{(1)}\\y^{(2)}\\y^{(3)}\\\vdots \end{bmatrix}$$
- $X$: 각 훈련 데이터의 특성들을 행으로 하는 행렬
- $y$: 각 훈련 데이터의 실제 결과값을 담은 벡터
이 방식은 경사 하강법과 달리 학습률 $α$를 정할 필요가 없다는 장점이 있습니다. 하지만 다음과 같은 단점도 존재합니다.
- 행렬의 역행렬($(X^TX)^{-1}$)이 존재하지 않을 수 있습니다.
- 특성($n$)의 수가 매우 많아지면(예: 10,000 이상), 역행렬 계산 비용이 경사 하강법보다 훨씬 커집니다.
'데이터 분석 > 회귀 분석' 카테고리의 다른 글
| 베르훌스트의 인구 증가 모델과 로지스틱 곡선 (0) | 2025.10.25 |
|---|---|
| 로지스틱 회귀: 오즈(Odds)와 오즈비(Odds Ratio) (0) | 2025.10.20 |
| 로지스틱 회귀: 오즈, 로짓 함수, 로지스틱 함수의 관계 (0) | 2025.10.19 |
| 로지스틱 회귀: 모델, 비용 함수, 파라미터 찾기 (0) | 2025.10.18 |
| 회귀(Regression)라는 용어를 쉽게 설명하는 방법 (0) | 2025.10.17 |