ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Assessing Performance
    머신러닝 기초 2019. 9. 28. 21:36
    반응형

    완성된 모델의 성능을 측정하기 위해서는 실제값과 예측값의 차이인 loss값을 비교하는 것이 편하다. loss를 측정하는 함수를 loss function이라 하는데 아래와 같이 표현된다.

     

    주로 loss function은 Absolute error, Squared error 두 가지를 사용하며 각각 다음과 같다.

     

    Absolute error
    Squared error

    이제 이 error를 적용할 데이터셋이 필요한데 가장 쉬운 방법은 training 데이터셋에 적용하는 것이며 이를 training error라 한다.

     

    1. Training error

    그래프의 보라색 점들 (training 데이터셋)을 이용해 RSS를 최소화하는 모델을 fit 한다. 이때 training error는 아래와 같이 정의된다.

     

    그렇다면 training error는 모델이 복잡할수록(model complexity) 어떻게 변할까? 아래 그래프와 같이 모델이 복잡할수록(모델의 차수가 증가할수록) training error는 감소할 것이다.

    하지만 이렇게 training error가 감소한다고 해서 이 모델이 좋은 모델은 아니다. 만약 training 데이터셋에 없는 새로운 데이터셋에 대한 오차는 클 수 있기 때문이다. (그래프의 파란 점) 따라서 trianing 데이터가 모든 데이터를 포함하지 않는 이상 이 모델이 좋다고 말할 수 없다. 

     

    2. Generalization (true) error

    Generalization(또는 true) error는 아래와 같이 정의된다.

     

    이때 p(x, y)는 x와 y의 미지의 결합 확률분포이다. 같은 방법으로 model complexity와 generalization error의 관계는 다음과 같다.

     

     

    3. Test error

    Test error는 Training set과 다른 데이터셋을 이용해 계산한 error로 Test 데이터셋은 절대로 모델 fitting에 사용되어서는 안 된다. test error는 아래와 같이 정의된다.

     

    앞서 정의한 모든 error를 한 그래프위에 그리면 아래와 같다.

     

    그림에서 w1 이하는 underfitting, w1 이상은 overfitting인 지점이며 w1이 최적의 모델이다. 비슷하게 training set의 수화 error를 비교해보면 아래와 같다.

     

     

    반응형

    '머신러닝 기초' 카테고리의 다른 글

    Ridge Regression #1  (0) 2019.10.03
    Bias-Variance Trade Off  (0) 2019.09.29
    Numerical vs. analytic gradients  (0) 2019.09.23
    Linear regression  (0) 2019.09.22
    Maximum likelihood estimation  (0) 2019.09.20

    댓글

Designed by black7375.