Skip to main content

Machine Learning Overview

"데이터에서 패턴을 학습하여 새로운 데이터에 대해 예측하는 알고리즘"


📌 이 글의 목적

머신러닝(ML)이 무엇이고 어떻게 동작하는지 전체 그림을 잡는 글. 개별 알고리즘에 들어가기 전에 ML의 핵심 개념, 학습 유형, 워크플로우, 그리고 가장 중요한 트레이드오프를 이해하는 것이 목표.

이 글을 읽고 나면:

  • ML의 4가지 학습 유형을 구분하고 각각의 활용 사례를 설명할 수 있음
  • ML 프로젝트의 전체 워크플로우를 이해할 수 있음
  • 편향-분산 트레이드오프가 왜 ML의 핵심 딜레마인지 설명할 수 있음
  • 과적합/과소적합을 진단하고 대응 방법을 알 수 있음

1. 머신러닝이란

1.1 정의

전통적 프로그래밍과 ML의 차이:

전통적 프로그래밍머신러닝
규칙사람이 명시적으로 작성데이터에서 자동으로 학습
입력데이터 + 규칙데이터 + 정답(레이블)
출력결과모델 (→ 예측에 사용)
적합한 문제규칙이 명확한 문제규칙을 정의하기 어려운 문제
예시세금 계산, 정렬이미지 인식, 스팸 분류, 번역

1.2 ML이 적합한 문제

적합부적합
규칙이 너무 복잡하거나 변동적인 문제규칙이 명확하고 고정된 문제
데이터가 충분히 있는 문제데이터가 없거나 극히 적은 문제
패턴이 존재하는 문제순수 랜덤인 문제
이미지 인식, 자연어 처리, 추천단순 계산, 정렬, CRUD

2. 학습 유형

2.1 4가지 학습 유형

2.2 지도학습 (Supervised Learning)

입력(X)과 정답(y)의 쌍으로 학습. 새로운 입력에 대해 정답을 예측하는 것이 목표.

유형출력예시대표 알고리즘
회귀연속 숫자집값 예측, 매출 예측선형회귀, Random Forest, XGBoost
분류카테고리스팸/정상, 개/고양이로지스틱회귀, SVM, Neural Network
학습 데이터:
X(입력) y(정답)
[면적, 층수, 역거리] → 집값
[키, 몸무게, 나이] → 당뇨 여부

예측:
[85㎡, 10층, 300m] → ? (모델이 예측)

2.3 비지도학습 (Unsupervised Learning)

정답(y) 없이 데이터의 구조/패턴을 발견.

유형목적예시
클러스터링유사한 데이터끼리 그룹화고객 세그먼트, 문서 군집
차원축소고차원 데이터를 저차원으로 압축PCA, t-SNE 시각화
이상치 탐지정상 패턴에서 벗어난 데이터 탐지사기 탐지, 장비 이상

2.4 강화학습 (Reinforcement Learning)

환경에서 행동을 선택하고, 보상을 최대화하도록 학습.

활용예시
게임AlphaGo, Atari
로봇자율 보행, 물체 조작
LLM 정렬RLHF — 사람 피드백으로 LLM을 개선

2.5 자기지도학습 (Self-Supervised Learning)

레이블 없이 데이터 자체에서 학습 신호를 생성. LLM의 사전학습이 대표적.

방법설명예시
다음 토큰 예측텍스트의 다음 단어를 맞추기GPT 사전학습
마스킹일부를 가리고 복원하기BERT 사전학습
대조 학습유사/비유사 쌍을 구분이미지 임베딩 (CLIP)

💡 LLM이 강력한 이유: 인터넷의 방대한 텍스트로 자기지도학습을 수행하여, 레이블링 비용 없이 거대한 데이터를 활용할 수 있음. "다음 단어 예측"이라는 단순한 목표가 언어의 문법, 지식, 추론 능력까지 학습시킴.


3. ML 워크플로우

3.1 전체 과정

3.2 각 단계 설명

