Skip to content

Latest commit

 

History

History
184 lines (105 loc) · 5.32 KB

README.md

File metadata and controls

184 lines (105 loc) · 5.32 KB

Model Training

Model Training이란

데이터를 사용해서 알고리즘을 학습시켜서 예측이나 분류 등의 작업을 수행하는 모델을 생성하는 것

Model Training과정

문제의 유형에 따라 적합한 머신러닝 알고리즘, 학습 방법을 선택

  1. 문제의 유형: 회귀 / 분류 / 클러스터링 / 생성형
  2. 머신러닝 알고리즘: 아래 문제의 유형에 따른 관련 알고리즘이 적혀있음.
  3. 학습 방법: online training / transfer learning / active learning 등

문제의 유형에 따른 머신러닝 알고리즘

1. 회귀

목적:

  • 연속적인 값을 예측하는 것
  • 독립 변수와 종속 변수 간의 선형 관계를 모델링

예시

  • 부동산 가격 예측
  • 연봉 예측

관련 알고리즘

2. 분류

목적:

  • 주어진 입력에 대해 두 개 이상의 클래스 중 하나를 예측하는 것

예시:

  • 스팸 메일 분류, 병 진단

관련 알고리즘

  • Logistic Classification
  • Decision Tree Classification
  • Random Forest Classification
  • K-Nearest Neighbors
  • Neural Networks

3. 클러스터링

목적

  • 비슷한 특성을 갖는 데이터를 그룹으로 묶는 것

예시

  • 고객 세그멘테이션, 문서 군집화

관련 알고리즘

  • K-Means : 데이터를 K개의 Cluster로 분류, 각 Cluster 중심을 최적화
  • DBSCAN : 밀도 기반의 Clustering, Noise가 있는 데이터에 적합
  • Hierarchical Clustering : Tree 구조의 Cluster를 생성하며, 다양한 수준의 클러스터링을 제공

4. 생성형

목적

  • 새로운 데이터를 생성하거나, 데이터의 분포를 학습하는 것
  • 데이터의 분포를 학습하고, 분포에 따라서 적절한 데이터를 생성하는 모델

예시

  • 추천 시스템, 이미지 생성, ChatGPT

관련 알고리즘

  • Restricted Boltzmann Machine : 이진 값의 입력과 출력 사이의 확률적 관계를 학습
  • Variational Autoencoder : 데이터의 Latent Space를 학습하며, 새로운 데이터를 생성
  • Generative Adversarial Network : 생성자와 판별자 두 네트워크가 경쟁하면서 데이터의 분포를 학습

문제 유형에 따른 학습 방법

1. Batch Training

정의

  • 전체 훈련 데이터를 한 번에 사용하여 모델을 학습시키는 방법

설명

  • 모든 훈련 데이터를 한 번에 사용하여 그래디언트를 계산하고 가중치를 업데이트
  • 손실 함수의 그래디언트는 다음과 같이 계산 L은 하나의 훈련 샘플에 대한 손실 함수이고, h는 가설 함수, m은 훈련 샘플의 수

사용 예시

  • 데이터 셋 크기가 작을 때, 또는 충분한 계산 지원이 있을 때 적합

2. Online Training

정의

  • 데이터를 작은 묶음PH배치p.m.으로 나누어 순차적으로 모델을 학습시키는 방법

설명

  • 데이터를 minimWbatch라는 작은 단위로 나누어 학습을 진행하며, 각 minimWbatch마다 가중치를 업데이트
  • 실시간으로 데이터가 수신되는 시스템에서 효과적
  • 더 빠른 수렴을 위해 minimWbatch 크기나 learningmWrate 을 조정할 필요가 있을 수 있음

사용 예시

  • 실시간 트래픽 예측, 주식 가격 예측 등 실시간으로 데이터가 업데이트되는 시스템에서 사용

3. Transfer Learning

정의

  • 사전 훈련된 모델을 사용하여 새로운 문제에 대한 학습을 가속화하는 방법

설명

  • 이미 훈련된 모델의 일부 layersPH예: CNN의 처음 몇 layerp.m.를 재사용하여 새로운 문제에 적용
  • 재사용된 layer의 가중치는 고정될 수도 있고, 추가적인 학습을 통해 조정될 수도 있음

사용 예시

  • ImageNet에서 사전 훈련된 모델을 사용하여 특정 이미지 분류 문제(고양이와 개 분류 등)에 적용

Untitled

4. Reinforcement Learning

정의

  • 에이전트가 환경과 상호작용하면서 보상을 최대화하는 행동을 학습하는 방법

설명

  • 에이전트는 상태 E에서 행동 A를 선택하고, 그에 따른 보상 R을 받음
  • 이후 상태와 행동을 업데이트
  • 대표적인 알고리즘으로는 QmWlearning, DQN, Policy Gradient 등이 있음

사용 예시

  • AlphaGo, 자율 주행, 게임 플레이 최적화

5. Active Learning

정의

  • 모델이 스스로 학습에 사용할 데이터를 선택하는 방법

설명

  • 일반적으로 Labeling이 비용이 많이 드는 경우에 효과적 PH스스로 필요한 샘플을 선택하고, 전문가에게 Labeling을 요청하는 식으로 시스템 구성
  • 일반적으로 불확실성이 높은 Sample을 선호

사용 예시

  • 의료 영상 분석에서 모델이 확신하지 못하는 영상을 의사에게 Labeling 요청을 할 때 사용

6. Ensemble Learning

정의

  • 여러 개의 모델을 조합하여 하나의 강력한 모델을 만드는 방법

설명

  • 여러 개의 모델을 훈련하고 그 결과를 조합
  • 대표적인 방법으로 Bagging, Boosting이 있음

사용 예시

  • Kaggle에서 많이 활용됨