학습하는 동안의 감독 형태나 정보량에 따른 분류
- 지도 학습 supervised learning : 훈련 데이터에 label 이 존재 (분류classification, 회귀regression)
- k-nearest neighbors
- linear regression
- logistic regression
- SVM (Support Vector Machine)
- decision tree & random forest
- neural networks
- 비지도 학습unsupervised learning : 훈련 데이터에 label 이 없음
- 군집clustering
- k-means
- DBSCAN
- HCA (Hierarchical Cluster Analysis) 계층 군집 분석
- outlier detection & novelty detection
- one-class SVM
- isolation forest
- 시각화visualization와 차원 축소dimensionality reduction
- PCA (Principal Component Analysis)주성분 분석
- kernel PCA
- LLE (Locally-Linear Embedding)지역적 선형 임베딩
- t-SNEt-distributed stochastic neighbor embedding
- 연관 규칙 학습association rule learning
- Apriori
- Eclat
- 군집clustering
- 준지도 학습semisupervised learning : 일부만 label 이 있는 데이터, 대부분은 지도 학습과 비지도 학습의 조합으로 이루어짐
- DBN (Deep Belief Network)심층 신뢰 신경망 은 여러 겹으로 쌓인 RBM (Restricted Boltzmann Machine)제한된 볼츠만 머신 의 비지도 학습에 기초함
- 강화 학습reinforcement learning : 학습하는 시스템인 agent가 환경을 관찰해서 행동을 실행한 결과로 reward와 penalty를 받음. 이 때 reward를 최대화하는 전략을 스스로 학습
입력 데이터의 스트림부터 점진적으로 학습할 수 있는가
-
배치 학습batch learning
점진적인 학습이 불가능하다. 새로운 데이터를 학습하려면 전체 데이터를 사용하여 처음부터 다시 훈련해야 함. Offline Learning 이라고도 불린다.
-
온라인 학습online learning
데이터를 순차적으로 학습 (한 개씩 혹은 mini-batch 단위로). 따라서 빠른 변화에 적응해야 하는 시스템에 적합하다.
- 이미 학습한 데이터는 버릴 수 있다
- 아주 큰 데이터셋을 학습할 때에 사용할 수 있다 (외부메모리out-of-core 학습)
- 파라미터인 학습률learning rate
- 높으면 데이터에 빠르게 적응, but 이전 데이터를 잊음
- 낮으면 느리게 학습, but 노이즈에 둔해지는 장점
어떻게 일반화generalize 되는가
- 사례 기반 학습Instance-based learning : 유사도 측정similarity measure 을 통해 새로운 데이터와 학습한 샘플을 비교
- 모델 기반 학습Model-based learning : 샘플들의 모델을 만들어 예측prediction 에 사용
- 모델을 선택하여 성능을 측정하고 최적의 파라미터를 찾는 훈련 진행
출처: Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow