지도 학습

From CS Wiki

Supervised Learning

지도 학습은 입력 데이터와 그에 대응하는 정답(레이블)을 기반으로 모델을 학습시키는 기계 학습 방법이다. 목표는 주어진 입력에 대해 올바른 출력을 예측할 수 있도록 모델을 훈련하는 것이다. 주로 예측에 사용되므로 예측 모델(Predictive Model)이라고도 한다.

지도 학습은 정확한 레이블이 있는 데이터가 필요하므로, 데이터 라벨링 작업이 많이 요구되지만 그만큼 성능이 뛰어나다.

지도학습 과정[edit | edit source]

  • 데이터 준비: 입력 데이터와 그에 대응하는 정답을 모아 데이터셋을 구성한다. 예를 들어, 손글씨 숫자 이미지와 해당 숫자를 레이블로 설정할 수 있다.
  • 모델 학습: 입력 데이터와 레이블을 통해 모델을 훈련시킨다. 모델은 입력과 출력 간의 관계를 학습하면서 패턴을 찾아낸다.
  • 성능 평가: 학습된 모델을 새로운 테스트 데이터로 평가하여 성능을 측정한다. 이 과정에서 과적합(overfitting)이 발생하지 않도록 조정이 필요하다. 평가 과정은 검증(Validation)과 테스트(Test)로 나뉜다. 자세한 내용은 아래 지도 학습 데이터 참고.
  • 예측: 학습이 끝난 모델을 이용해 새로운 데이터를 입력하면, 그에 대한 예측값을 반환한다.

지도 학습의 종류[edit | edit source]

  • 분류(Classification): 데이터를 범주로 나누는 작업이다. 예를 들어, 이메일을 스팸과 정상으로 분류하거나, 이미지에서 개와 고양이를 구분하는 문제를 해결할 수 있다.
  • 회귀(Regression): 연속적인 값을 예측하는 작업이다. 예를 들어, 집값을 예측하거나 날씨 데이터를 기반으로 온도를 예측하는 문제를 해결한다.

예시

  • 이미지 분류: 이미지 데이터와 해당 레이블을 학습하여 새로운 이미지가 들어왔을 때 어떤 카테고리에 속하는지 예측한다.
  • 자연어 처리(NLP): 텍스트와 감정 레이블(긍정, 부정)을 학습하여, 새로운 텍스트의 감정을 분류하는 작업이다.
  • 주가 예측: 과거 주가 데이터를 이용해 미래의 주가를 예측하는 모델을 만든다.

지도 학습 데이터[edit | edit source]

훈련 데이터(Training Data)[edit | edit source]
  • 역할: 모델을 학습시키는 데 사용되는 데이터. 입력 데이터와 그에 해당하는 정답(레이블)을 이용해 모델이 패턴을 학습하도록 한다.
  • 목표: 입력과 출력 간의 관계를 잘 학습해 모델이 새로운 데이터를 처리할 수 있도록 만드는 것이 목표다.
  • 과정: 모델은 이 데이터를 반복적으로 학습하며 손실 함수를 통해 예측 오차를 줄여나간다.
검증 데이터(Validation Data)[edit | edit source]
  • 역할: 모델 학습 중에 성능을 평가하는 데 사용되는 데이터. 훈련 중에 사용되지만, 직접적인 모델 학습에는 포함되지 않는다.
  • 목표: 모델이 훈련 데이터에 과적합(overfitting)되는 것을 방지하고, 최적의 하이퍼파라미터(예: 학습률, 배치 크기 등)를 찾는 데 도움을 준다.
  • 과정: 매 에포크(epoch)마다 훈련 데이터 외의 검증 데이터를 통해 모델의 성능을 평가하고, 과적합을 확인하거나 학습을 조정하는 데 사용된다.
테스트 데이터(Test Data)[edit | edit source]
  • 역할: 최종적으로 모델의 성능을 평가하는 데 사용되는 데이터. 모델이 학습이나 검증 과정에서 전혀 보지 못한 데이터로 구성된다.
  • 목표: 모델이 학습한 내용을 바탕으로 실제로 새로운 데이터에 대해 얼마나 잘 예측하는지 측정하는 것이 목적이다. 이 과정에서 얻는 성능이 모델의 일반화 성능을 나타낸다.
  • 과정: 학습이 완료된 후에만 사용하며, 모델이 얼마나 정확하게 예측하는지 평가 지표(정확도, F1 스코어 등)를 통해 측정한다.

지도 학습의 조건[edit | edit source]

지도 학습은 라벨링된 데이터가 필요하다는 필수 조건이 있다.

  • 조건1: 구체적이고 계량 가능한 목표가 있어야 한다.
    • 예:
      • 주가 변동 등 수치를 예측하는 문제
      • 정해진 분류군에서 어디서 속하는지 문제 (분류1, 분류2, 분류3 등 정해진 카테고리 중 선택)
      • Yes or No의 문제(본질적으로 분류1=Yes, 분류2=No의 문제이므로 위와 동일하다)
  • 조건2: 라벨링된 데이터가 충분히 있어야 한다.
    • 여기서 라벨링이란 우리가 예측하고자 하는 값에 대한 라벨링을 의미한다.
    • 즉 주가를 예측하고자 하면 주가에 대한 라벨링이 있어야 한다.
    • 최근 적은 수의 데이터로도 높은 성능을 내는 학습 모델이 있지만, 기본적으로 데이터가 많아야 정확성이 담보된다.