개요
선형회귀는 ML의 가장 기본 알고리즘이다. "직선 하나를 데이터에 맞게 긋는 것"이 전부다. 단순해 보이지만 ML이 어떻게 학습하는지의 원리가 그대로 들어 있다. 선형회귀를 이해하면 더 복잡한 알고리즘도 같은 원리로 이해할 수 있다.
WHY — 선형회귀가 중요한 이유
선형회귀는 지도학습 중 회귀(숫자 예측)의 대표 알고리즘이다. 트래픽이 얼마나 될지, 링크 사용률이 몇 %가 될지 같은 수치 예측에 사용한다.
더 중요한 이유가 있다. ML의 핵심 개념인 학습 데이터 → 가중치 조정 → 오차 최소화 과정이 선형회귀에서 가장 명확하게 드러난다. 이걸 이해하면 랜덤포레스트, 딥러닝도 "결국 같은 원리"라는 게 보인다.
HOW — 선형회귀의 동작 원리
기본 개념 — 점들을 가장 잘 설명하는 직선
링크 사용률과 응답속도 데이터를 그래프에 찍으면 직선에 가깝게 놓인다. 선형회귀는 이 점들과 오차가 가장 작은 직선 하나를 찾는다.
응답속도(ms) 100│ ● 80│ ● 60│ ● 40│ ● 20│● └────────────────── 10 30 50 70 90 사용률(%)
직선의 공식 — y = ax + b
y = ax + b y : 예측값 (응답속도) x : 입력값 (사용률) a : 기울기 (사용률 1% 오를 때 응답속도 증가량) b : 절편 (사용률 0%일 때 기본 응답속도)
ML이 하는 일은 a와 b를 데이터에서 자동으로 찾는 것이다. 사람이 수식을 외우는 게 아니라 컴퓨터가 데이터를 보고 최적값을 계산한다.
학습 과정 — 오차를 줄여나가는 반복
1단계: a, b를 임의의 값으로 시작
사용률 50% 입력 → 예측: 100ms, 정답: 50ms, 오차: 50ms
2단계: 오차 보고 a, b 조정
→ 재예측: 80ms, 오차: 30ms
3단계: 반복
→ 60ms, 오차 10ms
→ 51ms, 오차 1ms
→ 50ms, 오차 0ms ← 학습 완료
이 과정에서 "오차를 측정하는 방법"이 손실함수(Loss Function)이고, "오차를 줄이는 방향으로 a,b를 조정하는 방법"이 경사하강법(Gradient Descent)이다. 딥러닝도 동일한 구조로 학습한다.
예측 활용 예시
# 학습 완료된 모델 응답속도 = 1.0 × 사용률 + 2.5 # 새로운 데이터 예측 사용률 80% 입력 → 응답속도 = 1.0 × 80 + 2.5 = 82.5ms 예측
선형회귀의 한계
직선 관계일 때만 유효하다. 현실 네트워크 트래픽은 링크 포화 상태에서 응답속도가 폭발적으로 증가한다. 이런 비선형 패턴은 직선으로 잡을 수 없다.
사용률 응답속도 패턴 10% 12ms 정상 50% 55ms 정상 70% 73ms 정상 80% 200ms 급격히 나빠짐 ← 직선으로 못 잡음 90% 500ms 포화 상태 ← 직선으로 못 잡음
| 항목 | 선형회귀 | 비고 |
|---|---|---|
| 예측 유형 | 숫자 (회귀) | 분류는 로지스틱 회귀 사용 |
| 학습 종류 | 지도학습 | 정답 레이블 필요 |
| 적합한 패턴 | 선형 관계 | 비선형은 랜덤포레스트/딥러닝 |
| 결과 해석 | 쉬움 (y=ax+b) | a값이 변수의 영향력을 의미 |
면접 포인트
Q. 선형회귀에서 과적합(Overfitting)은 어떻게 발생하나요?
학습 데이터의 노이즈까지 외워버릴 때 발생합니다. 예를 들어 학습 데이터에서 사용률 47%일 때 응답속도가 우연히 300ms로 튀었다면, 과적합된 모델은 "47%면 300ms"라고 외웁니다. 새로운 데이터가 들어오면 틀립니다. 선형회귀는 구조적으로 단순해서 과적합이 덜하지만, 변수가 많아지면 동일한 문제가 생깁니다.
Q. 선형회귀로 트래픽 예측을 구현한다면 어떤 변수를 사용하시겠어요?
먼저 상관관계 분석으로 응답속도와 관련이 높은 변수를 선택합니다. 링크 사용률, 동시 접속 세션 수, 시간대(업무/비업무)가 후보입니다. 단순 선형회귀는 변수 1개지만, 다중 선형회귀로 확장하면 여러 변수를 동시에 사용할 수 있습니다. 다만 사용률 80% 이상에서 비선형 패턴이 나타나면 랜덤포레스트로 전환을 고려합니다.
Q. 손실함수가 무엇인지 설명하세요.
예측값과 실제값의 차이(오차)를 측정하는 함수입니다. 선형회귀에서는 MSE(평균 제곱 오차)를 주로 사용합니다. 각 데이터 포인트의 오차를 제곱해서 평균을 낸 값으로, 이 값이 줄어드는 방향으로 a와 b를 반복해서 조정합니다. 손실함수가 최소가 되는 a, b가 최적 모델입니다.
'AI > 빅데이터' 카테고리의 다른 글
| [빅데이터] 딥러닝 - CNN, RNN, Transformer까지 한 번에 정리 (0) | 2026.04.14 |
|---|---|
| [빅데이터] 군집분석 - 정답 없이 이상한 것을 찾아낸다 (0) | 2026.04.14 |
| [빅데이터] 랜덤포레스트 - 수백 개의 스무고개로 다수결을 낸다 (0) | 2026.04.14 |
| [빅데이터] 통계 기초 - ML을 이해하려면 통계 4가지만 알면 된다 (0) | 2026.04.14 |
| [빅데이터] AI, ML, 딥러닝 - 개념 지도부터 잡아라 (0) | 2026.04.14 |