Ch1. 머신러닝 입문 — 지도학습의 이해와 선형회귀
머신러닝이란 무엇인가
머신러닝(Machine Learning)은 명시적으로 프로그래밍하지 않아도 데이터로부터 패턴을 학습하여 새로운 데이터에 대한 예측·결정을 내리는 기술입니다.
전통적 프로그래밍:
입력(Input) + 규칙(Rules) → 출력(Output)
머신러닝:
입력(Input) + 출력(Output) → 규칙(Rules) 자동 학습
이 패러다임의 전환이 머신러닝의 핵심입니다. 개발자가 모든 규칙을 코딩하는 대신, 알고리즘이 데이터로부터 규칙을 스스로 찾아냅니다.
머신러닝이 필요한 상황:
- 규칙이 너무 복잡하거나 명시적으로 정의하기 어려울 때 (이미지 인식, 자연어 이해)
- 환경이 자주 변하여 수작업 규칙 업데이트가 비현실적일 때 (주가 예측, 추천 시스템)
- 방대한 데이터에서 숨겨진 패턴을 발견해야 할 때 (이상 탐지, 고객 세분화)
AI / ML / DL 계층 구조
인공지능, 머신러닝, 딥러닝은 종종 혼용되지만 명확한 포함 관계가 있습니다.
┌──────────────────────────────────────────┐
│ AI (인공지능, Artificial Intelligence) │
│ → 인간의 지능을 모방하는 모든 기술 │
│ ┌────────────────────────────────────┐ │
│ │ ML (머신러닝, Machine Learning) │ │
│ │ → 데이터로부터 학습하는 AI 부분집합 │ │
│ │ ┌──────────────────────────────┐ │ │
│ │ │ DL (딥러닝, Deep Learning) │ │ │
│ │ │ → 인공신경망 기반의 ML 부분집합│ │ │
│ │ └──────────────────────────────┘ │ │
│ └────────────────────────────────────┘ │
└──────────────────────────────────────────┘
AI: 게임 AI, 규칙 기반 전문가 시스템 포함
ML: 통계·최적화 기반 학습 알고리즘 (선형회귀, 랜덤포레스트 등)
DL: 수백만 개의 파라미터를 가진 다층 신경망 (CNN, RNN, Transformer)
머신러닝 학습 유형
지도학습 (Supervised Learning)
정답 레이블이 있는 데이터로 학습합니다. 입력-출력 쌍의 매핑 함수를 학습하는 것이 목표입니다.
훈련 데이터 형식:
{(x₁, y₁), (x₂, y₂), ..., (xₙ, yₙ)}
x: 입력 특성 (features)
y: 정답 레이블 (label)
| 유형 | 출력 | 예시 |
|---|---|---|
| 분류(Classification) | 이산값 (클래스) | 이메일 스팸 여부, 종양 양성/악성 |
| 회귀(Regression) | 연속값 | 주택 가격, 내일 기온 |
비지도학습 (Unsupervised Learning)
정답 레이블 없이 데이터의 숨겨진 구조를 발견합니다.
훈련 데이터 형식:
{x₁, x₂, ..., xₙ} ← y(정답) 없음
- 군집화(Clustering): 유사한 데이터끼리 그룹화 (K-means, DBSCAN)
- 차원 축소(Dimensionality Reduction): 고차원 데이터를 저차원으로 압축 (PCA, t-SNE)
- 이상 탐지(Anomaly Detection): 정상 패턴에서 벗어난 데이터 탐지
강화학습 (Reinforcement Learning)
에이전트가 환경과의 상호작용을 통해 보상(Reward)을 최대화하는 행동 정책을 학습합니다.
에이전트 → 행동(Action) → 환경(Environment)
환경 → 상태(State) + 보상(Reward) → 에이전트
예시: 바둑 AI(AlphaGo), 게임 플레이 AI, 로봇 제어
선형회귀 (Linear Regression)
선형회귀는 지도학습에서 가장 기본이 되는 회귀 알고리즘입니다. 입력 변수(특성)와 출력 변수(타깃) 사이의 선형 관계를 모델링합니다.
가설함수 (Hypothesis Function)
단순선형회귀 가설함수:
h(x) = θ₀ + θ₁x
where:
h(x): 예측값 (hypothesis)
θ₀: y절편 (bias, intercept)
θ₁: 기울기 (weight, coefficient)
x: 입력 특성
직관적 이해: θ₀는 “기본값”이고, θ₁은 x가 1 증가할 때 예측값이 얼마나 변하는지를 나타냅니다.
예시: 집 크기(㎡)로 가격(만원) 예측
h(x) = 500 + 300x
집 크기 x = 30㎡ → 예측 가격 = 500 + 300×30 = 9,500만원
집 크기 x = 50㎡ → 예측 가격 = 500 + 300×50 = 15,500만원
비용함수 (Cost Function)
비용함수는 모델의 예측이 얼마나 틀렸는지를 수치로 표현합니다. 학습의 목표는 비용함수를 최소화하는 θ₀, θ₁을 찾는 것입니다.
MSE (Mean Squared Error)
MSE 비용함수:
J(θ₀, θ₁) = (1/2m) × Σᵢ₌₁ᵐ (h(xᵢ) - yᵢ)²
where:
m: 훈련 샘플 수
h(xᵢ): i번째 샘플의 예측값
yᵢ: i번째 샘플의 실제값
(h(xᵢ) - yᵢ): 잔차(residual)
왜 제곱을 하는가?
- 양수·음수 잔차가 서로 상쇄되지 않도록 (부호 제거)
- 큰 오차에 더 큰 페널티 부여 (이상치 영향 강조)
- 미분 가능하여 최적화에 용이
직관적 이해:
완벽한 예측: J = 0
예측이 실제와 다를수록 J 증가
→ J를 가장 작게 만드는 θ값을 찾는 것이 학습
경사하강법 (Gradient Descent)
비용함수를 최소화하기 위해 파라미터를 반복적으로 업데이트하는 최적화 알고리즘입니다.
핵심 직관
산에서 내려오는 등산객의 비유:
- 현재 위치에서 가장 가파른 내리막 방향 파악
- 그 방향으로 한 걸음 이동
- 반복하여 가장 낮은 지점(골짜기) 도달
산 = 비용함수 J(θ)
현재 위치 = 현재 θ값
가장 가파른 내리막 = 음의 기울기 방향 (−∇J)
걸음 크기 = 학습률 α
업데이트 규칙
θ₀ := θ₀ - α × ∂J/∂θ₀
θ₁ := θ₁ - α × ∂J/∂θ₁
where:
α: 학습률 (learning rate, 0 < α < 1)
∂J/∂θ: 비용함수의 편미분 (기울기, gradient)
선형회귀에서 편미분 전개:
∂J/∂θ₀ = (1/m) × Σ(h(xᵢ) - yᵢ)
∂J/∂θ₁ = (1/m) × Σ(h(xᵢ) - yᵢ) × xᵢ
학습률(Learning Rate, α)의 중요성
α가 너무 크면: 최솟값을 지나쳐버림 → 발산(diverge)
α가 너무 작으면: 수렴 속도가 너무 느림 → 계산 비효율
적절한 α: 비용함수가 부드럽게 감소하며 수렴
일반적으로 α = 0.01, 0.001 등 소수 값 시도
→ 비용함수 그래프로 수렴 여부 확인
경사하강법의 종류
| 종류 | 설명 | 장단점 |
|---|---|---|
| 배치 경사하강법 | 전체 훈련 데이터 사용 후 업데이트 | 안정적, 대용량 데이터에 느림 |
| 확률적 경사하강법(SGD) | 샘플 하나마다 업데이트 | 빠름, 노이즈 많음 |
| 미니배치 경사하강법 | 소규모 배치(32~256개) 사용 | 속도와 안정성 균형 (가장 많이 사용) |
다중선형회귀 (Multiple Linear Regression)
실제 데이터에서는 여러 특성(변수)이 타깃에 영향을 미칩니다.
다중선형회귀 가설함수:
h(x) = θ₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ
벡터 표기:
h(x) = θᵀx = θ₀x₀ + θ₁x₁ + ... + θₙxₙ
(x₀ = 1로 설정, θ와 x를 n+1차원 벡터로 표현)
예시: 집 가격 예측
h(x) = θ₀ + θ₁×크기 + θ₂×방개수 + θ₃×연식 + θ₄×층수
특성 스케일링 (Feature Scaling)
다중선형회귀에서 특성들의 범위가 크게 다르면 경사하강법 수렴이 느려집니다.
예시:
x₁ = 집 크기 (10 ~ 200 ㎡)
x₂ = 방 개수 (1 ~ 5개)
→ x₁ 범위가 훨씬 커서 비용함수의 등고선이 타원형으로 찌그러짐
→ 경사하강법 경로가 비효율적 (지그재그 이동)
Min-Max 정규화
x' = (x - x_min) / (x_max - x_min)
결과: 모든 특성이 [0, 1] 범위
표준화 (Standardization)
x' = (x - μ) / σ
결과: 평균 0, 표준편차 1
장점: 이상치에 덜 민감, 정규분포 가정 알고리즘에 적합
경사하강법 기반 알고리즘에서는 항상 특성 스케일링을 먼저 적용하세요.
모델 선택과 과적합
다항회귀와 편향-분산 트레이드오프
1차 모델 (과소적합, Underfitting):
→ 편향(Bias) 높음, 분산(Variance) 낮음
→ 훈련/테스트 정확도 모두 낮음
고차 다항 모델 (과적합, Overfitting):
→ 편향 낮음, 분산 높음
→ 훈련 정확도 높지만 테스트 정확도 낮음
적절한 모델 (Good Fit):
→ 편향과 분산 균형
→ 훈련/테스트 정확도 모두 적절
훈련/검증/테스트 분리
from sklearn.model_selection import train_test_split
# 80:20 분리
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# 60:20:20 분리 (훈련:검증:테스트)
X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.4, random_state=42)
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)
핵심 개념 카드
가설함수 h(x) = θ₀ + θ₁x ★★★★★ : 선형회귀의 핵심. θ₀는 y절편(바이어스), θ₁은 기울기(가중치). 학습 = 최적 θ₀, θ₁ 탐색. 암기 포인트: h = hypothesis(가설), θ = theta(파라미터)
비용함수 MSE와 학습 목표 ★★★★★ : J(θ) = (1/2m) × Σ(h(xᵢ) - yᵢ)². 예측과 실제의 차이(잔차) 제곱합의 평균. 이를 최소화하는 θ를 찾는 것이 학습. 암기 포인트: J=0이면 완벽한 예측. J↓ = 학습 진행 중
경사하강법 업데이트 규칙 ★★★★★ : θ := θ - α×(∂J/∂θ). 기울기의 반대 방향으로 학습률(α)만큼 이동. 반복을 통해 J 최솟값 수렴. 암기 포인트: 산에서 내려가기 — 가파른 방향의 반대로 한 걸음씩
AI ⊃ ML ⊃ DL 포함 관계 ★★★★☆ : 딥러닝은 머신러닝의 부분집합, 머신러닝은 AI의 부분집합. 셋은 동의어가 아님. 암기 포인트: 큰 원(AI) 안에 중간 원(ML), 그 안에 작은 원(DL)
특성 스케일링의 필요성 ★★★☆☆ : 특성 범위가 다르면 비용함수 등고선이 타원형 → 경사하강법 수렴 느림. Min-Max 또는 표준화로 해결. 적용 기준: 거리 기반·경사하강법 기반 알고리즘은 필수
실전 퀴즈
Q1. 선형회귀 모델 h(x) = 2 + 3x에서 x=5일 때 예측값은? θ₀과 θ₁의 의미는?
예측값 = 2 + 3×5 = 17. θ₀=2는 y절편(x=0일 때 기본 예측값), θ₁=3은 기울기(x가 1 증가할 때마다 예측값이 3 증가함을 의미).
Q2. 학습률(α)이 너무 크거나 너무 작으면 각각 어떤 문제가 발생하는가?
α가 너무 크면 경사하강법이 최솟값을 건너뛰어 비용함수가 발산(수렴 실패)합니다. α가 너무 작으면 업데이트 보폭이 너무 작아 수렴하기까지 매우 많은 반복이 필요하여 훈련이 느려집니다. 적절한 α를 찾기 위해 0.001, 0.01, 0.1 등을 시도해보며 비용함수 감소 곡선을 확인합니다.
Q3. 지도학습과 비지도학습의 핵심 차이를 한 문장으로 설명하라.
지도학습은 정답 레이블(y)이 있는 데이터로 입력-출력 매핑을 학습하고, 비지도학습은 정답 없이 데이터 자체의 내재된 구조(군집, 패턴)를 발견합니다.
OIYO 편집부
Content Editor지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.