SyntaxHighlighter.all(); 또르의 개발노트 :: 또르의 개발노트 ss
반응형

홀드아웃(Hold Out)

  • 원천 데이터를 랜덤하게 두 개로 분리하여 성능을 평가하는 방법
  • 하나는 모형 학습 및 구축을 위한 훈련용 자료, 다른 하나는 성과평가를 위한 테스트용 자료로 사용
  • 훈련용 데이터는 다시 훈련과 검증 자료로 나눠 사용할 수 있음
  • 즉, 데이터를 학습 , 검증, 시험(테스트) 세트 세 가지로 분할하여 사용할 수 있음
  • 7:3 또는 8:2 등의 비율로 학습 데이터와 테스트 데이터로 분할함 
  • 일반적으로 랜덤추출 방법을 활용하여 데이터가 편향되지 않도록 함
  • 과대적합(overitting) 발생 여부 확인을 위해 train, test에 대해 평가 후 비교 ( train >> test 면 과대 적합)

*데이터 분할 시 주의사항

  • 학습 데이터와 테스트 데이터는 겹쳐서는 안됨
  • 검증 데이터와 테스트 데이터는 일치할 수 있음
  • 학습데이터가 부족하면 알고리즘 학습이 어려울 수 있음
  • 불균형 데이터의 경우 불균형 범주의 비율을 유지하도록 분할하기도 함

 

교차검증(Cross Validation)

  • 데이터가 충분하지 않을 경우 Hold-Out으로 나누면 많은 양의 분산 발생
  • 이에 대한 해결책으로 교차검증을 사용 할 수 있음, 데이터가 충분하지 않은 경우 사용
  • 클래스 불균형 데이터에는 적합하지 않음
  • 주어진 데이터를 가지고 반복적으로 성과를 측정하여 그 결과를 평균한 것으로 모형을 평가하는 방법
  • K-Fold 교차검증
    1. 전체 데이터를 shuffle
    2. k개로 데이터를 분할
    3. k번째 하부 집합을 검증용 자료, k-1개의 훈련용 자료로 사용하여 k번 반복 측정
    4. 결과를 평균 낸 값을 최종 평가로 사용함
      K >= 2 사용 한다
  1. LOOCV(Leave-One-Out Cross Validation)
    • 1개의 관측값만 validation set으로 사용하고, 나머지 n-1개를 train set으로 사용함, n번 학습 진행
    • K=n인 경우의 교차검증
    • 학습 후 n개의 MSE를 평균하여 최종 MSE를 계산함
    • 매우 많은 반복 학습으로 시간이 오래 걸림
    • 주로 데이터가 한정적이고, 새로운 데이터에 대한 정확한 에러 예측을 하고 싶을때 사용함

 

붓스트랩(Bootstrap)

  • 평가를 반복하는 측면에서 교차검증과 유사하지만 훈련용 자료를 반복 재선정한다는 점에서 차이가 있는 평가 방법
  • 붓스트랩은 관측치를 한 번 이상 훈련용 자료로 사용하는 복원추출법에 기반함
  • 전체 데이터 양이 크지 않을 경우에 가장 적합
  • 훈련 데이터를 63.2%사용하는 0.632 붓트랩이 있음 (사용하지 않는 비율 : 36.8%)
반응형

+ Recent posts