[ML] 머신러닝 시스템의 종류

학습하는 동안의 감독 형태나 정보량에 따른 분류

  1. 지도 학습 supervised learning : 훈련 데이터에 label 이 존재 (분류classification, 회귀regression)
    • k-nearest neighbors
    • linear regression
    • logistic regression
    • SVM (Support Vector Machine)
    • decision tree & random forest
    • neural networks
  2. 비지도 학습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
  3. 준지도 학습semisupervised learning : 일부만 label 이 있는 데이터, 대부분은 지도 학습과 비지도 학습의 조합으로 이루어짐
    • DBN (Deep Belief Network)심층 신뢰 신경망 은 여러 겹으로 쌓인 RBM (Restricted Boltzmann Machine)제한된 볼츠만 머신 의 비지도 학습에 기초함
  4. 강화 학습reinforcement learning : 학습하는 시스템인 agent가 환경을 관찰해서 행동을 실행한 결과로 reward와 penalty를 받음. 이 때 reward를 최대화하는 전략을 스스로 학습

입력 데이터의 스트림부터 점진적으로 학습할 수 있는가

  1. 배치 학습batch learning

    점진적인 학습이 불가능하다. 새로운 데이터를 학습하려면 전체 데이터를 사용하여 처음부터 다시 훈련해야 함. Offline Learning 이라고도 불린다.

  2. 온라인 학습online learning

    데이터를 순차적으로 학습 (한 개씩 혹은 mini-batch 단위로). 따라서 빠른 변화에 적응해야 하는 시스템에 적합하다.

    • 이미 학습한 데이터는 버릴 수 있다
    • 아주 큰 데이터셋을 학습할 때에 사용할 수 있다 (외부메모리out-of-core 학습)
    • 파라미터인 학습률learning rate
      • 높으면 데이터에 빠르게 적응, but 이전 데이터를 잊음
      • 낮으면 느리게 학습, but 노이즈에 둔해지는 장점

어떻게 일반화generalize 되는가

  1. 사례 기반 학습Instance-based learning : 유사도 측정similarity measure 을 통해 새로운 데이터와 학습한 샘플을 비교
  2. 모델 기반 학습Model-based learning : 샘플들의 모델을 만들어 예측prediction 에 사용
    • 모델을 선택하여 성능을 측정하고 최적의 파라미터를 찾는 훈련 진행

출처: Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow