compute_class_weight
If “balanced”, class weights will be given by n_samples / (n_classes * np.bincount(y)). If a dictionary is given, keys are classes and values are corresponding class weights. If None is given, the class weights will be uniform.
scikit-learn.org
첫댓글 1. 학습률이 코드상이나 수동으로 업데이트 되었을 수도 있습니다.
관련 링크 : https://stats.stackexchange.com/questions/300839/what-causes-sudden-drops-in-training-test-errors-when-training-a-neural-network
2. 모델이 학습 난관을 극복하고 더 나은 해법을 찾은 "질적 도약"일 가능성이 높다고 합니다. (국소 최소점을 벗어나는 최적화 동작이나 모델 내부 표현의 위상 전이)
실제로 아래 논문에서 훈련 절차나 하이퍼파라미터 변화 없이 손실이 급락하였고, 이게 모델이 그 시점에 문제 구조를 파악했기 때문이라고 분석한 논문이 있습니다.
논문 링크 : https://openreview.net/pdf?id=MO5PiKHELW#:~:text=%28Section%204,3%29%201
3. 러니레이트는 알고리즘에 의해 자동으로 업데이트 되기 때문에 러닝레이트가 갑자기 변화하면서 그래프상에 갑작스런 감소가 발생할 가능성, 러닝레이트를 모니터링 필요