Devxplorer – 세상을 분석하는 개발자의 탐험기

IT, 경제, 인물, 건강 – All Explored

Devxplorere 자세히보기

IT (IT)🤖🧠/AI

지도학습, 비지도학습, 강화학습의 차이점과 훈련세트 vs 테스트세트 완벽 정리

데브엑스플로러 2025. 3. 22. 13:05
728x90
반응형

1. 머신러닝의 학습 방식: 지도학습 vs 비지도학습 vs 강화학습

머신러닝 알고리즘은 데이터를 학습하는 방식에 따라 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 그리고 **강화학습(Reinforcement Learning)**으로 나뉩니다. 이들은 사용 목적과 데이터 구조에 따라 서로 다른 문제를 해결합니다.


2. 지도학습(Supervised Learning)이란?

지도학습은 **입력 데이터(X)**와 **정답(label 또는 target, y)**가 함께 주어지는 데이터에서 학습하는 방식입니다.

✅ 특징:

  • 학습 데이터에 정답이 포함됨
  • 모델이 입력-출력 관계를 학습함
  • 분류(Classification) 또는 회귀(Regression) 문제 해결에 적합

✅ 예시:

  • 이메일 스팸 분류 (스팸/정상 메일)
  • 집값 예측 (면적, 위치 → 가격)

✅ 대표 알고리즘:

  • k-최근접 이웃 (KNN)
  • 결정 트리 (Decision Tree)
  • 선형 회귀 / 로지스틱 회귀
  • 서포트 벡터 머신 (SVM)
  • 신경망(Neural Networks)

🔍 회귀(Regression)란?

회귀는 연속적인 수치 값을 예측하는 문제를 말합니다. 입력 변수와 출력 변수 간의 관계를 학습하여, 새로운 입력이 주어졌을 때 숫자 값을 예측하는 데 사용됩니다.

✅ 회귀 예시:

  • 아파트 면적과 위치에 따라 집값 예측
  • 광고 비용에 따른 매출 예측
  • 나이에 따른 키 또는 몸무게 예측

✅ 대표 회귀 알고리즘:

  • 선형 회귀 (Linear Regression)
  • 릿지 회귀 (Ridge Regression)
  • 라쏘 회귀 (Lasso Regression)
  • 의사결정 회귀 트리 (Decision Tree Regressor)

3. 비지도학습(Unsupervised Learning)이란?

비지도학습은 정답(label)이 없는 데이터에서 데이터 간의 구조나 패턴을 학습하는 방식입니다.

✅ 특징:

  • 데이터에 정답이 없음
  • 숨겨진 패턴, 군집, 구조를 찾는 데 초점
  • 데이터 탐색 및 전처리에 주로 사용됨

✅ 예시:

  • 고객 세분화 (마케팅 클러스터링)
  • 문서 주제 추출 (토픽 모델링)

✅ 대표 알고리즘:

  • K-평균(K-Means) 클러스터링
  • 주성분 분석(PCA)
  • DBSCAN
  • 계층적 클러스터링

4. 강화학습(Reinforcement Learning)이란?

강화학습은 **에이전트(Agent)**가 **환경(Environment)**과 상호작용하면서 **보상(Reward)**을 최대화하는 방향으로 학습하는 방식입니다. 정답(label)이 직접 주어지지는 않고, **행동(Action)**의 결과로 받는 보상 신호를 통해 최적의 정책(Policy)을 학습합니다.

✅ 특징:

  • 보상을 기반으로 학습
  • 탐험(Exploration)과 활용(Exploitation)의 균형 필요
  • 순차적인 의사결정 문제 해결에 적합

✅ 예시:

  • 게임 AI (체스, 바둑, 스타크래프트 등)
  • 자율주행 차량의 경로 제어
  • 로봇의 행동 제어

✅ 대표 알고리즘:

  • Q-Learning
  • SARSA
  • Deep Q-Network(DQN)
  • Policy Gradient
  • Proximal Policy Optimization(PPO)

5. 훈련 세트(Training Set)와 테스트 세트(Test Set)

머신러닝 모델은 단순히 데이터를 외우는 것이 아니라 새로운 데이터에서도 잘 작동하도록 일반화되어야 합니다. 이를 위해 데이터를 훈련 세트와 테스트 세트로 나누어 사용합니다.

🔹 훈련 세트 (Training Set)

  • 모델을 학습시키는 데 사용되는 데이터
  • 입력(X_train)과 정답(y_train)을 모두 포함

🔹 테스트 세트 (Test Set)

  • 학습되지 않은 데이터로 모델 성능을 평가하는 데 사용
  • 입력(X_test)과 정답(y_test) 사용

✅ 일반적인 데이터 분할 비율:

  • 훈련 : 테스트 = 80:20 또는 70:30

✅ 데이터 분할 예제 (Python)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

6. 왜 훈련 세트와 테스트 세트가 중요한가?

  • 모델이 훈련 세트에만 잘 작동하면 과적합(Overfitting) 문제가 발생합니다.
  • 테스트 세트는 일반화 성능을 측정하기 위해 필수입니다.
  • 모델 성능 향상을 위해 교차검증(Cross Validation)도 함께 사용됩니다.

✅ 마무리 정리

항목지도학습비지도학습강화학습

정답(label) 있음 없음 없음 (보상 기반)
목적 예측, 분류 패턴 발견, 군집화 최적의 행동 학습
학습 방식 입력-출력 쌍 학습 구조 탐색 시도와 보상 반복
대표 알고리즘 KNN, SVM, 회귀 K-means, PCA, DBSCAN Q-Learning, DQN, PPO
항목 훈련 세트 테스트 세트
사용 목적 모델 학습 모델 평가
포함 데이터 입력 + 정답 입력 + 정답
데이터 비율 약 70~80% 약 20~30%

📢 머신러닝의 기본 개념이 헷갈리셨다면 이제는 명확해졌을 거예요! 더 많은 실습 예제와 설명이 궁금하시다면 블로그를 구독해 주세요 :)

 

반응형