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% |
📢 머신러닝의 기본 개념이 헷갈리셨다면 이제는 명확해졌을 거예요! 더 많은 실습 예제와 설명이 궁금하시다면 블로그를 구독해 주세요 :)
'IT (IT)🤖🧠 > AI' 카테고리의 다른 글
현실세계 다양한 문제해결을 위한 다중회귀 (0) | 2025.03.22 |
---|---|
k-최근접 이웃 회귀(KNN Regression) 알고리즘 완벽 가이드 (0) | 2025.03.22 |
k-Nearest Neighbors (KNN) 알고리즘과 Python 라이브러리 활용법 (0) | 2025.03.22 |
인공지능과 머신러닝 그리고 딥러닝 (0) | 2025.03.22 |
[ChatGPT] 인공지능 기술로 이미지 생성 (0) | 2024.04.21 |