본문 바로가기
Computer Science/기계학습

[Classification 1] 1. Introduction to supervised learning approach

by 큌 2024. 4. 21.
반응형

Content

  • Introduction to supervised learning approach
  • Data split in supervised learning
  • Classification algorithms
    • KNN & distance measures
    • Decision tree
    • Random Forest, Ensemble approach
    • SVM

1. INTRODUCTION TO SUPERVISED LEARNING

1.1 Supervised learning

  • 지도 학습은 주어진 입력(X)에 대해 예측하고자 하는 출력(Y)을 예측하는 학습 방법. (Task: given X, predict Y)
    • 이 과정에서 사용되는 데이터는 레이블이 지정된 데이터, 즉 X(입력)와 Y(출력) 모두가 포함된 데이터.
    • "예측 결과(Y)"를 예측하는 것이 주된 목표.
  • 지도 학습의 핵심은 학습 데이터셋을 사용하여 모델이 입력(X)에서 출력(Y)으로의 매핑을 학습하게 하는 것.
  • 이렇게 학습된 모델은 새로운, 미지의 데이터에 대해 정확한 예측을 할 수 있게 됨.
    • 예를 들어, 이메일이 스팸인지 아닌지를 판별하는 경우
      • 학습 데이터셋에는 이메일의 내용(X)과 해당 이메일이 스팸인지 아닌지의 정보(Y)가 포함.
      • 모델은 이 데이터를 바탕으로 학습하여, 새로운 이메일이 주어졌을 때 이를 스팸으로 분류할지 아닐지를 예측.
  • 지도 학습은 분류(Classification)와 회귀(Regression)의 두 가지 주요 유형으로 나뉨.
    • 분류는 출력 변수(Y)가 범주형 데이터일 때 사용.
    • 회귀는 출력 변수가 연속적인 값을 가질 때 사용.
      • 예를 들어, 이메일 스팸 분류는 분류 문제에 해당하고, 집의 가격을 예측하는 것은 회귀 문제에 해당.

