본문 바로가기

Mathematics/Machine Learning

Testing and validating machine learning

반응형

머신러닝 모델을 만들면 당연히 테스트해봐야 한다.

 

테스팅 방법

  • training set 과 test set
    • training set으로 학습시키고, test set으로 테스트를 해본다
      보통은 training set에서 1~20% 정도를 test set으로 남겨두거나, 데이터의 양에 따라서 가감한다
    • test set에서 생기는 에러율을 generalization error 혹은 out of sample error라고 부른다
    • 일반화 에러가 높다면, training data 에서 과최적화를 했다는 것이다.

 

Hyperparameter Tuning and Model Selection

  • 모델 선택을 할 때(선형모델, 다항모델 등)도 마찬가지
  • 트레이닝셋으로 비교하고자 하는 모델에서 모두 학습시킨 뒤 테스트셋으로 나누어 테스트

 

 

Data Mismatch

데이터를 많이 구하더라도, 그 데이터가 만들어질 데이터를 대변하지 못하는 경우가 있다.

  • 최대한 데이터가 전체 데이터를 대표하는 성질을 가져야 한다.

 

No Free Lunch Theorem(공짜 점심은 없다)

모델을 만들 때는 결국 일반화를 하는 것이므로, 데이터 패턴에 대한 추정을 할 수 밖에 없다. 원인변수와 결과변수에 대해서 제대로된 모델을 찾기 위해서는 제대로 판단하고, 유효할 것으로 추정한 다양한 모델들을 시도해봐야 한다.

  • 심플한 것이라면 $\to$ 몇 가지 하이퍼파라미터를 조정한 선형모델을 학습시켜본다.
  • 복잡한 것이라면 $\to$ 몇 가지 딥러닝 알고리즘을 적용시켜본다.
  • 등등

 

반응형