1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 금융 분야 Machine Learning

Connected

연습 문제

드롭아웃으로 과적합 줄이기

신경망에서 흔히 발생하는 문제는 학습 데이터에 과적합되기 쉽다는 점입니다. 즉, R$^2$나 accuracy 같은 평가지표가 학습 세트에서는 높지만 테스트나 검증 세트에서는 낮아지고, 모델이 학습 데이터의 노이즈에까지 맞춰 버리는 현상입니다.

드롭아웃을 사용하면 과적합을 줄일 수 있어요. 드롭아웃은 학습 단계에서 일부 뉴런을 무작위로 비활성화하여, 네트워크가 학습 데이터의 노이즈에 맞추는 것을 방지합니다. keras에는 이를 위한 Dropout 레이어가 있습니다. 여기서 드롭아웃 비율, 즉 학습 중에 끊을 연결의 비율을 설정해야 하며, Dropout() 레이어에서 0과 1 사이의 소수로 지정합니다.

이번 모델에서는 손실 함수를 평균제곱오차(mean squared error)로 다시 설정하겠습니다.

지침

100 XP
  • 모델의 첫 번째 Dense 레이어 다음에 드롭아웃 레이어(Dropout())를 추가하고, 드롭아웃 비율을 20%(0.2)로 설정하세요.
  • .compile()에서 옵티마이저는 adam, 손실 함수는 mse를 사용하세요.
  • scaled_train_features와 train_targets로 모델을 25 epoch 동안 학습(fit)하세요.