Explain whether each scenario is a classification or regression problem, and provide n (# of samples) and p (# of features).

  • 미국 상위 500개 기업에 대한 데이터를 수집.
    • 각 기업에 대해 이익, 직원 수, 산업 및 CEO의 급여를 기록.
    • CEO 급여에 영향을 미치는 요인을 이해하고자 함.
      • 이 시나리오는 회귀 문제입니다. CEO의 급여(연속적인 값)를 예측하는 것이 목표이기 때문.
      • n (샘플 수)는 500 (상위 500개 기업).
      • p (특성 수)는 4 (이익, 직원 수, 산업, CEO 급여).
  • 새로운 제품을 출시하려고 하며, 이 제품이 성공할지 실패할지 알고 싶다.
    • 이전에 출시된 20개의 유사 제품에 대한 데이터를 수집.
    • 각 제품에 대해 성공 또는 실패 여부, 제품 가격, 마케팅 예산, 경쟁 제품의 가격 및 기타 10개 변수를 기록.
      • 이 시나리오는 분류 문제. 제품이 성공인지 실패인지 (범주형 결과)를 예측하는 것이 목표이기 때문.
      • n (샘플 수)는 20 (유사 제품).
      • p (특성 수)는 13 (성공/실패 여부, 제품 가격, 마케팅 예산, 경쟁 제품의 가격 및 기타 10개 변수).
  • 미국 달러의 주간 변동률을 세계 주식 시장의 주간 변동률과 비교하여 예측하고자 함.
    • 따라서 2012년의 주간 데이터를 모두 수집.
    • 각 주에 대해 달러의 % 변동률, 미국 시장의 % 변동률, 영국 시장의 % 변동률 및 독일 시장의 % 변동률을 기록.
      • 이 시나리오는 회귀 문제.
        • 달러의 변동률(%로 표현되는 연속적인 값)을 예측하는 것이 목표이기 때문.
      • n (샘플 수)는 2012년 한 해 동안의 주 수. (구체적인 주 수는 제공되지 않았지만, 일반적으로 1년은 대략 52주).
      • p (특성 수)는 4 (달러의 % 변동률, 미국 시장의 % 변동률, 영국 시장의 % 변동률, 독일 시장의 % 변동률).

 

1.2 Supervised learning: two-stage process

  • 지도 학습은 크게 두 단계 과정으로 이루어짐.
    • 훈련(Training)과 추론(Inference, 또는 예측/테스트).
      • 훈련(Training)
        • 이 단계에서는 훈련 데이터를 사용해 모델이 학습.
        • 훈련 데이터는 입력(X)과 그에 대응하는 정답 레이블(Y)이 포함된 레이블이 지정된 데이터 세트.
        • 목표는 모델이 이 데이터로부터 학습하여 입력 데이터와 출력 데이터 간의 관계를 이해하고 내재화하는 것.
        • 이 과정을 통해 모델은 주어진 입력에 대해 올바른 출력을 예측하는 방법을 배움.
      • 추론(Inference) 또는 예측/테스트
        • 훈련이 완료된 후, 모델은 보지 못한 새로운 데이터에 대해 예측을 수행하는 단계로 진행.
        • 이 단계에서 모델은 훈련 과정에서 학습한 지식을 적용하여 새로운 입력 데이터(X)에 대한 예측된 출력(Y)을 생성.
        • 추론 단계는 모델이 실제 세계의 데이터나 테스트 데이터 세트에서 얼마나 잘 작동하는지를 평가하는데 사용.
        • 이 단계에서 모델의 성능은 보통 정확도, 정밀도, 재현율 등의 지표를 통해 평가.

1.3 Supervised learning: two-stage process

  • 지도 학습은 크게 두 단계의 과정.
    • 학습(훈련) 단계와 예측(테스트) 단계.
      • 학습(훈련) 단계
        • 이 단계에서는 알려진 클래스 레이블이 있는 훈련 데이터를 사용하여 분류기를 만든다.
        • 즉, 입력 데이터(X)와 해당하는 출력 레이블(Y)이 포함된 데이터 세트를 사용하여 모델이 이 둘 사이의 관계를 학습하도록 함.
        • 목표는 모델이 주어진 입력에 대해 올바른 출력을 예측할 수 있도록 하는 것.
      • 예측(테스트) 단계
        • 학습 단계를 거친 후, 학습된 분류기를 사용하여 새로운 데이터에 대한 레이블을 예측.
        • 이 단계에서는 모델이 새로운, 보지 못한 데이터에 대해 얼마나 잘 작동하는지 평가.
        • 즉, 학습 단계에서 얻은 지식을 적용하여 새로운 입력 데이터(X)에 대한 예측된 출력(Y)을 생성.
  • 요약하자면, 지도 학습에서는 먼저 알려진 레이블이 있는 훈련 데이터를 사용하여 모델을 학습시킨 다음 학습된 모델을 사용하여 새로운 데이터에 대한 레이블을 예측.
  • 이 두 단계를 통해 모델은 입력 데이터에서 유용한 패턴을 학습하고 이를 새로운 데이터에 대한 예측에 적용.

1.4 Training vs. Test data

  • 학습 데이터(Training data)
    • 학습 데이터는 알려진 레이블을 사용하여 분류기를 학습시키는 데 사용.
    • 이 데이터 세트는 모델이 입력 데이터와 해당 출력 레이블 간의 관계를 학습하게 하여, 주어진 입력에 대한 올바른 출력을 예측할 수 있도록 함.
    • 학습 데이터는 모델이 학습 과정에서 사용하는 예제의 집합.
  • 테스트 데이터(Test data)
    • 테스트 데이터는 학습된 분류기의 성능을 평가하거나 새로운 데이터에 대한 레이블을 예측하는 데 사용.
    • 이 데이터 세트는 모델이 이전에 보지 못한 데이터로 구성되며, 모델이 학습 데이터에서 배운 지식을 얼마나 잘 일반화하는지 평가하는 데 사용.
    • 테스트 데이터를 사용하여 모델의 정확도, 정밀도, 재현율 등의 성능 지표를 측정할 수 있다.
  • 요약하자면, 학습 데이터는 모델이 학습하고 패턴을 인식하는 데 사용되며, 테스트 데이터는 학습된 모델의 성능을 평가하고 새로운 데이터에 대한 예측을 수행하는 데 사용.

1.5 Example: Iris dataset (3-class)

  • 아이리스 데이터셋(3개의 클래스를 가진)을 사용한 예시를 통해, 지도 학습 과정을 살펴보자.
    • 데이터 분할
      • 데이터셋을 70%는 훈련 데이터로, 30%는 테스트 데이터로 분할.
      • 이렇게 분할하는 이유는 모델이 훈련 데이터에서 학습한 후, 본 적 없는 새로운 데이터(테스트 데이터)에 대해 얼마나 잘 예측하는지 평가하기 위함.
      • 훈련 데이터만으로 모델을 평가하면, 모델이 단순히 훈련 데이터에 과적합되어 실제 상황에서는 잘 작동하지 않을 위험이 있다.
    • 전처리
      • 데이터의 특성들(feature)이 서로 다른 스케일을 가지고 있을 때, 이를 표준화하여 평균이 0이고 분산이 1이 되도록 조정.
      • 이는 모델의 수렴 속도를 높이고, 더 좋은 성능을 얻기 위해 필요한 과정.
    • Training(훈련)
      • Perceptron 모델 같은 분류기를 사용하여 훈련 데이터에 대해 학습을 진행.
      • 이 단계에서 모델은 주어진 입력 데이터에 대한 올바른 출력(클래스 레이블)을 예측하기 위해 필요한 가중치를 조정.
    • Test(테스트)
      • 학습된 모델을 사용하여 테스트 데이터에 대한 예측을 수행.
      • 이 단계에서는 모델이 본 적 없는 데이터에 대해 얼마나 잘 예측하는지를 평가.
      • 이를 통해 모델의 일반화 능력을 평가할 수 있다.
  • 다른 분류 알고리즘을 사용할 수도 있다.
  • 예를 들어, k-최근접 이웃(K-Nearest Neighbors), 결정 트리(Decision Trees), 서포트 벡터 머신(SVM), 랜덤 포레스트(Random Forests) 등 다양한 알고리즘이 있는데, 각각의 알고리즘은 데이터의 특성과 문제의 성격에 따라 다르게 적용될 수 있다.

1.6 Model selection

 

반응형