머신러닝은 데이터의 형태와 학습 방식에 따라 크게 지도학습, 비지도학습, 강화학습으로 나눌 수 있습니다.
1. 지도학습 (Supervised Learning)
정답(label)이 있는 데이터로 학습
입력 데이터와 그에 대응하는 정답(출력)이 쌍으로 주어짐
특징
- 입력과 정답(출력)이 모두 주어진 상태에서 학습
- 모델이 정답을 맞추는 방향으로 파라미터를 조정
- 예측/분류 문제에 주로 사용
대표 문제 유형
1) 분류 (Classification)
- 정답(label)이 범주형(카테고리) 데이터
- 예시: 스팸메일 분류(스팸/비스팸), 암 진단(양성/음성), 꽃 품종 분류(세토사/버시컬러/버지니카)
- 이진분류: 클래스가 2개 (예: 스팸/비스팸)
- 다중분류: 클래스가 3개 이상 (예: 꽃 품종 분류)
2) 회귀 (Regression)
- 정답(label)이 연속적인 수치 데이터
- 예시: 집값 예측, 온도 예측, 주가 예측
대표 알고리즘
- 선형회귀(Linear Regression)
- 로지스틱 회귀(Logistic Regression)
- 결정트리(Decision Tree)
- 랜덤포레스트(Random Forest)
- SVM(서포트 벡터 머신)
- k-NN(최근접 이웃)
2. 비지도학습 (Unsupervised Learning)
정답(label)이 없는 데이터로 학습
데이터의 숨겨진 구조, 패턴, 군집 등을 찾는 것이 목적
특징
- 입력 데이터만 주어지고, 정답은 없음
- 데이터의 유사성, 패턴, 군집 등을 스스로 찾아냄
- 데이터 탐색, 차원 축소, 군집화 등에 사용
대표 문제 유형
1) 군집화 (Clustering)
- 비슷한 데이터끼리 그룹(군집)으로 묶음
- 예시: 고객 세분화, 문서 분류, 이미지 분류
2) 차원 축소 (Dimensionality Reduction)
- 데이터의 중요한 특징만 추출해 차원을 줄임
- 예시: 데이터 시각화, 노이즈 제거
대표 알고리즘
K-means 클러스터링
- 사용자가 군집 개수(k)를 미리 지정
- 임의로 중심점 설정 → 가까운 데이터끼리 군집화 → 중심점 이동 반복
계층적 군집 (Hierarchical Clustering)
- 응집형(Agglomerative): 개별 데이터에서 시작해 점점 합침
- 분할형(Divisive): 전체에서 시작해 점점 나눔
- 덴드로그램(트리 구조)으로 군집 시각화
DBSCAN
- 반경(epsilon)과 최소샘플수(min_samples)로 군집화
- 코어포인트, 경계포인트, 노이즈포인트 개념
주성분분석(PCA)
- 데이터의 분산이 큰 방향으로 축을 재설정해 차원 축소
3. 강화학습 (Reinforcement Learning)
보상(reward)을 최대화하는 방향으로 학습
에이전트가 환경과 상호작용하며 최적의 행동(정책)을 학습
특징
- 정답(label)이 직접적으로 주어지지 않음
- 에이전트가 행동을 선택 → 환경으로부터 보상/벌점 받음 → 경험을 통해 최적의 정책 학습
- 게임, 로봇 제어, 자율주행 등에서 활용
구성 요소
- 에이전트(Agent): 행동을 수행하는 주체
- 환경(Environment): 에이전트가 상호작용하는 대상
- 상태(State): 현재 환경의 정보
- 행동(Action): 에이전트가 선택할 수 있는 행동
- 보상(Reward): 행동에 대한 환경의 평가
대표 알고리즘
- Q-Learning
- SARSA
- DQN(Deep Q-Network)
- Policy Gradient
정리 표
| 구분 | 데이터 형태 | 대표 문제 | 대표 알고리즘 | 예시 |
|---|
| 지도학습 | 입력+정답(label) | 분류, 회귀 | 선형/로지스틱 회귀, SVM | 스팸메일, 집값 예측 |
| 비지도학습 | 입력만 | 군집, 차원축소 | K-means, PCA, DBSCAN | 고객군집, 데이터시각화 |
| 강화학습 | 보상 | 최적화 | Q-Learning, DQN | 게임, 로봇제어 |