분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
데이터 증량 없이 CNN 학습 (public : 0.8478)
데이터 증량 없이 현재 주어진 데이터를 가지고 CNN을 학습하면 얼만큼의 성적을 거둘 수 있는지 궁금해서 작성해 보았습니다.
베이스 라인 코드를 기반으로 작성했습니다. 도움이 되길 바랍니다!
맞습니다...! 원래 validation set을 train에 사용하면 안되지만, 개인적으로 하나의 모델에 k-fold을 적용시키면 얼마나 성능이 나올까? 라는 의문을 해결하고자 하나의 model에서 진행 하였습니다..! 그런데 생각보다 test data 에서도 성능이 어느정도는 나와 신기하네요..!
안녕하세요, lastdefiance20님, 질문할 것이 있어서 답글 드립니다.
데이콘을 찾아보니 lastdefiance20님의 말처럼 각 폴드 당 서로 다른 모델을 학습시켜서 앙상블을 하거나 모든 폴드 중 validation error가 가장 낮은 모델을 최종적으로 사용하는 KFold 방식도 있고, 현재 이 코드처럼 그냥 하나의 모델에 각 폴드를 계속 fit 시키는 코드도 존재하는 것을 보았습니다.
이러한 두 KFold는 서로 용도가 다른 것인가요, 아니면 하나의 모델에 계속 fit 시키는 방식이 그냥 틀린것인가요? KFold에 대해 혼란이 생겨 질문드립니다..
https://dacon.io/competitions/official/235862/codeshare/4071
예를들어, 위의 KFold는 하나의 모델에 계속 fit을 시키는 것으로 보입니다.
kfold만 해줘도 상승했다니 신기하네요
데이터 수가 부족했나 보네요
5 fold중 어떤 fold를 test 제출하셨나요?
음... 어떤 fold를 제출했냐는게 어떤 의미인지 모르겠습니다.. '하나'의 모델에 k-fold로 데이터 셋을 나눠 학습진행하였습니다. 즉, 5개의 fold를 한개의 모델에 학습하는데 사용했습니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
글 잘 읽었습니다. 데이터 증량 없이도 가벼운 모델을 사용하셨는데 성능이 꽤나 나오네요
다만 k-fold 해주는 부분에서 계속 똑같은 모델에 fit을 해주는 바람에 validation set의 의미가 사라진것 같습니다. validation set는 학습에 사용되지 않아야 하기 때문입니다.
이 코드에서는 k-fold로 새롭게 train과 validation set을 뽑으면서 그 전에 뽑았던 학습 데이터를 사용한 model에 사용하여 결국에는 train과 validation set이 모두 fit되어 학습되었습니다. 따라서 validation set이 학습에 사용되어 val-accuracy가 계속 상승하는 모습이 나타나고 있습니다. (train-accuracy와 다를바가 없음)
https://ganghee-lee.tistory.com/38 여기에 validation set의 의미가 잘 설명되어 있습니다.