감독 유무: 지도 / 비지도 / 준지도 / 강화
데이터 조건을 눈여겨 봐봐
| 학습 방식 | 데이터 조건 | 접근 방법 | 대표 알고리즘/모델 | 예상 결과 |
|---|---|---|---|---|
| 지도 학습 (Supervised) | 라벨 있음 (스팸/정상 표시된 메일 다수) | 레이블로 분류기 훈련 | 로지스틱 회귀, 랜덤 포레스트, CNN(Text CNN), Transformer(BERT) | 새 메일 → “스팸 확률 95%” 정확히 분류 |
| 비지도 학습 (Unsupervised) | 라벨 없음 (메일 본문만 있음) | 텍스트 패턴 기반 군집/이상치 탐지 | k-평균, GMM, Autoencoder, PCA | “광고 메일” 등 군집 자동 발견, 이상치 메일 스팸 후보 |
| 준지도 학습 (Semi-supervised) | 소량 라벨 (1만 개) + 대량 비라벨 (100만 개) | 초기 모델 학습 후 비라벨 데이터에 pseudo-label 부여 | Pseudo-labeling, FixMatch, Semi-supervised GAN | 라벨링 비용 절약, 성능↑ |
| 강화 학습 (Reinforcement) | 라벨 없음, 보상은 사용자의 행동 (“스팸 신고” 버튼 클릭) | 정책(policy) 학습 → 보상 최대화 | Q-learning, Policy Gradient, PPO | 점점 사용자 취향에 맞는 스팸 필터 |
학습 시간축: 배치 / 온라인
일반화 방식: 사례 기반 / 모델 기반
필요에 따라 조합 가능 (예: 온라인 + 지도 + 모델 기반 스팸 필터)
입력–정답(레이블)으로 학습 (분류/회귀)
알고리즘: k-NN, 선형·로지스틱 회귀, SVM, 결정트리·랜덤포레스트, 신경망
예시: 스팸 분류, 중고차 가격 예측
주의: 라벨 품질 중요, 데이터 분포 변동(드리프트)에 취약
레이블 없이 구조·패턴 탐색
알고리즘: k-평균, HCA, EM, PCA/커널 PCA, LLE, t-SNE, UMAP, Apriori, Eclat
예시: 방문자 군집화, 이상 거래 탐지, 시각화
주의: 목적함수 모호, 파라미터 민감
일부 라벨 + 대량 비라벨 데이터 활용
알고리즘: Pseudo-Labeling, FixMatch, DBN, RBM
예시: 사진 일부에 이름 붙여 전체 분류
주의: 라벨 품질에 민감
에이전트가 환경과 상호작용하며 보상 최대화 정책 학습
알고리즘: Q-learning, Policy Gradient, DQN, PPO
예시: 로봇 보행, AlphaGo, 추천 시스템
주의: 보상 설계 중요, 안정적 학습 난이도 높음
특징: 모든 데이터를 모아 한 번에 학습, 배포 후 고정
장점: 안정성, 재현성
단점: 변화 적응 느림
특징: 데이터가 들어오는 대로 점진적 학습
장점: 실시간 적응, 자원 효율적
단점: 학습률 설정 민감, 악성 데이터 위험
정의: 학습 데이터를 기억하고 유사도 기반 예측(k-NN)
장점: 학습 간단, 직관적
단점: 추론 느림, 고차원에서 취약
데이터를 함수 모델로 근사 후 파라미터 학습
장점: 추론 빠름, 일반화 용이
단점: 모델 가정·튜닝 필요
| 분류 기준 | 유형 | 특징 | 대표 알고리즘/모델 | 예시 |
|---|---|---|---|---|
| 감독 유무 | 지도 학습 | 레이블 있음 | k-NN, 회귀, SVM, 신경망 | 스팸 분류, 가격 예측 |
| 비지도 학습 | 레이블 없음 | k-평균, PCA, Apriori | 군집, 시각화, 이상치 탐지 | |
| 준지도 학습 | 라벨 일부만 있음 | Pseudo-Labeling, FixMatch | 사진 자동 라벨링 | |
| 강화 학습 | 보상 기반 | Q-learning, DQN, PPO | 로봇 제어, 게임 | |
| 시간축 | 배치 | 데이터 한꺼번에 학습 | 모든 모델 가능 | 정기적 재학습 |
| 온라인 | 데이터 유입 시점마다 학습 | SGD, Online SVM | 주식 예측, 실시간 추천 | |
| 일반화 | 사례 기반 | 유사도 비교 | k-NN | 유사 문서 검색 |
| 모델 기반 | 함수 근사 | 회귀, 트리, NN | GDP→삶의 만족도 예측 |
데이터 = 행(row, 샘플) × 열(column, 특성)
특성이 많을수록 차원이 커짐
“고차원”이라고 하면 보통 수백, 수천, 수만 개의 특성을 가진 데이터를 말합니다.
고차원 데이터 = 특성(feature) 수가 매우 많은 데이터.
이미지, 텍스트, 유전자 데이터 등이 대표적이며, “차원의 저주” 때문에 차원 축소/특성 선택 같은 전처리가 자주 필요합니다.
이미지 데이터
흑백 28×28 픽셀 = 784차원
컬러 256×256 RGB = 256 × 256 × 3 = 196,608차원
→ 픽셀 하나하나가 특성이므로 고차원 벡터
텍스트 데이터 (Bag-of-Words, TF-IDF)
유전체/생물학 데이터
추천 시스템
거리 기반 학습 어려움
과적합 위험 증가
연산량 폭발
차원 축소 (Dimensionality Reduction)
PCA: 주요 성분으로 압축
t-SNE, UMAP: 고차원 데이터를 2D/3D로 시각화
특성 선택 (Feature Selection)
희소 표현 (Sparse Representation)
👉 라벨이 있는 데이터로 학습
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
예시: 스팸 메일 분류, 집값 예측
👉 라벨이 없는 데이터에서 구조 탐색
from sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
예시: 고객 군집화, 이상치 탐지
👉 소량 라벨 + 대량 비라벨 데이터 활용
from sklearn.semi_supervised import SelfTrainingClassifier
model = SelfTrainingClassifier(LogisticRegression())
예시: 사진 일부에 이름 붙이고 나머지 자동 분류
👉 정답 대신 보상(Reward)으로 학습
from stable_baselines3 import DQN
model = DQN("MlpPolicy", env)
예시: 게임 에이전트, 로봇 제어
정리: “대표 알고리즘”이라고 해도 사실 코드에서는 함수 한 줄입니다.
중요한 건 왜 그 함수를 쓰는지와 데이터가 어떤 성격인지입니다.