단계핵심도구/기법
1. 문제 정의회귀인가 분류인가, 무엇을 예측하는가
2. 데이터 수집충분한 양과 품질의 데이터 확보SQL, API, 크롤링
3. EDA데이터 분포, 결측값, 이상치 파악pandas, matplotlib
4. 전처리결측값 처리, 인코딩, 스케일링StandardScaler, OneHotEncoder
5. 특성 엔지니어링새로운 특성 생성, 불필요한 특성 제거도메인 지식
6. 모델 학습알고리즘 선택, 학습 데이터로 학습scikit-learn, PyTorch
7. 평가테스트 데이터로 성능 측정Accuracy, F1, RMSE
8. 튜닝하이퍼파라미터 최적화GridSearch, Optuna
9. 배포모델을 서비스로 제공FastAPI, Docker
10. 모니터링성능 저하, 데이터 드리프트 감시MLflow, Prometheus

3.3 데이터 분할

데이터셋용도주의
학습(Train)모델의 가중치를 학습하는 데 사용
검증(Validation)하이퍼파라미터 튜닝, 과적합 감시학습에 사용하면 안 됨
테스트(Test)최종 성능 평가개발 중 절대 보면 안 됨

⚠️ **테스트 데이터를 개발 중에 보면 데이터 누수(data leakage)**가 발생. 모델이 테스트 데이터에 과적합되어 실제 성능보다 높게 측정됨.


4. 편향-분산 트레이드오프

4.1 ML의 핵심 딜레마

편향(Bias): 모델이 너무 단순하여 데이터의 패턴을 못 잡는 정도 분산(Variance): 모델이 학습 데이터에 너무 민감하여 새 데이터에 일반화가 안 되는 정도

높은 편향 (과소적합)높은 분산 (과적합)
학습 성능❌ 낮음✅ 높음
테스트 성능❌ 낮음❌ 낮음
원인모델이 너무 단순모델이 너무 복잡
비유교과서만 읽고 응용문제를 못 품기출문제를 외웠지만 새 문제를 못 품

4.2 총 오차 분해

총 오차 = 편향² + 분산 + 줄일 수 없는 노이즈

↑ 모델이 단순할수록 큼
↑ 모델이 복잡할수록 큼
↑ 데이터 자체의 노이즈 (어쩔 수 없음)

💡 편향을 줄이면 분산이 늘고, 분산을 줄이면 편향이 늘어남. 이것이 트레이드오프. ML의 목표는 둘의 합이 최소인 지점을 찾는 것.


5. 과적합과 과소적합

5.1 진단

상황학습 오차검증 오차진단대응
학습 ✅ 검증 ✅낮음낮음적합유지
학습 ❌ 검증 ❌높음높음과소적합모델 복잡도 증가, 특성 추가
학습 ✅ 검증 ❌낮음높음과적합정규화, 데이터 추가, 단순화

5.2 과적합 대응법

방법설명효과
더 많은 데이터가장 확실한 방법⭐⭐⭐
정규화 (L1/L2)가중치가 너무 커지는 것을 제한⭐⭐⭐
Dropout학습 중 일부 뉴런을 랜덤으로 비활성화 (DL)⭐⭐⭐
Early Stopping검증 오차가 증가하기 시작하면 학습 중단⭐⭐
데이터 증강기존 데이터를 변형하여 늘림 (이미지 회전 등)⭐⭐
앙상블여러 모델의 예측을 결합⭐⭐
모델 단순화레이어 수, 파라미터 수 줄이기

5.3 정규화 (Regularization)

가중치가 너무 커지는 것을 패널티로 제한하여 모델의 복잡도를 낮춤.

정규화수식효과
L1 (Lasso)손실 + λ × Σ|wᵢ|일부 가중치를 0으로 만듦 → 특성 선택 효과
L2 (Ridge)손실 + λ × Σwᵢ²가중치를 작게 유지 → 모든 특성을 고르게 사용
Elastic NetL1 + L2 결합둘의 장점 결합

(λ는 정규화 강도를 조절하는 하이퍼파라미터)


6. 교차 검증 (Cross-Validation)

6.1 왜 교차 검증인가

데이터를 한 번만 분할하면 분할 방식에 따라 성능이 달라질 수 있음. 교차 검증은 여러 번 분할하여 평균 성능을 구함.

6.2 K-Fold Cross-Validation

K값장점단점
5✅ 일반적으로 사용
10더 안정적인 추정학습 시간 2배
N (LOOCV)편향 최소분산 크고 비용 높음

💡 실전에서는 K=5 또는 K=10이 표준. 데이터가 적으면 K를 높이고, 학습 비용이 크면 K를 낮춤.


7. 하이퍼파라미터 튜닝

7.1 파라미터 vs 하이퍼파라미터

