선생님, 질문이 있습니다.
161
작성한 질문수 72
epoch 횟수를 증가시키면 증가시킬수록 당연히 최적의
파라미터 벡터를 찾아낼 수 있을테지만 그에 따라 과적합의 문제도 발생할 수 있잖아요?
그래서 만일 오차율이 이전 epoch보다 더 커지는 시점이 오게 되면 학습을 중지시키는 것이구요, 이게 earlystopping일텐데 보통 이런 경우에서만 놓고보면 iter_epoch가 증가함에 따라 과적합 / 최적 파라미터를 찾는 과정?이 반비례의 양상을 띄게 되잖아요?
그런데 earlystopping의 요지는 어디까지나 경험적으로 이전의 오차값과의 비교를 통해 과적합이 될 것 같으면 학습을 중지시킨다는 것인데,
만일 N차원의 그래프에서는 이 '학습의 중지'가 단지 국소적인 부분일 수도 있는 가능성이 있잖아요?
다시 말해1
전체 양상의 일부만을 놓고봤을 때에는 일시적으로 오차율이 증가했을 수도 있는데, 이런 문제는 어떻게 처리를 하나요?
다시 말해2
인간은 전체 그래프를 볼 수 있어서 더욱 알맞는 파라미터 벡터를 찾아낼 수도 있을 가능성을 알고 있을 텐데도 불구하고, 모델은 early stopping에 의거하면 단지 일부만의 오차 증가일 뿐인데, 그 오차 증가를 캐치하는 바람에(지금까지의 학습 경험에 의거) 적절하지 못한 시점에서 학습을 중단하게 될 수도 있을텐데, 이 문제는 어떻게 처리할 수 있는지 궁금합니다.
답변 1
0
early stopping이 무조건 과적합을 개선하기 위함은 아닙니다.
early stopping은 학습 epoch수행시 마다 학습 데이터가 아닌 (보통은) 검증 데이터를 기반으로 이전 epoch대비 loss나 성능 metric이 얼마나 개선되고 있는지, 오히려 악화되고 있는지를 확인하면서 더 이상 학습을 진행하지 않고 종료하는 방식입니다. 이런 방식을 통해 자연스럽게 과적합을 개선할 수 있는 기능을 하게 됩니다.
즉 학습데이터로 계속해서 loss/metric이 좋아지지만, 검증 데이터에서는 오히려 악화되는 학습 epoch진행이 계속된다면 이를 중지하면서 더 이상 과적합을 개선 할 수있는 역할을 수행할 수 있습니다.
다만 early stopping을 적용하더라도 검증 데이터에서 지속적으로 성능이 좋아지는 부분이 국소 구간에 해당 될 수는 있지만, 보통은 early stopping을 검증 데이터에 적용하므로 상대적으로 이럴 가능성이 줄어들게 됩니다.
감사합니다.
resize 질문
0
60
1
20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅
0
86
1
Loss와 매트릭 관계
0
75
2
Boston 코랩 실습
0
170
2
배치 정규화의 이해와 적용 2 강의 질문
0
143
2
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
0
151
2
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
0
212
2
소프트맥스 관련 질문입니다
0
214
1
강의 관련 질문입니다
0
161
2
residual block과 identity block의 차이
0
199
2
옵티마이저와 경사하강법의 차이가 궁금합니다.
1
250
1
실습 환경
0
171
2
입력 이미지 크기
0
256
2
데이터 증강
0
203
2
albumentations ShiftScaleRotate
0
210
1
Model Input Size 관련
0
292
1
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
0
206
1
일반적인 질문 (kaggle notebook사용)
0
274
2
실무에서 Augmentation 적용 시
0
346
2
안녕하세요 교수님
0
235
1
가중치 초기화(Weight Initialization) 질문입니다.
0
332
1
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
0
412
1
학습이 이상하게 됩니다.
2
1040
2
boston import가 안됩니다
0
230
1





