1. 회귀(Regression)
연속적인 값을 예측하기 위한 데이터 간의 관계 모델링
Target이 연속형 수치(소수점 포함)임
끊임 없이 반복적인 Trial & Error를 통해 최적의 weight를 찾음.
회귀선을 찾는 것이 목표(기울기 = weight. 가중치)
2. 선형 회귀(Linear Regression)
2.1. 선형 회귀의 두 가지 관점: 통계적 추론 vs. 머신러닝
| 통계적 회귀 분석 | 머신 러닝 |
|---|
| 주요 목표 | 해석(변수가 결과에 미치는 개별적 영향 정확히 파악 | 예측(새로운 데이터에 대한 예측 정확도 극대화 |
| 평가 지표 | R2, p-value, β계수의 유의성 | RMSE, MAE 등 오차 기반의 성능 지표(교차 검증 활용) |
| 핵심 가정 | 데이터의 통계적 가정을 엄격히 준수 | 가정 충족보다 실질적 '예측 성능'우선 |
2.2. 단순 선형 회귀 → 다중 선형 회귀 수식

[캡쳐 1-1. 단순 선형 회귀 수식. 출처: 딥 러닝을 이용한 자연어 처리 입문]
- y: 종속 변수
- x: 독립 변수
- w: weight(가중치)
- b: bias(편향)

[캡쳐 1-2. 다중 선형 회귀 수식. 출처: 딥 러닝을 이용한 자연어 처리 입문]
2.3. 선형 회귀의 4가지 기본 가정
모델 신뢰도를 확보하기 위해 데이터가 충족해야 하는 전제 조건
2.3.1. 선형성(Linearity)
독립 변수와 종속 변수 간에 선형 관계가 존재해야 함.
2.3.2. 정규성(Normality)
잔차(Residue)의 분포가 정규 분포를 따름.
2.3.3. 등분산성(Homoscedasticity)
잔차의 분산이 모든 값에서 일정해야 함(퍼짐 정도가 균일)
2.3.4. 독립성(Independence)
데이터(+ 잔차)끼리 서로 상관 관계가 없어야 함
2.4. 최적의 선을 찾는 방법: 손실 함수(Loss Function)

[캡쳐 2-1. RSS 수식. 출처: 위키피디아]
-
yᵢ: i번째 관측치의 실제 종속변수 값
-
xᵢ: i번째 관측치의 독립변수 값
-
α̂ (알파 햇): 회귀식의 절편(intercept), 데이터로부터 추정된 값
-
β̂ (베타 햇): 회귀계수(slope), x가 y에 미치는 영향의 크기
-
εᵢ (잔차, residual): 실제값과 예측값의 차이
RSS값이 최소가 되는 지점의 beta0, beta1을 찾는 것이 학습의 목표
2.4.2. 알고리즘: OLS(Ordinary Least Squares, 최소제곱법)
- RSS를 최소화하는 회귀 계수(beta)를 수학적으로 계산하는 알고리즘
- 임의의 선 설정 → RSS 계산 → 기울기/절편 조정 → 최적 파라미터(beta_hat) 확정
3. 모델의 성능 평가
3.1. MAE(평균 절대 오차)

[캡쳐 3-1. MAE 수식. 출처: 위키피디아]
- yᵢ : i번째 예측값
- xᵢ : i번째 참값(실제값)
- εᵢ : 예측값과 참값의 차이(오차)
특징
- 장점
- 오차 크기를 직관적으로 해석 가능
- 이상치의 영향에 상대적으로 덜 민감
- 단점
- 모든 오차를 동일한 가중치로 처리
- 큰 오차에 대한 패널티가 부족할 수 있음
3.2. MSE(평균 제곱 오차) & RMSE(평균 제곱근 오차)
3.2.1. MSE

[캡쳐 3-2. MSE 수식. 출처: 위키피디아_MSE]
-
yᵢ : i번째 관측치의 참값(실제값)
-
Ŷᵢ : i번째 관측치의 예측값
-
(Yᵢ − Ŷᵢ) : i번째 오차(error)
-
특징: 실제값과의 차이가 큰 예측(이상치)에 매우 민감하게 반응
-
한계: 단위가 제곱되어 직관적인 해석이 어려움
3.2.2. RMSE
- MSE에 제곱근을 취한 값이다보니 MSE의 한계 보정
- 특징: MSE처럼 큰 오차에 민감하게 반응
3.3. MAE vs. RMSE: 언제 무엇을 선택할 것인가?
Q - 큰 오류(이상치)를 어떻게 다룰 것인가?
A1 - 오차의 크기를 동등하게 봐야 할 때(ex. 일반적인 수요 예측)
→ 추천 지표: MAE (하나의 큰 오차가 전체 평가 왜곡하는 것 방지)
A2 - 큰 오차가 치명적인 손실로 이어질 때(ex. 의료 수치 예측, 금융 리스크 분석)
→ 추천 지표: RMSE (큰 오차에 강력한 패널티 부여)
3.4. MAPE(평균 절대 백분율 오차)

[캡쳐 3-3. MAPE 수식. 출처: 위키피디아_MAPE]
- At: 각 시점의 실제값
- Ft: 같은 시점에서의 예측값
한계
- 실제값이 0인 경우: 분모가 0이 되어 계산 불가능
- 실제값이 0에 가까운 경우: MAPE값이 비정상적으로 커져 성능 왜곡 가능
3.5. RMSLE(평균 제곱근 로그 오차)

[캡쳐 3-4. RMSLE 수식. 출처: Regression - 모델 평가]
- pi: 예측값
- ai: 실제값
- log: 자연로그
이 때 +1 후 로그를 취하기 때문에 실제값이나 예측값이 0일 경우도 보정 가능
3.5.1. 언제 쓰나?
- 예측값과 실제값의 차이가 클 때
- 과소예측에 더 큰 패널티를 주고 싶을 때
3.5.2. 특징
- 절대적 크기가 아닌 상대적 비율에 초점을 맞추므로 값의 스케일이 매우 큰 데이터에 효과적
3.6. R2 (결정 계수)


[캡쳐 3-5. R2 수식. 출처: 위키피디아_R2]
3.6.1. 해석
- ex. R2 = 0.91 → 집값 변동성의 91%를 우리 모델이 사용한 변수들이 설명하고 있다.
3.6.2. 한계
- 모델에 유의미하지 않은 변수를 추가해도 R2 값은 항상 증가하거나 최소한 유지.
→ 모델의 과적합 위험을 제대로 반영하지 못함을 의미
3.6.3. 한계의 보정: Adjusted R2 (수정된 결정 계수)
- 독립 변수의 개수를 고려하여 R2 값을 보정한 지표
- 모델 간 성능 비교 시(특히 변수의 수가 다른 경우) Adjusted R2 를 사용하는 것이 과적합을 방지하고 더 신뢰성 있는 판단을 내리는 기준임
4. 과적합
4.1. 모델 복잡도와 오류의 관계

[캡쳐 4-1. 모델 복잡도와 오류의 관계 그래프. 출처: Belkin et al.(2019)]
학습 오류:
- 모델이 복잡해질수록 학습 데이터에 맞춰지므로 계속 감소
검증 오류:
- 처음에는 함께 감소하다가 모델이 과적합되기 시작하는 지점부터 오히려 증가
핵심 지점(Sweet Spot)
- 검증 오류가 최저가 되는 지점이 가장 이상적인 모델의 복잡도
- 이 지점을 넘어서 학습하면 과적합 발생
4.2. 과적합 발생 이유
4.2.1. 데이터의 한계
- 부족한 데이터의 양
- 편향된 데이터
→ 보정 방법 1. 과대 데이터 적게 추출, 과소 데이터 많이 추출
→ 보정 방법 2. SMOTE(과소데이터 합성)
4.2.2. 데이터 내 노이즈
- 학습 데이터에 포함된 측정 오류나 잘못된 라벨 값을 모델이 의미 있는 패턴으로 오인하고 학습
4.2.3. 과도한 모델 복잡성
- 필요 이상으로 많은 특성(feature)사용
- 모델의 구조를 데이터에 비해 너무 복잡하게 설정(ex. Decision Tree의 깊이가 너무 깊은 경우)
4.3. 해결책_일반화(Generalization)
4.3.1. 방법 1) 모델 단순화(Occam's Razor)
- 특성 줄이기
- 모델 구조 단순화
- 의사결정나무 최대 깊이(max_depth) 제한
- 신경망의 레이어(layer)나 노드(node) 수 줄임
4.3.2. 방법 2) 정규화(Regularization & Normalization)
- 모델의 과도한 복잡도에 페널티 부여하여 가중치가 너무 커지는 것을 방지
- 주요 기법
- L1(Lasso), L2(Ridge) 규제
- 데이터 스케일링(특성들의 값 범위를 일치시킴)
4.3.3. 방법 3) 검증(Validation)
- 프로세스
- 1) 데이터 분할
- 2) 모델 학습
- 3) 성능 평가
- 4) 튜닝 및 결정
- 심화: K-Fold Cross-Validation
- 1) 전체 데이터를 K개의 부분 집합(fold)으로 나눔
- 2) 하나의 fold를 검증셋으로, 나머지 (K-1)개를 학습셋으로 사용
- 3) 검증셋을 바꿔가며 과정 K번 반복
- 4) K개의 성능 평가 점수를 평균내어 최종 성능으로 간주
- 장점: 모든 데이터가 최소 한 번은 사용되어 평가의 편향이 줄어듦