카테고리 없음

모형의 적합성 평가 및 실험 설계

문베디드 2020. 11. 27. 08:28

* 모형의 적합성을 평가하는 방법

  - MSE(Mean Squared Error)는 낮을 수록 좋음, 높은 경우 fitting이 덜된것(under fitting)

  - 학습집합의 MSE는 모형의 복잡도에 따라 달라지고, 복잡할수록 감소하지만 과적합(overfitting)문제 발생 가능

 

* 데이터 분할

  - 학습데이터와 시험데이터로 분할 필요 (Training Test - 8:2, 7:3 정도/Training Validation Test - 5:3:2 정도)

  - 보통 Training Validation Test 구분하여 나눠서 진행

  - 학습데이터: 모형 f를 추정하는데 사용

  - 검증데이터: 모형 f가 잘 설계 됐는지 사용(k값 피드백 줄수 있음)

  - 시험데이터: 모형 f에 대한 성능평가 이 데이터로 학습 x

  - 데이터분할>모형학습>모형선택>최종 성능 지표 도출

  - 데이터를 어떻게 분리하느냐에 따라 성능이 달라짐

  - 하이퍼 파라미터를 바꿀 필요가 없을경우 training test로 분할해도 됨

 

* k-Fold 교차 검증(k-Fold Cross Validation)

  - 모형의 적합성을 보다 객관적으로 평가하기 위한 방법

  - 데이터를 k(주로 5 또는 10)개 부분으로 나눈뒤 그중 하나를 검증, 나머지를 학습으로 분류

  - 위 과정을 k번 반복하고 k개 성능 지표를 평균하여 모형의 적합성 평가

  - 모든 데이터에 대한 학습 및 평가 가능, 데이터가 많이 않은 경우 사용

 

* LOOCV(Leave-One-Out Cross Validation)

  - 데이터 수가 극단적으로 적을때 사용(K-Fold 로 할때 성능이 다르게 나올경우)

  - 총n(데이터 수만큼)개 모델 생성후 1개 샘플 제외후 모델 설계, 성능지표 계산, n개의 성능지표 평균으로 평가

 

* 데이터 분석과정

  - Raw데이터 > 전처리된 데이터 > 실험설계 > [모델]

 

* 전처리

  - 예) 게임 유저 이탈 예측 문제

  - 어떤 변수가 게임 이탈에 영향을 끼칠까?

  - 노력대비 성과가 부족할 경우?

-> 던전 입장과 클리어수, 비용과 경험치 -> 비용대비 경험치, 던전 클리어율 등의 새로운 데이터 생성 가능

-> feature를 목적에 맞게 잘 설계하는것이 중요함

 

* 실험설계

  - 실험설계에서 test 데이터는 실제로 우리가 모델을 적용한다는 가정하에 해야함

  - 데이터가 서로연관되어 있고 순서가 있으면 그에 맞춰서 데이터를 학습, 검증 해야함

  - class imbalance 한 경우에도 맞춰저야함

     -- 예를 들어 9:1 비율이라면 학습, 검증, 시험 데이터도 9:1비율로 나눠져 있게 해야함)