선영 회귀(Linear Regression)는 머신러닝과 통계학에서 가장 기본적이고 널리 사용되는 예측 모델 중 하나입니다. 선형 회귀는 주어진 독립 변수(입력 변수)와 종속 변수(출력 변수) 간의 선형 관계를 모델링하여 연속적인 출력 변수를 예측하는 데 사용됩니다. 본 글에서는 선형 회귀의 개념, 수학적 배경, 주요 알고리즘, 평가 방법, 응용 사례 및 한계점 등에 대해 자세히 설명하겠습니다.
1. 선형 회귀의 개념
1.1 정의
선형 회귀는 두 변수 간의 관계를 직선(또는 초평면)으로 나타내는 회귀 분석의 한 방법입니다. 이 모델은 독립 변수 XXX가 종속 변수 YYY에 미치는 영향을 설명하기 위해 사용되며, 그 관계를 수학적으로 표현합니다. 선형 회귀의 목표는 주어진 데이터로부터 직선의 방정식을 학습하여 새로운 데이터에 대한 예측을 수행하는 것입니다.
1.2 수학적 표현
선형 회귀 모델은 다음과 같은 형태의 방정식으로 표현됩니다: Y=β0+β1X1+β2X2+⋯+βnXn+ϵY = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_n X_n + \epsilonY=β0+β1X1+β2X2+⋯+βnXn+ϵ 여기서: - YYY는 종속 변수(예측하려는 값) - XiX_iXi는 독립 변수(입력 변수) - βi\beta_iβi는 회귀 계수(각 독립 변수의 가중치) - β0\beta_0β0는 절편(intercept) - ϵ\epsilonϵ은 오 차 항(실제 값과 예측 값의 차이)
2. 선형 회귀의 수학적 배경
2.1 최소제곱법 (Least Squares Method)
선형 회귀의 주요 목표는 회귀 계수 β\betaβ를 추정하여 예측 값과 실제 값 간의 차이를 최소화하는 것입니다. 이를 위해 최소제곱법이 사용됩니다. 최소제곱법은 데이터 포인트와 회귀 직선 사이의 수직 거리를 제곱하여 그 합을 최소화하는 방법입니다. 잔차(residual)는 각 데이터 포인트의 실제 값과 예측 값 간의 차이를 나타냅니다: ei=yi−yi^e_i = y_i - \hat{y_i}ei=yi−yi^ 여기서 yiy_iyi는 실제 값, yi^\hat {y_i} yi^는 예측 값입니다. 최소제곱법은 잔차 제곱합을 최소화하는 β\betaβ 값을 찾습니다: minβ∑i=1n(yi−β0−β1xi1−⋯−βnxin)2\min_\beta \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_n x_{in})^2minβ∑i=1n(yi−β0−β1xi1−⋯−βnxin)2
2.2 정규방정식 (Normal Equation)
정규방정식은 최소제곱 문제의 해를 구하는 데 사용되는 방정식입니다. 행렬 형태로 표현된 선형 회귀 문제를 해결할 수 있습니다. 주어진 데이터 행렬 XXX와 출력 벡터 YYY에 대해, 회귀 계수 벡터 β\betaβ는 다음과 같이 계산됩니다: β=(XTX)−1XTY\beta = (X^T X)^{-1} X^T Yβ=(XTX)−1XTY 여기서 XTX^TXT는 XXX의 전치 행렬, X−1X^{-1}X−1는 XXX의 역행렬입니다. 정규방정식을 통해 계산된 β\betaβ는 잔차 제곱합을 최소화하는 해를 제공합니다.
3. 선형 회귀 (Linear Regression)의 주요 알고리즘
3.1 단순 선형 회귀 (Simple Linear Regression)
단순 선형 회귀는 하나의 독립 변수와 하나의 종속 변수 간의 관계를 모델링합니다. 예를 들어, 특정 지역의 주택 면적과 가격 간의 관계를 분석할 때 사용할 수 있습니다. 단순 선형 회귀 모델은 다음과 같이 표현됩니다: Y=β0+β1X+ϵY = \beta_0 + \beta_1 X + \epsilonY=β0+β1X+ϵ
3.2 다중 선형 회귀 (Multiple Linear Regression)
다중 선형 회귀는 여러 개의 독립 변수와 종속 변수 간의 관계를 모델링합니다. 이는 보다 복잡한 문제를 해결할 수 있으며, 주택 가격 예측에서 면적, 방의 개수, 위치 등의 여러 변수를 동시에 고려할 수 있습니다. 다중 선형 회귀 모델은 다음과 같이 표현됩니다: Y=β0+β1X1+β2X2+⋯+βnXn+ϵY = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_n X_n + \epsilonY=β0+β1X1+β2X2+⋯+βnXn+ϵ
3.3 릿지 회귀 (Ridge Regression)
릿지 회귀는 과적합 문제를 해결하기 위해 L2 규제를 추가한 선형 회귀 모델입니다. 릿지 회귀는 손실 함수에 규제 항을 추가하여 회귀 계수의 크기를 제한합니다. 릿지 회귀의 손실 함수는 다음과 같이 표현됩니다: L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ∑j=1nβj2L(\beta) = \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_n x_{in})^2 + \lambda \sum_{j=1}^{n} \beta_j^2L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ∑j=1nβj2 여기서 λ\lambdaλ는 규제 강도를 조절하는 하이퍼파라미터입니다.
3.4 라쏘 회귀 (Lasso Regression)
라쏘 회귀는 과적합 문제를 해결하기 위해 L1 규제를 추가한 선형 회귀 모델입니다. 라쏘 회귀는 손실 함수에 규제 항을 추가하여 불필요한 변수의 회귀 계수를 0으로 만들어 변수 선택(feature selection)을 수행합니다. 라쏘 회귀의 손실 함수는 다음과 같이 표현됩니다: L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ∑j=1n∣βj∣L(\beta) = \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_n x_{in})^2 + \lambda \sum_{j=1}^{n} |\beta_j|L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ∑j=1n∣βj∣
3.5 엘라스틱 넷 (Elastic Net)
엘라스틱 넷은 릿지 회귀와 라쏘 회귀의 규제를 동시에 적용한 모델입니다. 엘라스틱 넷은 두 규제의 장점을 결합하여 더 나은 성능을 제공합니다. 엘라스틱 넷의 손실 함수는 다음과 같이 표현됩니다: L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ1∑j=1n∣βj∣+λ2∑j=1nβj2L(\beta) = \sum_{i=1}^{n} (y_i - \beta_0 - \beta_1 x_{i1} - \cdots - \beta_n x_{in})^2 + \lambda_1 \sum_{j=1}^{n} |\beta_j| + \lambda_2 \sum_{j=1}^{n} \beta_j^2L(β)=∑i=1n(yi−β0−β1xi1−⋯−βnxin)2+λ1∑j=1n∣βj∣+λ2∑j=1nβj2 여기서 λ1\lambda_1λ1과 λ2\lambda_2λ2는 각각 L1 규제와 L2 규제의 강도를 조절하는 하이퍼파라미터입니다.
4. 모델 평가 및 성능 측정
4.1 결정계수 (R-squared, R2R^2R2)
결정계수는 모델이 데이터를 얼마나 잘 설명하는지를 나타내는 지표입니다. R2R^2R2 값은 0에서 1 사이의 값을 가지며, 1에 가까울수록 모델의 설명력이 높음을 의미합니다. 결정계수는 다음과 같이 계산됩니다: R2=1−SSRSSTR^2 = 1 - \frac{SSR}{SST}R2=1−SSTSSR 여기서 SSRSSRSSR은 잔차 제곱합(Residual Sum of Squares), SSTSSTSST는 총 제곱합(Total Sum of Squares)입니다.
4.2 평균 제곱 오차 (Mean Squared Error, MSE)
평균 제곱 오차는 예측 값과 실제 값 간의 차이의 제곱 평균을 나타냅니다. MSE 값이 작을수록 모델의 예측 성능이 좋음을 의미합니다. MSE는 다음과 같이 계산됩니다: MSE=1n∑i=1n(yi−yi^)2MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y_i})^2MSE=n1∑i=1n(yi−yi^)2
4.3 평균 절대 오차 (Mean Absolute Error, MAE)
평균 절대 오차는 예측 값과 실제 값 간의 차이의 절대값 평균을 나타냅니다. MAE는 다음과 같이 계산됩니다: MAE=1n∑i=1n∣yi−yi^∣MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y_i}|MAE=n1∑i=1n∣yi−yi^∣ 4.4 평균 절대 백분율 오차 (Mean Absolute Percentage Error, MAPE) MAPE는 예측 값과 실제 값 간의 차이를 백분율로 나타낸 지표입니다. MAPE는 다음과 같이 계산됩니다: MAPE=100n∑i=1n∣yi−yi^yi∣MAPE = \frac{100}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y_i}}{y_i} \right|MAPE=n100∑i=1nyiyi−yi^
5. 응용 사례
5.1 부동산 가격 예측
부동산 가격 예측은 선형 회귀의 대표적인 응용 사례입니다. 부동산의 위치, 면적, 방의 개수 등의 특성을 독립 변수로 사용하여 주택의 가격을 예측할 수 있습니다. 이는 부동산 매매와 투자 결정에 중요한 정보를 제공합니다.
5.2 광고 효과
분석 광고 비용과 매출 간의 관계를 분석하여 광고의 효과를 평가할 수 있습니다. 광고 비용을 독립 변수로, 매출을 종속 변수로 설정하여 선형 회귀 모델을 학습하고, 광고 비용이 매출에 미치는 영향을 분석할 수 있습니다.
5.3 의료 데이터 분석
환자의 나이, 체질량지수(BMI), 혈압 등의 특성을 바탕으로 특정 질병의 발병 확률을 예측할 수 있습니다. 이를 통해 예방 조치를 취하거나 맞춤형 의료 서비스를 제공할 수 있습니다. 5.4 경제 데이터 예측 경제 지표(예: 실업률, 인플레이션율)를 바탕으로 GDP 성장률을 예측할 수 있습니다. 이는 경제 정책 수립과 투자 전략에 중요한 정보를 제공합니다.
6. 한계점 및 개선 방법
6.1 과적합 (Overfitting) 문제
선형 회귀 모델은 훈련 데이터에 과적합되어 새로운 데이터에 대해 일반화 성능이 떨어질 수 있습니다. 이를 해결하기 위해 릿지 회귀, 라쏘 회귀와 같은 규제 기법을 사용할 수 있습니다.
6.2 다중 공선성 (Multicollinearity) 문제
독립 변수들 간에 강한 상관관계가 있을 경우, 회귀 계수의 불안정성이 증가할 수 있습니다. 이를 해결하기 위해 주성분 분석(PCA)이나 변수 선택 기법을 사용할 수 있습니다.
6.3 비선형 관계
선형 회귀는 독립 변수와 종속 변수 간의 선형 관계를 가정합니다. 그러나 실제 데이터는 비선형 관계를 가질 수 있습니다. 이 경우 다항 회귀나 비선형 회귀 모델을 사용할 수 있습니다.
6.4 이상치 (Outliers)
이상치는 모델의 성능에 큰 영향을 미칠 수 있습니다. 이를 해결하기 위해 이상치를 탐지하고 제거하거나, 로버스트 회귀(Robust Regression)와 같은 기법을 사용할 수 있습니다.
결론
선형 회귀는 데이터 분석과 예측에 널리 사용되는 기본적인 기법입니다. 독립 변수와 종속 변수 간의 선형 관계를 모델링하여 연속적인 출력 값을 예측할 수 있습니다. 다양한 알고리즘과 평가 방법을 통해 선형 회귀 모델의 성능을 측정하고 개선할 수 있습니다. 선형 회귀는 부동산 가격 예측, 광고 효과 분석, 의료 데이터 분석 등 다양한 분야에서 유용하게 사용되며, 이를 통해 중요한 의사 결정을 지원할 수 있습니다. 그러나 과적합, 다중 공선성, 비선형 관계, 이상치 등의 문제를 해결하기 위해 적절한 기법을 적용하는 것이 중요합니다.