K-fold cross validation에서 핵심은 K개의 fold로 데이터를 분할해서 단일 분할로 모델의 성능을 평가할때보다 reliable한 결과를 얻을 수 있다는 점임.
가령 커피원두를 분류하는 모델이 있다고 가정했을때 이 모델이 콜롬비아 원두에는 좋은 성능을 보이지만 브라질 원두에는 성능이 안좋은 성능을 보인다고하자.
그런데 우연히 validation 데이터에 콜롬비아 원두의 분포가 높게 배정되어있으면 이 모델의 성능은 좋게 나타날것임.
하지만 전체 데이터를 K-fold로 나눈다음에 학습시키고 테스트해본다면 이러한 케이스를 막을 수 있음.
ChatGPT 첨삭
+Stratified K-fold를 쓰면 각 fold에 클래스 비율을 비슷하게 유지할 수 있다는 점을 언급하면 더 완벽해집니다.
+결과를 바탕으로 하이퍼파라미터를 결정한 뒤, 전체 데이터로 최종 단일 모델을 학습한다는 절차를 간단히 덧붙이면 흐름이 매끄럽습니다.
첨에 K-fold cross validation을 모델을 생성해내서 예측까지 하는 방법론으로 생각해서 그러면 이때 생성된 K개의 모델은 어떻게 되는거지 라고 생각했었는데 그게 아니라 이렇게 모델의 성능을 평가하고 난뒤에 최적의 모델의 Hyperparameter를 사용해서 전체 데이터로 모델을 학습시킨뒤에 사용하는거였음.
'컴공' 카테고리의 다른 글
UTM 우분투 설치중 Reboot now 이후에 검은화면 (1) | 2025.06.27 |
---|---|
카데인 알고리즘(최대 부분합 알고리즘) (0) | 2025.05.31 |
Injective(단사) Surjective(전사) (0) | 2025.05.16 |
베이즈 결정 경계와 k값 (0) | 2025.04.23 |
Advantages and Disadvantages of Flexibility (0) | 2025.04.23 |