본문 바로가기
실습 & 활동/LG Aimers

Module 3. 지도학습 (분류/회귀) - SL Foundation

by sim0609 2023. 1. 15.

Supervised Learning

지도 학습은 말 그대로 정답이 있는 데이터를 활용해 데이터를 학습시키는 것

입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)를 주어 학습시키며 대표적으로 분류, 회귀 문제가 있음

 

Machine Learning Problem

  • Binary classification(이항 분류)
  • Multi-class classification(다중 클래스 분류)
  • Regression(회귀)

 

 

Supervised Learning

: 입력값 X를 넣었을 때 나오는 Y의 관계를 설명하는 함수 h(x)(학습하는 부분)를 정의하는 것으로,

(X1, Y1)....(Xn, Yn) 형식의 데이터셋을 사용

: X , Y(label(정답)) 출력값으로 모델을 학습시킨 후 접하지 않았던 샘플 X에 대한 Y 값을 예측하는 방식

 

Regression

실수형 변수를 통해 예측하여 예측 결과값이 연속성을 지니고 있는 경우

 

 

Classification

주어진 사진 상단에 label(정답)이 있고, 아래에 입력(X값)에 해당하는 사진들이 있음

 

 

Supervised Learning Process

Phase 1: 머신러닝 모델은 training sample에서의 Y(label) 데이터를 통해 출력을 정확하게

맞출 수 있도록 학습함

→ 모델의 parameter 값을 변경해 나가면서 모델의 정확도를 높임

 

Phase 2: testing sample을 통해 모델의 성능을 확인해가는 과정을 거침

 

 

Supervised Learning Example

입력 표현 == 입력 feature : classification에 효과적인 feature를 도입해야 함아래 예시에서의 입력값은

price(자동차 가격), engine power(엔진)으로 설정

 

 

위의 예제는 Family Car 인지 아닌지를 판단하고자 하는 문제인데, 이 때 Family Car에 속할 경우 Positive samle, 반대의 경우 Negative Sample로 지칭함

 

 

Target function

: 많지 않은 데이터로 정확도가 높은 분류를 할 수 있는 이상적인 모델을 만들기 위해서는 target function f(x)에 근접해야 함 → 이러한 함수를 hypothesis h라고 함

 

 

Learning model

모델의 학습에 있어 중요한 요소

  • Feature Selection: 문제의 적절한 Feature를 선정하여 학습
  • Model Selection: 주어진 문제에 가장 적합한 모델을 선택하여 문제 해결
  • Optimization: 모델 파라미터를 최적화하여 성능 최대화

 

Generalization error를 줄이는 방법

model Generalization: 존재하는 모든 데이터에 대한 모델을 구성할 수 없기 때문에 데이터의 결핍으로 인한

불확실성을 최소화하기 위해 일반화가 중요

 

즉, 모르는 데이터에도 우수한 성능을 제공해야 하는 것이 목표이며, Generalization Error의 최소화가 목적

목표 함수는 이상적인 함수이기에 직접적으로 generalization error를 줄일 수 없음

→ Training Error, Validation ErrorTest Set Error를 이용해 error 최소화 

 

Error

: e(h(x), y)으로 표현 됨

h(x) = model의 출력, y = 정답

 

대표적인 error

: squared error - model의 출력과 정답과의 차이를 제곱해 계산

: binary error - model의 출력과 정답이 틀리면 1을, model의 출력과 정답이 맞으면 0을 출력

 

 

overall error - data sample에서 발생하는 모든 sample들의 pointwise error를 합쳐서 overall error 계산

overall error == loss function, cost function

 

 

주요 Error

E_train

: 모델을 주어진 data set에 맞춰 학습하는데 사용하는 error

: 주어진 sample에서 model parameter를 최적화하는데 사용

 

E_test

: model이 실제 세계에서 사용됐을 때 발생하는 error

목표 - E_test와 E_general을 0으로 근사시키는게 중요

 

모델의 error를 줄이기 위해

  • E_train와 E_test이 가까워지도록 학습
  • E_train의 값이 0에 가까워지도록 학습

 

1. E_train와 E_test이 가까워지도록 학습 - 최악의 경우

problem) 모델의 분산이 커져, 학습데이터셋에 의존하는 overfitting 문제가 발생

solution) 정규화나 더 많은 데이터 셋으로 해결할 수 있음

 

2. E_train의 값이 0에 가까워지도록 학습 - 최악의 경우

problem) 모델의 bias가 커져, underfitting 문제가 발생

solution) 최적화나 더 복잡한 모델을 사용해 해결할 수 있음

 

Model 정확도를 높이는 방법

bias 줄이기 / model 일반화 높이기 / variance 줄이기

따라서, variance와 bias 사이에는 서로 반비례 관계인 trade-off 관계가 존재

 

Total Loss = Bias + Varinace (+ noise)

 

Underfitting

: 모델의 bias가 클 때 발생 

: 그림과 같은 linear한 모델은 decision boudary에 효과적으로 근사할 수 없음

 

 

Overfitting

: 모델의 variance가 클 때 발생

 

주황색 - 플러스 영역이 마이너스 영역으로 됨

파란색 - 마이너스 영역이 플러스 영역으로 됨

 

: decision boudary가 과하게 복잡해짐

 

 

Bias-variance trade-off

 

underfitting zone: bias 높음 / variance 낮음(데이터가 흩어져 있음) - 분류가 잘 됨

overfitting zone: bias 낮음 / variance 높음(데이터가 모여 있음) - 분류가 힘듦

 

최적의 모델을 만들기 위해서는 generalization error가 최소화되는 지점으로 설정해야 함

 

Avoid overfitting

무수히 많은 데이터를 확보하는데 어려움이 있어 Data augmentation(데이터 증강)이 등장
RegularizationEnsemble

 

Cross - validation(CV)

: 학습 데이터셋을 k개의 그룹으로 나누어 (k-1)개의 그룹은 학습(training data)에 사용하고 1개의 그룹은

성능 평가(validation data)에 사용하는 방법으로, 부족한 데이터셋의 빈틈을 채워줄 수 있는 방법