파라미터하이퍼파라미터
결정학습으로 자동 결정사람이 사전에 설정
예시가중치 W, 편향 b학습률, 트리 깊이, 배치 크기
조절경사하강법Grid Search, Random Search, Bayesian

7.2 튜닝 방법

방법방식효율
Grid Search모든 조합을 시도❌ 조합 폭발
Random Search랜덤으로 조합 선택⚠️ Grid보다 효율적
Bayesian Optimization이전 결과를 기반으로 다음 조합 선택✅ 가장 효율적

💡 실전에서는 Optuna(Python)가 가장 많이 사용됨. Bayesian Optimization 기반으로 효율적이고, 시각화 기능도 좋음.


8. 특성 엔지니어링

8.1 왜 중요한가

"데이터와 특성이 ML 성능의 80%를 결정하고, 알고리즘은 20%를 결정한다"는 말이 있을 정도로 특성 엔지니어링이 중요함.

8.2 주요 기법

기법설명예시
스케일링특성의 범위를 통일StandardScaler(평균0, 분산1), MinMaxScaler(0~1)
인코딩범주형 데이터를 숫자로 변환One-Hot Encoding, Label Encoding
파생 특성기존 특성에서 새로운 특성 생성날짜 → 요일, 시간대; 가격 → 가격 변화율
특성 선택불필요한 특성 제거상관분석, L1 정규화, 트리 기반 중요도
결측값 처리빈 값을 채우거나 제거평균/중앙값 대체, 삭제, 모델 기반 대체

💡 Deep Learning(특히 이미지, 텍스트)에서는 모델이 자동으로 특성을 추출하므로 수동 특성 엔지니어링의 중요성이 줄어듦. 하지만 표형(tabular) 데이터에서는 여전히 특성 엔지니어링이 핵심임.


9. ML 알고리즘 지도

9.1 알고리즘 선택 가이드

9.2 알고리즘 비교 요약

알고리즘유형해석성성능데이터 요구량
선형/로지스틱 회귀지도✅ 높음보통적음
결정트리지도✅ 높음보통적음
Random Forest지도중간좋음중간
XGBoost/LightGBM지도중간매우 좋음중간
SVM지도낮음좋음중간
Neural Network지도❌ 낮음최고대량
K-Means비지도✅ 높음중간
PCA비지도✅ 높음적음

💡 표형 데이터에서는 XGBoost/LightGBM이 최강. Kaggle 대회에서도 표형 데이터 문제의 대부분은 트리 기반 앙상블이 우승. Neural Network는 이미지, 텍스트, 음성 같은 비정형 데이터에서 강점.


10. Deep Learning과의 관계

10.1 ML ⊃ DL

전통 ML딥러닝 (DL)
특성 추출수동 (사람이 설계)자동 (모델이 학습)
데이터 요구량적~중간대량
계산 자원CPU로 충분GPU 필수
해석 가능성높음낮음
비정형 데이터약함강함
표형 데이터강함 (XGBoost)비슷하거나 약함

10.2 언제 DL을 쓰고 언제 전통 ML을 쓰는가

상황선택이유
이미지/텍스트/음성DL비정형 데이터는 DL이 압도적
표형 데이터, 데이터 적음전통 MLXGBoost가 DL과 비슷하거나 더 좋음
해석이 필요전통 ML결정트리, 로지스틱회귀는 해석 가능
데이터 매우 많고 GPU 있음DL스케일 효과
빠르게 프로토타입전통 ML학습 빠르고 설정 간단

정리

개념핵심
ML 정의데이터에서 패턴을 학습하여 예측하는 알고리즘
학습 유형지도/비지도/강화/자기지도 — LLM은 자기지도학습 기반
워크플로우문제 정의 → 데이터 → 전처리 → 학습 → 평가 → 배포 → 모니터링
편향-분산ML의 핵심 딜레마. 단순함과 복잡함의 균형
과적합학습 데이터를 외워서 새 데이터에 일반화 실패. 정규화/데이터/Dropout으로 대응
교차 검증K-Fold로 안정적 성능 추정
특성 엔지니어링표형 데이터에서는 여전히 성능의 핵심
알고리즘 선택표형 → XGBoost, 이미지/텍스트 → DL

다음 글

지도학습 — 회귀 & 분류 — 선형회귀, 로지스틱회귀, SVM, 결정트리, 앙상블, 평가 메트릭


🔗 관련 문서


📝 참고 자료