Koo's.Co

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

DataScience

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

kth321 2022. 7. 27. 17:32

머신러닝 알고리즘의 종류는 매우 다양합니다. 이들을 넓은 범주에서 분류하고 사용한다면 이해하는 데 도움을 줄 수 있습니다.

  • 사람의 감독하에 훈련하는 것인지의 여부: 지도, 비지도, 준지도, 강화 학습
  • 실시간으로 점진적 학습을 하는지 여부: 온라인 학습, 배치 학습
  • 저장하고 있는 데이터와 새로운 데이터를 비교 or 데이터에서 패턴을 발견 해 예측 모델을 만드는지: 사례 기반 학습, 모델 기반 학습

위 범주들은 서로 배타적이지 않습니다.

(ex) 지도학습이며 배치 학습이며 사례 기반 학습인 머신러닝 알고리즘)

 

1. 지도학습과 비지도 학습

  • "학습하는 동안의 감독 형태나 정보량" 에 따라 분류
  • 지도 학습, 비지도 학습, 준지도 학습, 강화 학습으로 구분

 

① 지도학습

  • 훈련 데이터가 레이블을 포함하고 있음
  • 분류 알고리즘과 회귀 알고리즘으로 나뉨
  • 분류: 기존의 데이터 셋을 이용해 새로운 데이터를 다른 범주로 분류하도록 학습
  • 회귀: 독립 변수를 사용해 타깃이 되는 종속 변수의 수치를 예측

- K-최근접 이웃, 선형 회귀, 로지스틱 회귀, SVM, 결정 트리/ 랜덤 포레스트, 신경망 ...

 

② 비지도학습

  • 훈련 데이터가 레이블을 포함하고 있지 않음

- 군집

    - K-means clustering

    - DBSCAN

    - 계층 군집 분석

- 이상치/특이치 탐지

    - One-class SVM

    - 아이솔레이션 포레스트

- 시각화 / 차원 축소

    - 주성분 분석(PCA)

    - 커널 PCA

    - 지역적 선형 임베딩

...

 

③ 준지도학습

  • 레이블이 있는 데이터와 없는 데이터를 사용해 학습
  • 대부분의 준지도 학습 알고리즘은 지도 학습과 비지도 학습의 조합으로 구성

 

④ 강화 학습

  • 에이전트(학습하는 시스템)가 환경을 관찰한 후 행동을 실행, 그에 따른 보상을 받음
  • 가장 큰 보상을 얻기 위해 최상의 전략(정책)을 학습하는 것이 목표

- 보행 로봇, 알파고, ...

 

2. 배치학습과 온라인학습

  • 입력 데이터 스트림으로부터 점진적으로 학습할 수 있는지 여부를 나타냄

 

① 배치학습

  • 시스템이 점진적으로 학습할 수 없음
  • 한 번 데이터로 시스템을 학습시킨 후에는 별도의 학습이 없음
  • 새로운 데이터에 대해 학습하려면 전체 데이터와 새로운 데이터를 이용해 처음부터 다시 훈련해야 함

 

② 온라인학습(점진적 학습)

  • 데이터를 순차적으로 한 개씩 또는 미니배치라 부르는 작은 묶음 단위로 시스템을 훈련
  • 빠른 변화에 스스로 적응해야 하는 시스템에 적합
  • 컴퓨터의 메모리의 크기를 넘어서는 큰 데이터셋을 학습하는 경우 유용
  • 컴퓨팅 자원이 제한된 경우에 유용
  • 학습한 데이터는 더 이상 필요하지 않음
  • 나쁜 데이터가 주입되는 경우 성능이 점진적으로 감소
  • 학습률(변화하는 데이터에 얼마나 빠르게 적응할 것인지)이 중요

        - 학습률이 높은 경우: 시스템에 빠르게 적응하지만 이전 데이터를 금방 잊어버림

        - 학습률이 낮은 경우: 시스템의 관성이 커져 더 느리게 학습

 

3. 사례 기반 학습과 모델 기반 학습

  • 어떻게 일반화 되는가에 따라 분류

① 사례 기반 학습

  • 훈련 데이터를 기억함으로써 학습
  • 유사도 측정을 통해 새로운 데이터와 학습한 데이터를 비교하는 방식으로 일반화
  • ex) K-최근접 이웃

 

② 모델 기반 학습

  • 샘플들을 이용해 모델의 하이퍼 파라미터 값을 조정해 모델을 통해 예측하는 방식으로 일반화

 


머신러닝 알고리즘의 분류에 대해 정리해 보았습니다. 아직 공부하는 중이라 정확한 개념 이해에 부족함이 있을 수 있는데 점차 공부해가며 내용도 조금씩 다듬어 가려합니다.

 

참고 서적

- Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow 2판, Aurélien Géron

Comments