모델 성능 향상 - yojulab/learn_deeplearning GitHub Wiki
성능 향상 위한 과정
데이터 증가: 더 많은 훈련 데이터를 사용하면 모델이 더 일반화된 패턴을 학습하는 데 도움이 됩니다.
모델 복잡도 줄이기: 더 단순한 모델을 사용하거나, 모델의 파라미터 수를 줄이는 것이 과적합을 방지하는 데 도움이 될 수 있습니다.
정규화 기법 사용: L1, L2 정규화와 같은 기법을 사용하여 모델이 훈련 데이터에 과적합되는 것을 방지합니다.
교차 검증(Cross-validation): 데이터를 여러 부분집합으로 나누고, 이 중 일부를 훈련에, 나머지를 검증에 사용하여 모델의 일반화 능력을 평가합니다.
조기 종료(Early Stopping): 훈련 과정에서 검증 세트의 성능이 더 이상 개선되지 않을 때 훈련을 조기에 중단합니다.
### 과대작합인 모델 얻기
> 학습 횟수 늘어도 손실값 멈춤 : 옵티마이커 선택, 모델 가중치 초깃값 분포, 주로 **학습률, 배치 크기** 변화 줌.
> 검증 지표가 일반화 되지 않음 : 데이터셋 타겟 비율, 문제 맞는 모델 여부
> 일반화는 되었으나 일정 부분부터 검증 지표 변화 없음 : 용량이 더 큰 모델로 적용
일반화 성능 향상 하기
데이터셋 큐레이션 : 데이터 양 증가, 데이터 이상치 확인과 레이블 교정, 누락 값 처리. 특성 공학 활용 : 문제를 단순화 해서 데이터를 특성 맞게 변화. 좋은 특성은 적은 자원으로 해결 가능. 학습 조기 종료 모델 규제 하기 : 경계 곡선을 부드럽게 함. 데이터 잠재 매니폴드에 근사. 작은 모델 사용 드롭 아웃 사용 : 대규모 모델 사용