카카오 계정과 연동하여 게시글에 달린
댓글 알람, 소식등을 빠르게 받아보세요

가장 핫한 댓글은?

ML K-Fold Cross Validation 질문

2021.09.07

5

3276

머신러닝을 공부하던 중 K-Fold Cross Validation에 이해가 가지 않는 부분이 생겨 혹여나 도움을 받을 수 있을까 질문드립니다.

5-fold로 train_test_split을 하여 총 5번 모델을 학습시켰습니다. 각각의 학습은 모두 epoch=50으로 두고 학습하였구요.

예를 들어, 어떤 실험 A를 수행하고 acc를 구했더니 최대 acc가,
0th-fold에서는 epoch=20일 때,
1st-fold에서는 epoch=40일 때,
2nd-fold에서는 epoch=5일 때,
3rd-fold에서는 epoch=45일 때,
4th-fold에서는 epoch=35일 때 나왔다고 합시다.

실험 A의 성능을 실험 B와 비교하고 싶어서 실험 A의 최종 acc를 구하고자 한다면,
1) 각 fold마다 최대acc가 나왔던 epoch(순서대로 20, 40, 5, 45, 35)에서의 acc값의 mean을 구하면 되는 것인가요?
2) 혹은 epoch=1 일 때 모든 fold의 acc의 평균을 구하고, epoch=2일 때 모든 fold의 acc의 평균을 구하고, ... 이런 식으로 epoch = '1~50'일 때 매 epoch마다 구해놓은 평균들(총 50개) 중 가장 높은 값을 구해서 그것을 실험 A의 최종 acc로 써야하나요?

긴글 읽어주셔서 감사합니다.

카카오 계정과 연동하여 게시글에 달린
댓글 알람, 소식등을 빠르게 받아보세요

댓글 5개

칠칠맞은 레온하르트 오일러*

2021.09.07

2

대댓글 1개

해당 댓글을 보려면 로그인이 필요합니다. 로그인하기

2021.09.07

아뇨, internal validation을 하고 계시고 independent test data가 없다고 하면 최대 성능을 보는 건 치팅입니다.
Train data로만 early stopping하던가 test data 따로 만들고, 남은 train 데이터를 5-fold CV하여서 validation performance metric으로 early stopping하시면 됩니다.

대댓글 1개

해당 댓글을 보려면 로그인이 필요합니다. 로그인하기

2021.09.07

최종 성능 평가는 테스트 데이터셋으로 구하세요
학회나 저널에서 억셉되더라도 연구자들의 평가는 성능 좋아보이게 하기 위함 혹은 제대로 연구안했다고 판단하기 쉽습니다.
만약 따로 테스트데이터셋 구하기 힘들면 마지막 epoch 로 성능 평가내세요.
서로 다른 epoch로 성능 좋을때 쓴다는건 윗 댓글대로 치팅입니다.

댓글쓰기

게시판 목록으로 돌아가기

김박사넷의 새로운 거인, 인공지능 김GPT가 추천하는 게시물로 더 멀리 바라보세요.

자유 게시판(아무개랩)에서 핫한 인기글은?

자유 게시판(아무개랩)에서 최근 댓글이 많이 달린 글

🔥 시선집중 핫한 인기글

최근 댓글이 많이 달린 글